Add ext-foreign-toplevel-list protocol
-
Review changes -
-
Download -
Patches
-
Plain diff
This protocol provides a subset of the wlr-foreign-toplevel-management
protocol. In particular this protocol provides a way for privileged clients to get a handle to a toplevel surface that may exist in another process and use the handle in other extension protocols.
This protocol is intentionally minimal as further information to describe a toplevel should be implemented with extension interfaces. For example, a protocol which may manage toplevels would use the handles defined in this protocol to reference the toplevel to set the state of. Another example use case is specifying a toplevel to capture the content of with a screencopy protocol.
An extension protocol to describe the state of a toplevel is being drafted here and uses this protocol: !196
Features provided in the wlr-foreign-toplevel-management
, and the proposed ext-workspace
protocols will be added in a future extension protocol and will use the handle type defined in this protocol.
-
Review: @emersion -
2 implementations: -
Client: lswt: https://git.sr.ht/~leon_plickat/lswt/tree/toplevel-info -
Server: cosmic: https://github.com/pop-os/cosmic-comp/pull/76
-
-
2 ACKs:
From the past revisions of the protocol, the following has been done:
- Add destructor requests to all objects
- Describe how extension protocols should interface with the base protocol
- Restrict the global to a single instance per client.
- Forbid having toplevel handles outlive the global (the handles become inert anyways)
- RFC 2119ify the protocol documentation
Merge request reports
- version 247207bbb4
- version 23fb211ead
- version 22a81228fe
- version 21a3ac7723
- version 2016b81733
- version 194b509a4e
- version 1807028b01
- version 173b30d9c2
- version 16897ba252
- version 15e08d725f
- version 142dac8f44
- version 1376edbd39
- version 123342853b
- version 11e5359aa8
- version 1063ebb1fc
- version 9988be217
- version 85cf21558
- version 7b5c4ebe4
- version 60bd9d55d
- version 54da1de22
- version 48d5ed0b9
- version 3494434de
- version 2f0243105
- version 172f8bc53
- main (base)
- latest versionc06a6c7627 commits,
- version 247207bbb427 commits,
- version 23fb211ead26 commits,
- version 22a81228fe26 commits,
- version 21a3ac772325 commits,
- version 2016b8173324 commits,
- version 194b509a4e23 commits,
- version 1807028b0122 commits,
- version 173b30d9c219 commits,
- version 16897ba25219 commits,
- version 15e08d725f17 commits,
- version 142dac8f4416 commits,
- version 1376edbd3915 commits,
- version 123342853b15 commits,
- version 11e5359aa814 commits,
- version 1063ebb1fc13 commits,
- version 9988be21712 commits,
- version 85cf215587 commits,
- version 7b5c4ebe46 commits,
- version 60bd9d55d6 commits,
- version 54da1de225 commits,
- version 48d5ed0b95 commits,
- version 3494434de4 commits,
- version 2f02431053 commits,
- version 172f8bc533 commits,
- Side-by-side
- Inline