OnDoc
| sign
in
up
~
pub
|
pdf
txt
html
toc
url
|
<<
>>
1
2
3
4
5
6
7
8
~
86
Table of Contents
Wayland
Table of Contents
Preface
Acknowledgments
Chapter 1. Introduction
1.1. Motivation
1.2. The compositing manager as the display server
Chapter 2. Types of Compositors
2.1. System Compositor
2.2. Session Compositor
2.3. Embedding Compositor
Chapter 3. Wayland Architecture
3.1. X vs. Wayland Architecture
3.2. Wayland Rendering
3.3. Hardware Enabling for Wayland
Chapter 4. Wayland Protocol and Model of Operation
4.1. Basic Principles
4.2. Code Generation
4.3. Wire Format
4.4. Interfaces
4.5. Versioning
4.6. Connect Time
4.7. Security and Authentication
4.8. Creating Objects
4.9. Compositor
4.10. Surfaces
4.11. Input
4.12. Output
4.13. Data sharing between clients
4.13.1. Data negotiation
4.13.2. Data devices
4.13.2.1. Selection
4.13.2.2. Drag and Drop
Appendix A. Wayland Protocol Specification
A.1. wl_display - core global object
A.1.1. Requests provided by wl_display
A.1.1.1. wl_display::sync - asynchronous roundtrip
A.1.1.2. wl_display::get_registry - get global registry object
A.1.2. Events provided by wl_display
A.1.2.1. wl_display::error - fatal error event
A.1.2.2. wl_display::delete_id - acknowledge object ID deletion
A.1.3. Enums provided by wl_display
A.1.3.1. wl_display::error - global error values
A.2. wl_registry - global registry object
A.2.1. Requests provided by wl_registry
A.2.1.1. wl_registry::bind - bind an object to the display
A.2.2. Events provided by wl_registry
A.2.2.1. wl_registry::global - announce global object
A.2.2.2. wl_registry::global_remove - announce removal of global object
A.3. wl_callback - callback object
A.3.1. Events provided by wl_callback
A.3.1.1. wl_callback::done - done event
A.4. wl_compositor - the compositor singleton
A.4.1. Requests provided by wl_compositor
A.4.1.1. wl_compositor::create_surface - create new surface
A.4.1.2. wl_compositor::create_region - create new region
A.5. wl_shm_pool - a shared memory pool
A.5.1. Requests provided by wl_shm_pool
A.5.1.1. wl_shm_pool::create_buffer - create a buffer from the pool
A.5.1.2. wl_shm_pool::destroy - destroy the pool
A.5.1.3. wl_shm_pool::resize - change the size of the pool mapping
A.6. wl_shm - shared memory support
A.6.1. Requests provided by wl_shm
A.6.1.1. wl_shm::create_pool - create a shm pool
A.6.2. Events provided by wl_shm
A.6.2.1. wl_shm::format - pixel format description
A.6.3. Enums provided by wl_shm
A.6.3.1. wl_shm::error - wl_shm error values
A.6.3.2. wl_shm::format - pixel formats
A.7. wl_buffer - content for a wl_surface
A.7.1. Requests provided by wl_buffer
A.7.1.1. wl_buffer::destroy - destroy a buffer
A.7.2. Events provided by wl_buffer
A.7.2.1. wl_buffer::release - compositor releases buffer
A.8. wl_data_offer - offer to transfer data
A.8.1. Requests provided by wl_data_offer
A.8.1.1. wl_data_offer::accept - accept one of the offered mime types
A.8.1.2. wl_data_offer::receive - request that the data is transferred
A.8.1.3. wl_data_offer::destroy - destroy data offer
A.8.2. Events provided by wl_data_offer
A.8.2.1. wl_data_offer::offer - advertise offered mime type
A.9. wl_data_source - offer to transfer data
A.9.1. Requests provided by wl_data_source
A.9.1.1. wl_data_source::offer - add an offered mime type
A.9.1.2. wl_data_source::destroy - destroy the data source
A.9.2. Events provided by wl_data_source
A.9.2.1. wl_data_source::target - a target accepts an offered mime type
A.9.2.2. wl_data_source::send - send the data
A.9.2.3. wl_data_source::cancelled - selection was cancelled
A.10. wl_data_device - data transfer device
A.10.1. Requests provided by wl_data_device
A.10.1.1. wl_data_device::start_drag - start drag-and-drop operation
A.10.1.2. wl_data_device::set_selection - copy data to the selection
A.10.2. Events provided by wl_data_device
A.10.2.1. wl_data_device::data_offer - introduce a new wl_data_offer
A.10.2.2. wl_data_device::enter - initiate drag-and-drop session
A.10.2.3. wl_data_device::leave - end drag-and-drop session
A.10.2.4. wl_data_device::motion - drag-and-drop session motion
A.10.2.5. wl_data_device::drop - end drag-and-drag session successfully
A.10.2.6. wl_data_device::selection - advertise new selection
A.11. wl_data_device_manager - data transfer interface
A.11.1. Requests provided by wl_data_device_manager
A.11.1.1. wl_data_device_manager::create_data_source - create a new data source
A.11.1.2. wl_data_device_manager::get_data_device - create a new data device
A.12. wl_shell - create desktop-style surfaces
A.12.1. Requests provided by wl_shell
A.12.1.1. wl_shell::get_shell_surface - create a shell surface from a surface
A.13. wl_shell_surface - desktop-style metadata interface
A.13.1. Requests provided by wl_shell_surface
A.13.1.1. wl_shell_surface::pong - respond to a ping event
A.13.1.2. wl_shell_surface::move - start an interactive move
A.13.1.3. wl_shell_surface::resize - start an interactive resize
A.13.1.4. wl_shell_surface::set_toplevel - make the surface a toplevel surface
A.13.1.5. wl_shell_surface::set_transient - make the surface a transient surface
A.13.1.6. wl_shell_surface::set_fullscreen - make the surface a fullscreen surface
A.13.1.7. wl_shell_surface::set_popup - make the surface a popup surface
A.13.1.8. wl_shell_surface::set_maximized - make the surface a maximized surface
A.13.1.9. wl_shell_surface::set_title - set surface title
A.13.1.10. wl_shell_surface::set_class - set surface class
A.13.2. Events provided by wl_shell_surface
A.13.2.1. wl_shell_surface::ping - ping client
A.13.2.2. wl_shell_surface::configure - suggest resize
A.13.2.3. wl_shell_surface::popup_done - popup interaction is done
A.13.3. Enums provided by wl_shell_surface
A.13.3.1. wl_shell_surface::resize - edge values for resizing
A.13.3.2. wl_shell_surface::transient - details of transient behaviour
A.13.3.3. wl_shell_surface::fullscreen_method - different method to set the surface fullscreen
A.14. wl_surface - an onscreen surface
A.14.1. Requests provided by wl_surface
A.14.1.1. wl_surface::destroy - delete surface
A.14.1.2. wl_surface::attach - set the surface contents
A.14.1.3. wl_surface::damage - mark part of the surface damaged
A.14.1.4. wl_surface::frame - request repaint feedback
A.14.1.5. wl_surface::set_opaque_region - set opaque region
A.14.1.6. wl_surface::set_input_region - set input region
A.14.1.7. wl_surface::commit - commit pending surface state
A.14.1.8. wl_surface::set_buffer_transform - sets the buffer transformation
A.14.1.9. wl_surface::set_buffer_scale - sets the buffer scaling factor
A.14.2. Events provided by wl_surface
A.14.2.1. wl_surface::enter - surface enters an output
A.14.2.2. wl_surface::leave - surface leaves an output
A.15. wl_seat - group of input devices
A.15.1. Requests provided by wl_seat
A.15.1.1. wl_seat::get_pointer - return pointer object
A.15.1.2. wl_seat::get_keyboard - return keyboard object
A.15.1.3. wl_seat::get_touch - return touch object
A.15.2. Events provided by wl_seat
A.15.2.1. wl_seat::capabilities - seat capabilities changed
A.15.2.2. wl_seat::name - unique identifier for this seat
A.15.3. Enums provided by wl_seat
A.15.3.1. wl_seat::capability - seat capability bitmask
A.16. wl_pointer - pointer input device
A.16.1. Requests provided by wl_pointer
A.16.1.1. wl_pointer::set_cursor - set the pointer surface
A.16.1.2. wl_pointer::release - release the pointer object
A.16.2. Events provided by wl_pointer
A.16.2.1. wl_pointer::enter - enter event
A.16.2.2. wl_pointer::leave - leave event
A.16.2.3. wl_pointer::motion - pointer motion event
A.16.2.4. wl_pointer::button - pointer button event
A.16.2.5. wl_pointer::axis - axis event
A.16.3. Enums provided by wl_pointer
A.16.3.1. wl_pointer::button_state - physical button state
A.16.3.2. wl_pointer::axis - axis types
A.17. wl_keyboard - keyboard input device
A.17.1. Requests provided by wl_keyboard
A.17.1.1. wl_keyboard::release - release the keyboard object
A.17.2. Events provided by wl_keyboard
A.17.2.1. wl_keyboard::keymap - keyboard mapping
A.17.2.2. wl_keyboard::enter - enter event
A.17.2.3. wl_keyboard::leave - leave event
A.17.2.4. wl_keyboard::key - key event
A.17.2.5. wl_keyboard::modifiers - modifier and group state
A.17.3. Enums provided by wl_keyboard
A.17.3.1. wl_keyboard::keymap_format - keyboard mapping format
A.17.3.2. wl_keyboard::key_state - physical key state
A.18. wl_touch - touchscreen input device
A.18.1. Requests provided by wl_touch
A.18.1.1. wl_touch::release - release the touch object
A.18.2. Events provided by wl_touch
A.18.2.1. wl_touch::down - touch down event and beginning of a touch sequence
A.18.2.2. wl_touch::up - end of a touch event sequence
A.18.2.3. wl_touch::motion - update of touch point coordinates
A.18.2.4. wl_touch::frame - end of touch frame event
A.18.2.5. wl_touch::cancel - touch session cancelled
A.19. wl_output - compositor output region
A.19.1. Events provided by wl_output
A.19.1.1. wl_output::geometry - properties of the output
A.19.1.2. wl_output::mode - advertise available modes for the output
A.19.1.3. wl_output::done - sent all information about output
A.19.1.4. wl_output::scale - output scaling properties
A.19.2. Enums provided by wl_output
A.19.2.1. wl_output::subpixel - subpixel geometry information
A.19.2.2. wl_output::transform - transform from framebuffer to output
A.19.2.3. wl_output::mode - mode information
A.20. wl_region - region interface
A.20.1. Requests provided by wl_region
A.20.1.1. wl_region::destroy - destroy region
A.20.1.2. wl_region::add - add rectangle to region
A.20.1.3. wl_region::subtract - subtract rectangle from region
Chapter 5. Wayland Library
5.1. Client API
5.2. Server API