ext_workspace_manager_v1¤
wayland.ext_workspace_manager_v1 ¤
List and control workspaces
Workspaces, also called virtual desktops, are groups of surfaces. A compositor with a concept of workspaces may only show some such groups of surfaces (those of 'active' workspaces) at a time. 'Activating' a workspace is a request for the compositor to display that workspace's surfaces as normal, whereas the compositor may hide or otherwise de-emphasise surfaces that are associated only with 'inactive' workspaces. Workspaces are grouped by which sets of outputs they correspond to, and may contain surfaces only from those outputs. In this way, it is possible for each output to have its own set of workspaces, or for all outputs (or any other arbitrary grouping) to share workspaces. Compositors may optionally conceptually arrange each group of workspaces in an N-dimensional grid.
The purpose of this protocol is to enable the creation of taskbars and docks by providing them with a list of workspaces and their properties, and allowing them to activate and deactivate workspaces.
After a client binds the ext_workspace_manager_v1, each workspace will be sent via the workspace event.
Methods:
-
commit
–All requests about the workspaces have been sent
-
stop
–Stop sending events
-
on_workspace_group
–A workspace group has been created.
-
on_workspace
–Workspace has been created.
-
on_done
–All information about the workspaces and workspace groups has been sent.
-
on_finished
–The compositor has finished with the
workspace_manager
.
events
workspace_group ¤
workspace_group(workspace_group: ext_workspace_group_handle_v1) -> None
A workspace group has been created
This event is emitted whenever a new workspace group has been created.
All initial details of the workspace group (outputs) will be sent immediately after this event via the corresponding events in ext_workspace_group_handle_v1 and ext_workspace_handle_v1.
workspace ¤
workspace(workspace: ext_workspace_handle_v1) -> None
Workspace has been created
This event is emitted whenever a new workspace has been created.
All initial details of the workspace (name, coordinates, state) will be sent immediately after this event via the corresponding events in ext_workspace_handle_v1.
Workspaces start off unassigned to any workspace group.
done ¤
done() -> None
All information about the workspaces and workspace groups has been sent
This event is sent after all changes in all workspaces and workspace groups have been sent.
This allows changes to one or more ext_workspace_group_handle_v1 properties and ext_workspace_handle_v1 properties to be seen as atomic, even if they happen via multiple events. In particular, an output moving from one workspace group to another sends an output_enter event and an output_leave event to the two ext_workspace_group_handle_v1 objects in question. The compositor sends the done event only after updating the output information in both workspace groups.
finished ¤
finished() -> None
The compositor has finished with the workspace_manager
This event indicates that the compositor is done sending events to the ext_workspace_manager_v1. The server will destroy the object immediately after sending this request.
commit ¤
commit() -> None
All requests about the workspaces have been sent
The client must send this request after it has finished sending other requests. The compositor must process a series of requests preceding a commit request atomically.
This allows changes to the workspace properties to be seen as atomic, even if they happen via multiple events, and even if they involve multiple ext_workspace_handle_v1 objects, for example, deactivating one workspace and activating another.
stop ¤
stop() -> None
Stop sending events
Indicates the client no longer wishes to receive events for new workspace groups. However the compositor may emit further workspace events, until the finished event is emitted. The compositor is expected to send the finished event eventually once the stop request has been processed.
The client must not send any requests after this one, doing so will raise a wl_display invalid_object error.
on_workspace_group ¤
on_workspace_group(workspace_group: ext_workspace_group_handle_v1) -> None
A workspace group has been created.
Override to handle wayland.ext_workspace_manager_v1.events.workspace_group
.
on_workspace ¤
on_workspace(workspace: ext_workspace_handle_v1) -> None
Workspace has been created.
Override to handle wayland.ext_workspace_manager_v1.events.workspace
.
on_done ¤
on_done() -> None
All information about the workspaces and workspace groups has been sent.
Override to handle wayland.ext_workspace_manager_v1.events.done
.
on_finished ¤
on_finished() -> None
The compositor has finished with the workspace_manager
.
Override to handle wayland.ext_workspace_manager_v1.events.finished
.