Skip to content

feat(tray): Pin to taskbar keeps the Wind icon next to the clock - #437

Merged
Maxaubert merged 3 commits into
mainfrom
feat/436-pin-tray-icon
Oct 10, 2026
Merged

Maxaubert merged 3 commits into
mainfrom
feat/436-pin-tray-icon

Conversation

@Maxaubert

Copy link
Copy Markdown
Owner

Closes #436

What

A Pin to taskbar toggle in Preferences (General card, on by default) keeps Wind's tray icon next to the clock instead of in the hidden icons overflow.

  • Windows 11 keeps this per icon in HKCU\Control Panel\NotifyIconSettings\<id> (IsPromoted). WindTray finds its own entry by its module path (known-folder {GUID} form expanded) and UID 1, and writes IsPromoted only when it differs. Explorer applies it live.
  • WindTray applies it at start, after an Explorer restart (TaskbarCreated), and when the ini changes (folder watch, 300 ms debounce that cannot be starved). A first-run entry that does not exist yet is retried for about 12 s.
  • trayPinned is a UI-only global key: it never reloads the magnifier and never changes with a profile.
  • New src/tray_app/tray_pin.* (registry) and tray_pin_logic.cpp (pure matching, unit-tested). Docs: 01, 02, 08, 09.

Tests

  • build.bat test: 607 passed, 0 failed (new path matching and profile carry-over tests).
  • Playwright: 178 passed (new: the row renders, writes trayPinned, never shows as unsaved).
  • build.bat and build.bat config build clean. Sonnet built it, Opus reviewed it, and all of the review's findings were applied.
  • Live on this machine (installed together with fix(ui): one-line plain subtexts and a responsive settings layout #435 as 0.27.0): ini trayPinned=0 took the icon off the taskbar and =1 put it back, each within 2 s (checked via UI Automation and the registry); a WindTray restart re-applied the pin after it was cleared.

Version: 0.26.x -> 0.27.0 (feature). If #435 merges first this branch picks up its version line. Release unsigned as before.

🤖 Generated with Claude Code

https://claude.ai/code/session_011zPmivSAQeivGUdBjTsaMu

Maxaubert and others added 3 commits October 10, 2026 08:25
A Preferences toggle (trayPinned, default on) sets IsPromoted on WindTray's own entry under
HKCU\Control Panel\NotifyIconSettings, matched by its module path (known-folder form expanded)
and UID. WindTray applies it at start, after an Explorer restart and when the ini changes
(folder watch, 300 ms debounce); a missing first-run entry retries for about 12 s. The key is a
UI-only global, so it never reloads the magnifier or changes with a profile.

Closes #436

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011zPmivSAQeivGUdBjTsaMu
# Conflicts:
#	src/version.h
#	ui/src/settings-schema.js
@Maxaubert
Maxaubert merged commit 01983d2 into main Oct 10, 2026
1 check passed
@Maxaubert
Maxaubert deleted the feat/436-pin-tray-icon branch October 10, 2026 06:48
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.

Option to pin the tray icon to the taskbar

1 participant