Skip to content

Add workspace toplevel management protocol. #5

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

outfoxxed
Copy link
Member

This protocol allows for management of toplevels on ext-workspace workspaces. This is particularly useful for virtual desktop overview UIs and such.

@outfoxxed outfoxxed mentioned this pull request May 23, 2025
Comment on lines +170 to +172
This request asks the compositor to remove the given toplevel from the workspace.
Compositor policy dictates if this involves removing the toplevel from
another workspace.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess this request is more for tag systems where one toplevel can be a part of multiple tags? Otherwise removing a toplevel from a workspace doesn't seem to make much sense

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, similarly to ext-workspace, the intent is to support both tags and conventional workspaces.

Comment on lines +123 to +143
<event name="enter">
<description summary="a toplevel has entered the workspace">
A toplevel has entered this workspace.

This event is transactional and should not be acted upon until
the 'ext_workspace_manager_v1.done' event is received.
</description>

<arg name="toplevel" type="object" interface="ext_foreign_toplevel_handle_v1"/>
</event>

<event name="leave">
<description summary="a toplevel has left the workspace">
A toplevel has left this workspace.

This event is transactional and should not be acted upon until
the 'ext_workspace_manager_v1.done' event is received.
</description>

<arg name="toplevel" type="object" interface="ext_foreign_toplevel_handle_v1"/>
</event>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure I'm a big fan of these duplicate enter/leave events across different protocols. Especially if the protocols are meant to be interlinked. Maybe it can be designed without duplication somehow?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you're referring to the toplevel geometry one, there is some duplication yes. Maybe we should derive the workspace toplevel geometry object from the workspace toplevel management object?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants