← Files

TrayIconGuard v8 «Aurora» 🛡️✨#

📚 Documentation site · Knowledge base · docs/

Keep every notification-area (system tray) icon visible on Windows 10/11 — and keep them
that way. One native executable, zero dependencies, zero telemetry.

Read this in: English · Русский · Deutsch · 中文 · Español · हिन्दी

TrayIconGuard promotes icons that Windows hides in the overflow flyout back to the taskbar —
and an event-driven guard re-promotes them the moment Explorer hides them again (app start,
update, re-register). It writes the exact same registry store the Windows Settings toggle uses,
per user, without admin rights, and ships a modern Fluent GUI, a headless watcher mode and a
full CLI in one ~1 MB statically-linked exe that runs on a stock Windows install.

Dashboard light & dark, all pages

📋 Table of Contents#


🚀 Why TrayIconGuard?#

Windows remembers tray-icon visibility per icon — and forgets it constantly: every time an
application (re)registers its notification icon, Explorer recreates the registry subkey with
IsPromoted=0, and your icons vanish into the ^ flyout again. One-shot tweaks and .reg
files therefore decay within hours.

# What actually happens on a stock Windows 10/11 machine
App starts / updates / re-registers tray icon
        │
        ▼
Explorer recreates HKCU\Control Panel\NotifyIconSettings\{id}
with IsPromoted = 0          ← your icon just hid itself
        │
        ▼
TrayIconGuard watcher (RegNotifyChangeKeyValue, ~400 ms debounce)
        │
        ▼
IsPromoted = 1 restored      ← icon pops back to the taskbar, instantly

Real-World Benefits#

✨ Key Features#

🛡️ Correctness & Safety#

🎯 Intelligent Guard Engine#

🎨 Modern Fluent UI (2026)#

📦 Embedded Installer#

🔄 Git-Based Self-Updater#

⚡ Quick Start#

# 1. Download the latest release (exe or zip)
https://github.com/paulmann/windows-show-all-tray-icons/releases/latest

# 2. Unblock (Mark-of-the-Web) and run — that's the whole installation
Right-click TrayIconGuard.exe → Properties → Unblock → OK
TrayIconGuard.exe

# 3. First run: the setup wizard asks scope / folder / shortcuts
#    …or pick “Just run once, no install” for portable mode

Headless / one-liners:

TrayIconGuard.exe --promote-all          # fix everything right now, then exit
TrayIconGuard.exe --watch                # headless guard (no GUI), e.g. from Task Scheduler
TrayIconGuard.exe --status --json        # machine-readable state for monitoring
TrayIconGuard.exe --check-update         # ask the git feed whether a new version exists

📦 Installation Options#

Mode How Admin? What you get
Portable run the exe anywhere ❌ nothing persisted except %APPDATA% settings
Per-user (default) wizard → Only for me ❌ %LOCALAPPDATA%\Programs\TrayIconGuard, HKCU Run autostart, per-user shortcuts, Apps & Features entry
All users wizard → For all users ✅ once (UAC) %ProgramFiles%\TrayIconGuard, HKLM Run autostart, common Desktop/Start-Menu shortcuts, machine uninstall entry

Uninstall: Apps & Features → TrayIconGuard, or TrayIconGuard.exe --uninstall.

Setup wizard

🖥️ The GUI Tour#

Page What it does
Dashboard live counters (registered / on taskbar / hidden / excluded), guard state, one-click actions, system & recent-activity cards
Tray icons search, filters, per-icon toggles, exclusions, drag-reorder, row context menu
Guard watcher tuning (debounce, polling, Explorer-restart policy), legacy repairs, stats, exclusions
Appearance theme (Light/Dark/System), accent, language, animations, compact rows
Backups snapshot list, create/restore/export/delete, auto-backup toggle
Activity persisted log viewer with level filter, export, open folder
About version, update panel, License & Knowledge-base buttons, diagnostics copy, install-mode chip

Dark mode, About page with the update panel and links:

About, dark

🧰 CLI Reference#

Command Effect
(no args) start the tray-resident GUI
--minimized start hidden in the notification area
--show / --toggle-guard IPC to a running instance (activate / pause-resume)
--status [--json] print tray state and exit
--promote-all promote every hidden icon, then exit
--restore-defaults delete IsPromoted values (hand control back to Windows)
--restart-explorer safe shell restart, then exit
--backup / --restore-latest JSON snapshot create / restore
--watch headless guard loop (event-driven watcher, no GUI)
--install-autostart / --uninstall-autostart HKCU Run entry management
--install-machine <dir> [--autostart] [--desktop] [--menu] all-users install body (must run elevated)
--uninstall remove shortcuts, autostart and the installed copy (auto-elevates for machine installs)
--mode full|custom|compact set tray visibility mode
--check-update / --update-now git-feed update check / non-interactive update
--version / --help introspection

