Skip to content

Add Virtual Desktop Switcher v1.6#4484

Closed
sb4ssman wants to merge 12 commits into
ramensoftware:mainfrom
sb4ssman:sb4ssman-virtual-desktop-switcher
Closed

Add Virtual Desktop Switcher v1.6#4484
sb4ssman wants to merge 12 commits into
ramensoftware:mainfrom
sb4ssman:sb4ssman-virtual-desktop-switcher

Conversation

@sb4ssman

@sb4ssman sb4ssman commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds Virtual Desktop Switcher (virtual-desktop-switcher) — clickable tray buttons for instant virtual desktop switching on Windows 11.

This is a resubmission under a cleaner mod ID. The earlier submission (taskbar-vd-switcher, PR #3932, merged 2026-06-17) was published before the name was finalized. Please disable or remove taskbar-vd-switcher from the store when convenient.

Features

  • One button per virtual desktop, injected into the system tray
  • Smart grid layout (balanced, vertical-pack, horizontal-pack) adapts to taskbar height
  • Highlights the active desktop immediately on switch; updates on desktop add/remove
  • Five tray positions plus Start-adjacent (left of Start, over Start, right of Start)
  • Configurable size, spacing, colors, opacity, shine effect, label format, corner radius, border
  • Optional Task View button (Win+Tab) as a side column or sliver row
  • Tooltip shows each desktop's display name
  • Hide when only one desktop exists

Technical

  • GetSystemTrayModuleHandle 3-DLL chain: SystemTray.dllTaskbar.View.dll (version-gated) → ExplorerExtensions.dll
  • GetTaskbarXamlRoot with 0x10 default offset and ARM64 disasm probe
  • IconView::IconView hook + auto_revoke_t Loaded pattern (no bare lambdas)
  • LoadLibraryExW fallback hook + Wh_ApplyHookOperations in AfterInit
  • Stoppable retry thread waited in Wh_ModUninit; stoppable VD notification thread with sent-message pump in uninit
  • SwitchToDesktop dispatched to a background thread to avoid STA re-entrancy during COM call
  • Backward-compatible setting aliases for canonical rubric names

🤖 Generated with Claude Code

@sb4ssman

Copy link
Copy Markdown
Contributor Author

Closing in favor of #4516, which correctly updates the existing mod file instead of adding a duplicate under a new id.

@sb4ssman sb4ssman closed this Jun 21, 2026
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