Skip to content

Fix floating-window focus hints and stack tab layering - #113

Open
italomlp wants to merge 2 commits into
oliwebd:mainfrom
italomlp:fix/floating-window-decorations
Open

italomlp wants to merge 2 commits into
oliwebd:mainfrom
italomlp:fix/floating-window-decorations

Conversation

@italomlp

@italomlp italomlp commented Oct 20, 2026 •

Copy link
Copy Markdown

Dragging a floating window can leave its focus hint at the old position, and stack tabs can appear above a floating window covering their stack. A window converted from stacked to floating can also remain the tab bar's active owner until the next rebuild.

Hide the hint during move/resize, guard immediate and deferred hint callbacks while grabbed or settling, and clear grab state even for floating windows without a tiling grab operation. Post-grab settling accepts an already-committed frame. Defer and coalesce stack-tab restacking until BEFORE_REDRAW, cancel callbacks on destruction, and avoid unnecessary tab reparenting. When the active tab is removed, immediately transfer ownership and geometry signals to a remaining tab, clear stale previous ownership, and schedule restacking.

Validation:

  • 15 regression tests pass, exercising production methods with GNOME boundary doubles. Coverage includes floating/tiled grab cleanup, stale callbacks, settling, layering, callback disposal, active-tab removal at each position, and preservation of an inactive tab's owner.
  • ESLint, TypeScript checks, and clean make pack builds pass. Both packages contain the required files, have no forbidden extension-process Gdk imports, and meet the 10 MB size limit.
  • The reporter tested the combined local build on Ubuntu 26.04.1 / GNOME 50.1 and confirmed the reported rendering issues, including stacked-to-floating conversion, are resolved.

The desktop verification covers the reporter's setup; it does not establish behavior across every compositor/display configuration. This change is independent of #112.

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