Exit codes: 0 ok · 1 invalid arguments · 2 unsupported OS · 3 partial failure.

🏗️ How It Works#

Primary store (Windows 10 1703+ / 11), per user, no admin:

HKCU\Control Panel\NotifyIconSettings\{<icon-id>}
    IsPromoted            DWORD      1 = on taskbar, 0 = overflow flyout
    ExecutablePath       REG_SZ     owner process
    IconResource         REG_SZ     path,-id
    IconSnapshot         REG_BINARY cached image
    LastNotificationAddedTime  REG_QWORD

Belt-and-suspenders legacy switches (optional): EnableAutoTray=0 and removal of
HideSCA* policies under HKCU\…\Policies\Explorer. Full research, decay analysis and the
do-not-touch list (StuckRects3 etc.): docs/HOW-IT-WORKS.md.

🔄 Self-Updates via Git#

🌍 Languages#

30 locales with per-string English fallback and OS-language auto-detect on first run
(live-switchable in Appearance → Language):

English (default) Русский 中文 (简体) हिन्दी
Español Deutsch Français Português
日本語 한국어 Italiano العربية
Indonesian اردو Türkçe Tiếng Việt
Polski ไทย Українська Nederlands
Română Ελληνικά Čeština Svenska
Magyar Suomi Dansk עברית
فارسی বাংলা

Details & translation guide: docs/I18N.md.

🌗 Themes & Appearance#

🏢 Deployment & Automation#

🔍 Troubleshooting#

Symptom Fix
“Side-by-side configuration is incorrect” on launch you unpacked into a folder named *.exe or blocked the exe; see docs/TROUBLESHOOTING.md
SmartScreen warning on first run expected for unsigned binaries: Properties → Unblock; signing guidance in docs/SMARTSCREEN.md
Icons re-hide after some app update guard paused? tray menu → Pause/Resume; check Activity page for the watcher events
Update refused: sha256 mismatch feed/asset drift — republish per Updater_SKILL.MD §3
Nothing promotes on Win10 < 1703 store unsupported; the app says so and offers legacy switches

More: docs/TROUBLESHOOTING.md · wiki FAQ

🛠️ Building From Source#

# Cross-compile on Linux (static, stripped, zero-dependency exe)
sudo apt install g++-mingw-w64-x86-64 cmake
./scripts/build.sh          # gates: 0 warnings, manifest check, OS-DLL-only audit
./scripts/package.sh        # zip + SHA256SUMS

# Or native MSVC on Windows
cmake -S . -B build -G "Visual Studio 17 2022" -A x64
cmake --build build --config Release

CI runs both on every push (ubuntu cross + windows MSVC) and publishes releases on v* tags.
Details: docs/BUILD.md.

🗂️ Repository Map#

Path Contents
src/core engine: registry store, guard, explorer, backup, autostart, installer, updater, CLI
src/ui Fluent kit, pages, wizard, tray, themes, 30-locale i18n
docs/ engineering & user docs (HOW-IT-WORKS, CLI, DESIGN, I18N, STORE, SMARTSCREEN…)
store/ MSIX manifest + Store assets + make_msix.ps1
scripts/ build/package/feed tooling (build.sh, package.sh, make_feed.py)
installer/ optional ps1/bat/Inno helpers for enterprise packaging
update/ live update feed (stable.json)
.github/workflows/ci.yml gates + release + feed pinning pipeline

🤝 Contributing#

Issues and PRs are welcome. Please keep: zero runtime dependencies, HKCU-only safety model,
the warning-free build gate (-Wall -Wextra) and the feed contract of Updater_SKILL.MD.
See CONTRIBUTING.md for the ground rules and the Code of Conduct; report security problems through SECURITY.md.

📄 License#

PolyForm Noncommercial License 1.0.0 — free for noncommercial use;
commercial licensing: contact the author.

👨‍💻 Author & Support#

Mikhail Deynekin · icons@Deynekin.com · Deynekin.com ·
GitHub ·
Knowledge base (wiki) ·
License

🎯 Roadmap#


<sub>Made with 🧡 for tidy taskbars. TrayIconGuard is not affiliated with Microsoft.</sub>