Skip to content
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

Add support for popup grabs to desktop abstraction #467

Merged
merged 4 commits into from
Jan 23, 2022

Conversation

cmeissl
Copy link
Collaborator

@cmeissl cmeissl commented Jan 15, 2022

The PR adds support for popup grabs to the desktop abstraction.

A popup grab is only allowed before the initial commit, to check for that protocol error the field committed
has been added to the XdgPopupSurfaceRoleAttributes.

To support exclusive keyboard focus a KeyboardGrab similiar to the existing PointerGrab has been added.

During testing i found an issue with the current popup handling that prevents menu popups from working correctly.
If a popup has no grab it should not receive the keyboard focus, for that a WindowSurfaceType has been added
that can be used to filter the surfaces in surfaces_under.

@cmeissl cmeissl force-pushed the feature/popup_grab branch from 1e519be to 444a7f2 Compare January 16, 2022 19:23
Copy link
Member

@Drakulix Drakulix left a comment

Choose a reason for hiding this comment

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

Looks good to me now and seems to follow the spec. Pinging @vberger because this touches a lot of wayland code as well and I am not 100% sure I didn't miss something.

@Drakulix Drakulix requested a review from elinorbgr January 17, 2022 20:33
Copy link
Member

@elinorbgr elinorbgr left a comment

Choose a reason for hiding this comment

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

Sorry for the late review. That looks very neat, thanks a lot!

@elinorbgr elinorbgr merged commit 71fad61 into Smithay:master Jan 23, 2022
@cmeissl cmeissl mentioned this pull request Feb 6, 2022
@cmeissl cmeissl mentioned this pull request Jun 20, 2022
6 tasks
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