Skip to content

Fix: Keep the active hint below dropdown menus #125 - #124

Merged
oliwebd merged 2 commits into
oliwebd:mainfrom
benleppke:fix/active-hint-dropdown-zorder
Oct 29, 2026
Merged

oliwebd merged 2 commits into
oliwebd:mainfrom
benleppke:fix/active-hint-dropdown-zorder

Conversation

@benleppke

@benleppke benleppke commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Problem

Some Wayland popups (such as Firefox dropdown menus) do not take a seat grab. Because of this Mutter does not focus them or raise them above the active hint, causing the hint to render on top of the popup.

Screenshot From 2026-10-27 15-50-12 Screenshot From 2026-10-27 15-50-32

You can reproduce this by launching a native Wayland window (not XWayland) such as Firefox and opening a dropdown menu that extends beyond the window border.

Fix

An adjustment to how window layers are ordered so that borders are correctly placed on top:

  • Moved the inline border-stacking logic into stack_border_above_window()
  • Added a listener for the display's restacked signal (Meta.Display::restacked) that triggers reassert_focused_hint_stack().

This ensures borders re-apply their correct stacking position (staying above the window and below popups) when the window manager rearranges layers.

Screenshot From 2026-10-27 15-52-00 Screenshot From 2026-10-27 15-52-11

Testing was done with v2.12.01 on Fedora44/GNOME 50.6

Closes #125

Move the border z-order bookkeeping out of restack() into
stack_border_above_window(). No behavior change.
Some Wayland popups, such as Firefox menus, do not take a seat grab.
Mutter therefore does not focus and raise them above the foreign hint
actor, leaving the hint drawn on top of the popup.

The existing window_created restack can run before the popup actor is in
the window stack. Re-stack the focused hint from display::restacked,
after Mutter has finished ordering.

GTK menus take a seat grab and are raised above the hint, so they are
unaffected.

Focused window only; overlay-all is unchanged.
@benleppke
benleppke marked this pull request as ready for review October 27, 2026 22:56
@benleppke

benleppke commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor Author

Looks like #113 touches the same ShellWindow.restack() function to address a different bug. These changes rebase cleanly on top of it.

@oliwebd oliwebd changed the title Fix: Keep the active hint below dropdown menus Fix: Keep the active hint below dropdown menus #125 Oct 29, 2026
@oliwebd
oliwebd merged commit 85f2cd0 into oliwebd:main Oct 29, 2026
4 checks passed
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.

Active hint renders above dropdown menus

2 participants