- Show the halo for any workspace saved as
.vscode\<name>.code-workspacein its matching root folder: the logo file is now optional, and the halo renders its border and name without one. - Make the saved workspace file location the single activation condition; plain opened folders and workspace files saved elsewhere stay inert, and logo files matching no workspace name raise a warning instead of silence.
- Assign a vivid random color to a workspace with neither
peacock.colornorworkspaceHalo.color, remember it in the workspace state, and reuse it across restarts so unconfigured windows stay tellable apart. - Add
workspaceHalo.logoScale(1 to 100, default 33) to size the logo's longer side as a percentage of the window height, replacing the fixed one-third rule; the value reaches the native host as--logo-scale.
- Keep every VS Code halo visible while the cursor moves from the taskbar onto its thumbnail flyout in non-Duplicate display modes.
- Limit thumbnail-hover detection to visible, uncloaked Explorer-owned Windows 11 and classic thumbnail surfaces, excluding Task View and retaining the existing Duplicate-mode and topology-transition protections.
- Stamp every VSIX with its Git commit and dirty state, include the same data inside the package and native host, and reject provenance mismatches before reporting a successful build.
- Add
version.batto audit a VSIX against its embedded version, full Git SHA-1, native host stamp, local version tag, and SHA-256 digest. - Retain the taskbar trigger through the Windows 11 miniature band even when its composition-only flyout exposes no independently hit-testable window.
- Restrict halo display to extension activation, real window overlap, Alt+Tab, mouse taskbar hovering, double-Shift, and minimized-window thumbnail composition; remove Task View and shell-flyout-only display paths.
- Render the activation halo immediately and dismiss it on a focused click or focus gain. Alt+Tab and taskbar-hover triggers outrank focus; focus suppresses ambient overlap halos.
- Restore double-Shift as an explicit focused-window trigger and restore the DWM composition/replay path that preserves halos in minimized Alt+Tab and taskbar thumbnails.
- Ignore every Workspace Halo overlay during occlusion checks, preventing relocated VS Code windows from triggering one another indefinitely when a multi-monitor desktop is consolidated onto one monitor.
- Detect Windows' Duplicate (clone) display topology and suspend ambient overlap halos there, preventing Halo overlays from cycling overlapping VS Code windows through the foreground after Win+P.
- Start the native host as soon as the extension is ready and bind immediately when exactly one stable VS Code window title matches the workspace name.
- Keep the focus-confirmation handshake as the fallback for customized or ambiguous window titles.
- Use DWM extended-frame bounds for occlusion checks so invisible resize borders from maximized windows on adjacent monitors do not count as real overlap.
- Let fully exposed VS Code windows hide their halos immediately after Alt+Tab, while preserving halos for windows with genuine visible overlap.
- Intercept the first minimize transition, restore it without activation, compose and flush the child halo, then replay minimization after a short settling interval so DWM captures the already-visible halo.
- Remove direct GDI painting into the VS Code surface, which could leave a halo visible after the window was restored and fully exposed.
- Composite the halo directly into the tracked VS Code window at minimize start, making it part of the DWM snapshot used by minimized Alt+Tab and taskbar thumbnails. This replaces reliance on child-overlay composition, which Windows 11 omits from minimized thumbnails on affected systems.
- Keep the child overlay for normal visible-window policy and explicit double-Shift display.
- Keep the child overlay surface composed while its halo is hidden by using
DWMWA_CLOAKinstead ofSW_HIDE. Uncloaking and flushing that retained surface lets minimized Alt+Tab and taskbar thumbnails display the halo.
- Paint the halo on Windows' minimize-start event, before DWM captures the minimized window surface, so Alt+Tab and taskbar miniatures retain it. Minimized windows then keep the halo active.
- Remove the focus-loss and preview latch: a fully visible, non-minimized window hides its halo as soon as no Alt+Tab, taskbar-preview, or double-Shift trigger is active.
- Bind each native host through a two-phase focus handshake with its launching VS Code extension window. The host rechecks the proposed foreground HWND at confirmation time and rejects stale proposals, preventing rapid window switches and session restoration from attaching one workspace's halo to another VS Code window.
- Add
install.batto force-install the packaged VSIX with the project's%PRGS%\vscodes\current\bin\code.cmd, plus theiproject environment alias.
- Re-arm the latch when the window loses the focus: a window the user just left keeps its halo until the next click inside it.
- Keep the pill and the name at least
workspaceHalo.pillMarginpixels (default 50) away from the left and right window edges; the font fitting accounts for the pill cap overhang. - Default the pill opacity to 100 (solid), still configurable.
- Alternate opaque black segments in the border,
workspaceHalo.borderSegmentpixels long (default 50); the black runs are painted, never transparent, and 0 restores the continuousborderMotifrendering.
- Tint the pill with the name color: one eighth of the text color mixed into its higher-contrast pole, so the pill visibly carries the hue. The pure pole stays as the fallback when the tint would drop the contrast under the 3:1 WCAG large-text minimum.
- Hug the pill to the ink of the name: trim the font's internal leading, keep only a sliver below the descent, and shrink the horizontal pad. The pill no longer inflates from the text cell height.
- Align the black-or-white crossover on the exact WCAG break-even luminance.
- Draw a rounded pill behind the workspace name, black or white by the WCAG
contrast computation against the name color, at a configurable opacity
(
workspaceHalo.namePill,workspaceHalo.pillOpacity, default 80). The color-keyed overlay has no alpha blending, so the opacity is rendered as an ordered dither.
- Release the latched halo on any keystroke while its window is focused, so a keyboard-only return into the window clears the halo without a mouse click.
- Latch a taskbar-triggered halo: moving from the taskbar up into the thumbnail miniatures no longer drops it. The halo stays until the next mouse click inside that window.
- Show the halo whenever the mouse is over the taskbar: the reliable cue that the thumbnail previews may be displayed, independent of how the shell renders them. The flyout-window detection stays as a secondary cue.
- Fix the shell preview detection: the flyouts live in z-bands that a
sibling walk from an application window never enters, so the host now
scans them with
EnumWindows, recognizes the Windows App SDK taskbar classes (XamlExplorerHostIslandWindow_WASDK, WinUI popup site bridges), and ignores surfaces parked with an empty rectangle.
- Show the halo while a shell window-picking surface is displayed: the taskbar thumbnail previews (hovering the VS Code taskbar icon), Alt+Tab, and Task View. The halo now also shows on the focused window in that case, so its miniature is identifiable like the others.
- Add the
workspaceHalo.rootSynonymsworkspace setting: extra root folder names accepted as the workspace root when no root folder name matches the workspace name.
- Add the Workspace Halo logo as the extension icon.
- Mark the Workspace Halo workspace with its own logo, so the extension shows its halo on its own repository.
- Keep the development
.vscodedirectory and scratch files out of the VSIX.
- Derive saved workspace identity from the
.code-workspacefilename instead of the VS Code display label containing the localized(Workspace)suffix. - Report the native host PID and log path in the Workspace Halo output channel.
- Add workspace-logo activation and workspace-scoped configuration.
- Add Alt+Tab, occlusion, and double-Shift overlay behavior on Windows 11.
- Bundle the Go/Win32 native host in a Windows x64 VSIX.