Skip to content

Add ext-workspace-unstable

Ilia Bozhinov requested to merge ammen99/wayland-protocols:master into main

This is an updated version of the wlr-workspace-unstable-v1 protocol. Original work here: https://github.com/swaywm/wlr-protocols/pull/35

Pending PRs for implementation in compositors (wlroots, Wayfire, Sway): https://github.com/swaywm/wlroots/pull/2357 https://github.com/WayfireWM/wayfire/pull/647 https://github.com/swaywm/sway/pull/5597

There is also a person who is starting/has started to implement this protocol in Waybar: https://github.com/Alexays/Waybar/issues/762, I will update this MR with a link to it as soon as it is ready.

Note that the protocol inside is still in the zwlr namespace, which I will obviously rename to ext if the protocol is approved.

The intention of the protocol is to expose information about workspaces in the compositor and associate them with outputs:

  • A compositor exposes one or more workspace groups
  • Each workspace group is comprised of several workspaces
  • Each workspace group is "visible" on a few outputs

For example, in Wayfire, there is one workspace group per output, because the workspaces on each output are independent.

In GNOME, one would probably also have a workspace group per output, and all of them except the primary output's workspace group will have just one workspace.

Clients would be able to use this protocol to implement workspace switching widgets in panels, command line tools used to focus a workspace and similar. This would also make it possible to modify the wlr-foreign-toplevel-management protocol understand on which workspace(s) toplevels are visible.

Edited by Ilia Bozhinov

Merge request reports