Skip to content

fix: activate stacked windows without redundant raising - #1825

Open
philip-sterne wants to merge 1 commit into
pop-os:master_noblefrom
philip-sterne:agent/stack-tab-activation
Open

fix: activate stacked windows without redundant raising#1825
philip-sterne wants to merge 1 commit into
pop-os:master_noblefrom
philip-sterne:agent/stack-tab-activation

Conversation

@philip-sterne

Copy link
Copy Markdown

Summary

  • Show and focus a stacked window before updating Pop Shell's active-tab state.
  • Let Stack.activate() own tab visibility and styling updates.
  • Remove the redundant Meta.Window.raise() after activate_with_focus().

Root cause

The tab click handler changed Pop Shell's active-window state and hid the previous actor before confirming that the selected window actor could be activated. It then explicitly raised a window that Mutter had already focused. This could leave compositor stacking and Pop Shell's stack state temporarily out of sync, producing meta_window_set_stack_position_no_sync assertions and unreliable tab activation.

Impact

Stack tab clicks now follow one activation sequence and avoid the redundant stacking operation.

This is independent of #1824, which prevents DING's desktop surface from entering the normal window/focus path. It was field-tested in a Wayland session that also contained #1824.

Testing

  • make compile
  • Logged out and back in on Ubuntu with GNOME 50.
  • Repeatedly activated windows through Pop Shell stack tabs during normal use.

@philip-sterne
philip-sterne marked this pull request as ready for review August 13, 2026 10:21
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.

1 participant