Skip to content

GUI Pages Guide

Mikhail Deynekin edited this page Oct 16, 2026 · 1 revision

GUI Pages Guide

The window is a custom-drawn Fluent shell: a navigation rail on the left (244 px, collapsing to 64 px of icons below 860 px window width), a 92 px top bar with the page title and two quick actions, a 30 px status bar, and one page at a time in the content area. This page walks all seven pages with their verified controls, then the tray icon, the keyboard map and the QA screenshot mode.


Contents


Shell chrome

  • Navigation rail — seven items with Segoe Fluent Icons glyphs (Segoe MDL2 Assets on Windows 10); selected item gets a card pill and a 3×16 px accent bar.
  • Top bar quick actions — a sun/moon button cycling Light → Dark → System anywhere in the app, and a refresh button that rescans the store and refreshes all built pages.
  • Status bar — guard state (running/paused/off), promoted and hidden counts, OS caption and self-reported version; repainted on a 1-second tick.
  • Window behavior — minimum 720×520; position/size/maximized state restored from settings; close button hides to tray unless Shift is held or closeToTray is off; dark title bar and rounded corners on Windows 11 via DWM attributes.

Dashboard

Hero card with the live guard state and four counters (registered / on taskbar / hidden / excluded) plus three quick actions: Promote all now (auto-backup first when enabled), Pause/Resume guard, and Restart Explorer — the last behind a TaskDialog confirmation when behavior.confirmExplorerRestart is on. A System card shows OS caption, store availability (with the build-15063 explanation when absent), Explorer pid and active legacy switches; a Recent activity card mirrors the newest log lines. Hint cards appear for the first-run welcome and while autostart is not installed. On unsupported stores the hero card states the limitation instead of counters — verified rendering: “Not supported on this Windows build”.

Tray icons

The full store listing: extracted icon, friendly name, executable path, state chip and a Fluent toggle per row. Toolbar: search box (Ctrl+F jumps here and focuses it), filter segments All / On taskbar / Hidden / Excluded, Promote all, and Restore Windows defaults (confirmation + auto-backup; deletes every IsPromoted value). Right-click a row for: promote/hide, keep hidden (exclusion toggle), open file location, copy path, copy id. Excluded rows render locked until the exclusion is removed. Rows are drag-reorderable; the order persists in icons.order (listed ids first, remainder alphabetical). F5 rescans.

Guard

  • Run the guard master toggle (guard.enabled).
  • Debounce segment 200/400/800/1500 ms; Polling fallback segment Off/2/5/15 s — with the published builds, polling is what makes reconciliation happen ([[The Guard Watcher]]).
  • Auto-restart Explorer toggle + cooldown segment 30/60/120/300 s.
  • Balloon notifications toggle.
  • Repairs card: keep EnableAutoTray=0 (legacy belt), remove stale HideSCA* policies (reports how many), reset legacy tray cache (confirmation; Explorer restart recommended afterwards).
  • Statistics card: passes, promotions this session, last fix time, uptime.
  • Exclusions card: add/remove wildcard patterns with validation feedback.

Appearance

  • Theme segment Light/Dark/System; System follows Windows live.
  • Accent: follow Windows colorization or one of eight presets — Windows blue #0F6CBD, violet #744DA9, teal #0E7070, green #0F7B0F, rust #98450C, orchid #C239B3, crimson #9A0021, graphite #4C5B66.
  • Language: “Auto” row plus all 30 locales by native name and English name, scrollable, check mark on the configured value; switching is instant.
  • Effects: animations toggle, compact icon rows toggle; Reset appearance restores defaults.

Backups

Snapshot list (newest first) with name, timestamp, icon count and promoted count read from each file's header; row actions Restore (confirmation), Delete (confirmation), Export (save dialog); header actions Create snapshot now (note manual), Restore latest, Open folder; Auto-backup before bulk changes toggle. Retention keeps the 30 newest files. Schema and semantics: Backups and Snapshots.

Activity

Live viewer over the in-memory ring (500 entries): level-colored monospace lines, filter segments All / Events / Issues, follow-new toggle, Export log to a file. Backed by the same rotating daily file log (14-day retention) — the viewer is a window onto it, not a separate store.

About

  • Version line and build info; author block (Mikhail Deynekin, icons@Deynekin.com, Deynekin.com) and license line (PolyForm Noncommercial 1.0.0).
  • Update card: Check for updates (manual; spawns a one-shot worker thread), an Download and update button that appears only when the feed version compares newer, release notes text, and the opt-in Check for updates automatically toggle. Errors surface verbatim, including the SHA-256 mismatch message.
  • Install to this PC… button while install mode is not installed (re-opens the wizard).
  • Links: repository and author website.
  • Copy diagnostics: OS caption, theme, resolved language, settings folder, current log path and the last 25 log lines to the clipboard — the preferred attachment for bug reports. Note: in published builds this report's header carries the stale hardcoded 8.0.0 banner (Changelog and Versioning).

Tray icon and balloons

The shield icon carries a state dot: green while guarding, amber while paused, none when off; the tooltip mirrors the state text. Double-click opens the window. The right-click menu, exactly as built: Show TrayIconGuard · radios Full / Custom / Compact · Promote all now · Pause/Resume guard · Author's website · Exit. When Explorer restarts, the TaskbarCreated message re-adds the icon automatically. Balloons: welcome on first run, promotion notifications (count + names), update-available from the opt-in auto-check, and a one-time hint the first time the window is closed to tray.

Note

The repository user guide lists a Restart Explorer entry in this menu; the code builds the menu without it (the command handler exists but is not attached). Recorded in Changelog and Versioning.

Keyboard map

Key Action
Tab / Shift+Tab move focus through visible, focusable widgets of the current page
Space / Enter activate the focused widget
← / → move within segmented controls
Esc blur focus (also exits the search box)
Ctrl+F jump to Tray icons and focus search
Ctrl+1…7 switch pages in rail order
F5 rescan the store and refresh
Shift + close exit instead of minimizing to tray

QA mode: --ui-test

TrayIconGuard.exe --ui-test [page] creates the window offscreen-friendly, renders the named page (default dashboard), waits 1.5 s, captures itself to %TEMP%\tig-uitest-<page>.png via GDI+ and quits. The repository's shots/ matrix (light, dark, Russian, Chinese) was produced this way under Wine; this wiki's verification run reproduced all seven pages the same way. Glyph cells render as boxes in Wine and stripped VMs because Segoe Fluent Icons / MDL2 Assets are absent there — a font-availability artifact, not a layout defect.


See also

Clone this wiki locally