SDL  2.0
Modules
Here is a list of all modules:
 The org_kde_kwin_server_decoration_manager interfaceThis interface allows to coordinate whether the server should create a server-side window decoration around a wl_surface representing a shell surface (wl_shell_surface or similar). By announcing support for this interface the server indicates that it supports server side decorations
 The org_kde_kwin_server_decoration interface
 The zwp_pointer_constraints_v1 interfaceThe global interface exposing pointer constraining functionality. It exposes two requests: lock_pointer for locking the pointer to its position, and confine_pointer for locking the pointer to a region
 The zwp_locked_pointer_v1 interfaceThe wp_locked_pointer interface represents a locked pointer state
 The zwp_confined_pointer_v1 interfaceThe wp_confined_pointer interface represents a confined pointer state
 The zwp_relative_pointer_manager_v1 interfaceA global interface used for getting the relative pointer object for a given pointer
 The zwp_relative_pointer_v1 interfaceA wp_relative_pointer object is an extension to the wl_pointer interface used for emitting relative pointer events. It shares the same focus as wl_pointer objects of the same seat and will only emit events when it has focus
 The wl_display interfaceThe core global object. This is a special singleton object. It is used for internal Wayland protocol features
 The wl_registry interfaceThe singleton global registry object. The server has a number of global objects that are available to all clients. These objects typically represent an actual object in the server (for example, an input device) or they are singleton objects that provide extension functionality
 The wl_callback interfaceClients can handle the 'done' event to get notified when the related request is done
 The wl_compositor interfaceA compositor. This object is a singleton global. The compositor is in charge of combining the contents of multiple surfaces into one displayable output
 The wl_shm_pool interfaceThe wl_shm_pool object encapsulates a piece of memory shared between the compositor and client. Through the wl_shm_pool object, the client can allocate shared memory wl_buffer objects. All objects created through the same pool share the same underlying mapped memory. Reusing the mapped memory avoids the setup/teardown overhead and is useful when interactively resizing a surface or for many small buffers
 The wl_shm interfaceA singleton global object that provides support for shared memory
 The wl_buffer interfaceA buffer provides the content for a wl_surface. Buffers are created through factory interfaces such as wl_drm, wl_shm or similar. It has a width and a height and can be attached to a wl_surface, but the mechanism by which a client provides and updates the contents is defined by the buffer factory interface
 The wl_data_offer interfaceA wl_data_offer represents a piece of data offered for transfer by another client (the source client). It is used by the copy-and-paste and drag-and-drop mechanisms. The offer describes the different mime types that the data can be converted to and provides the mechanism for transferring the data directly from the source client
 The wl_data_source interfaceThe wl_data_source object is the source side of a wl_data_offer. It is created by the source client in a data transfer and provides a way to describe the offered data and a way to respond to requests to transfer the data
 The wl_data_device interfaceThere is one wl_data_device per seat which can be obtained from the global wl_data_device_manager singleton
 The wl_data_device_manager interfaceThe wl_data_device_manager is a singleton global object that provides access to inter-client data transfer mechanisms such as copy-and-paste and drag-and-drop. These mechanisms are tied to a wl_seat and this interface lets a client get a wl_data_device corresponding to a wl_seat
 The wl_shell interfaceThis interface is implemented by servers that provide desktop-style user interfaces
 The wl_shell_surface interfaceAn interface that may be implemented by a wl_surface, for implementations that provide a desktop-style user interface
 The wl_surface interfaceA surface is a rectangular area that is displayed on the screen. It has a location, size and pixel contents
 The wl_seat interfaceA seat is a group of keyboards, pointer and touch devices. This object is published as a global during start up, or when such a device is hot plugged. A seat typically has a pointer and maintains a keyboard focus and a pointer focus
 The wl_pointer interfaceThe wl_pointer interface represents one or more input devices, such as mice, which control the pointer location and pointer_focus of a seat
 The wl_keyboard interfaceThe wl_keyboard interface represents one or more keyboards associated with a seat
 The wl_touch interfaceThe wl_touch interface represents a touchscreen associated with a seat
 The wl_output interfaceAn output describes part of the compositor geometry. The compositor works in the 'compositor coordinate system' and an output corresponds to a rectangular area in that space that is actually visible. This typically corresponds to a monitor that displays part of the compositor space. This object is published as global during start up, or when a monitor is hotplugged
 The wl_region interfaceA region object describes an area
 The wl_subcompositor interfaceThe global interface exposing sub-surface compositing capabilities. A wl_surface, that has sub-surfaces associated, is called the parent surface. Sub-surfaces can be arbitrarily nested and create a tree of sub-surfaces
 The wl_subsurface interfaceAn additional interface to a wl_surface object, which has been made a sub-surface. A sub-surface has one parent surface. A sub-surface's size and position are not limited to that of the parent. Particularly, a sub-surface is not automatically clipped to its parent's area
 The zxdg_decoration_manager_v1 interfaceThis interface allows a compositor to announce support for server-side decorations
 The zxdg_toplevel_decoration_v1 interfaceThe decoration object allows the compositor to toggle server-side window decorations for a toplevel surface. The client can request to switch to another mode
 The xdg_wm_base interfaceThe xdg_wm_base interface is exposed as a global object enabling clients to turn their wl_surfaces into windows in a desktop environment. It defines the basic functionality needed for clients and the compositor to create windows that can be dragged, resized, maximized, etc, as well as creating transient windows such as popup menus
 The xdg_positioner interfaceThe xdg_positioner provides a collection of rules for the placement of a child surface relative to a parent surface. Rules can be defined to ensure the child surface remains within the visible area's borders, and to specify how the child surface changes its position, such as sliding along an axis, or flipping around a rectangle. These positioner-created rules are constrained by the requirement that a child surface must intersect with or be at least partially adjacent to its parent surface
 The xdg_surface interfaceAn interface that may be implemented by a wl_surface, for implementations that provide a desktop-style user interface
 The xdg_toplevel interfaceThis interface defines an xdg_surface role which allows a surface to, among other things, set window-like properties such as maximize, fullscreen, and minimize, set application-specific metadata like title and id, and well as trigger user interactive operations such as interactive resize and move
 The xdg_popup interfaceA popup surface is a short-lived, temporary surface. It can be used to implement for example menus, popovers, tooltips and other similar user interface concepts
 The zxdg_shell_v6 interfaceXdg_shell allows clients to turn a wl_surface into a "real window" which can be dragged, resized, stacked, and moved around by the user. Everything about this interface is suited towards traditional desktop environments
 The zxdg_positioner_v6 interfaceThe xdg_positioner provides a collection of rules for the placement of a child surface relative to a parent surface. Rules can be defined to ensure the child surface remains within the visible area's borders, and to specify how the child surface changes its position, such as sliding along an axis, or flipping around a rectangle. These positioner-created rules are constrained by the requirement that a child surface must intersect with or be at least partially adjacent to its parent surface
 The zxdg_surface_v6 interfaceAn interface that may be implemented by a wl_surface, for implementations that provide a desktop-style user interface
 The zxdg_toplevel_v6 interfaceThis interface defines an xdg_surface role which allows a surface to, among other things, set window-like properties such as maximize, fullscreen, and minimize, set application-specific metadata like title and id, and well as trigger user interactive operations such as interactive resize and move
 The zxdg_popup_v6 interfaceA popup surface is a short-lived, temporary surface. It can be used to implement for example menus, popovers, tooltips and other similar user interface concepts
 hidapi API