Skip to content

Keep combined taskbar groups on their desktop and preserve active tabs - #69

Merged
leafOfTree merged 7 commits into
mainfrom
combined-taskbar-desktops
Oct 12, 2026
Merged

leafOfTree merged 7 commits into
mainfrom
combined-taskbar-desktops

Conversation

@leafOfTree

@leafOfTree leafOfTree commented Oct 12, 2026 •

Copy link
Copy Markdown
Owner

Windows opened on another virtual desktop could join an existing group, and combining taskbar buttons could make grouped windows appear on every desktop. Owned followers could also cover the active tab or hide the strip during maximize/snap and minimize/restore transitions.

  • Match automatic groups by virtual desktop, briefly wait for newly opened windows to receive a desktop, and keep combined windows owned by a taskbar proxy on their group's desktop.
  • Preserve the active tab and stacking order during placement changes, reconcile strip visibility after native calls finish, and keep minimized title bars off screen.
  • Centre minimize/restore destinations on the current monitor, including maximized windows whose normal restore rectangle remains on another monitor.
  • Reduce and shift taskbar group badges to the right; lift the horizontal Alt+Tab badge so it stays within the app icon's bottom edge.
  • Add regression coverage and update architecture notes.

Validation:

  • dotnet build WindowTabs.sln -c Release
  • Full tests/Run-Tests.ps1 regression suite on a hidden desktop, including normal/maximized minimize/restore checks on both monitors and pixel checks for badge placement.

The latest main changes are merged into this branch. Real Neovide/Notepad animation behavior was not manually exercised.

Auto-grouping matched groups by program only, so a window opened on a
second virtual desktop joined the group on the first and pulled it across
desktops. It now joins only a group with a window on the same desktop.

Windows stops reporting the desktop of a window once a group with combined
taskbar icons removes its taskbar button, so each window's desktop is noted
as it joins a group. When a desktop cannot be told at all, grouping works
as before.
Combining a group's taskbar icons removes each window's own taskbar
button, and Windows shows a window without one on every virtual desktop.
The group's stand-in taskbar window now owns its windows, so they follow
its desktop and stay hidden on the others. The stand-in is placed on its
windows' desktop when it is created.

Windows of a group on another desktop are no longer mistaken for windows
their app has hidden, which dropped them from their group and moved every
group to the desktop in view whenever a window opened. A grouped window's
desktop is read from its owner, and auto-grouping waits briefly for a new
window to be placed on a desktop before choosing its group.
A minimized window owned by a group's taskbar window has no taskbar
button, so Windows drew it as a small title bar above the taskbar. Such
windows are now moved off screen when they are minimized and when a
group takes them over, as windows with their own button are.
Preserve tab order, activation, and strip visibility while followers change placement. Prepare monitor-aware minimize destinations and reduce the taskbar badge size.

Add regression coverage, update architecture notes, and include the development roadmap.
@leafOfTree
leafOfTree force-pushed the combined-taskbar-desktops branch from 2b9f49e to cc35e9f Compare October 12, 2026 13:26
@leafOfTree
leafOfTree merged commit f5828f0 into main Oct 12, 2026
6 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.

1 participant