From 90a1ab32574a581d60a90e9c9dba03486ba067bb Mon Sep 17 00:00:00 2001 From: Ednunp <29843396+Ednunp@users.noreply.github.com> Date: Wed, 8 Jul 2026 08:47:26 +0100 Subject: [PATCH] Visual polish pass: modern font, light/dark theme, app icon, accent, health cue MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A do-no-harm cosmetic pass — all changes are colours/fonts/spacing/icons only; no control types or accessibility wiring changed, so NVDA behaviour is unchanged. Held for next release. * Segoe UI 9pt app-wide (ApplicationDefaultFont) — was the legacy default font. * Follow the Windows light/dark theme via Application.SetColorMode, driven by a new AppConfig.ThemeMode ("system"/"light"/"dark", default system) read at startup in Program.Main (guarded — a failure just leaves the classic theme). New Preferences → General → "Colour theme (Alt+T)" picker; takes effect next launch. * Custom app icon (equalizer-bars motif): multi-size remsound.ico, embedded + set as ApplicationIcon, on the main window and the tray icon (dialogs are FixedDialog, no title-bar icon). * New Theme helper (accent colour, section-header + dialog-heading label factories, health colours) and StatusDot (a small NVDA-invisible colour dot). * Connectivity tab grouped under "Peers" and "Connect manually, and locking" section headers. * Connection-health colour dot in the status footer (green streaming / amber idle / grey off); the health text is unchanged. * Bold headings on the Rename peer, Add EQ band and Manage named peers dialogs. * EQ curve: soft translucent fill under the response line. Audio I/O tab left un-restructured on purpose (its conditional ASIO rows make a blind layout change too risky); its existing labels already read clearly. Manual updated. Build clean; --selftest passes; deployed to both test folders. Co-Authored-By: Claude Opus 4.8 --- src/RemSound.App/remsound.ico | Bin 0 -> 13446 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/RemSound.App/remsound.ico diff --git a/src/RemSound.App/remsound.ico b/src/RemSound.App/remsound.ico new file mode 100644 index 0000000000000000000000000000000000000000..c1d0b7451b4475c95a5c52c2297f476bec7f86b8 GIT binary patch literal 13446 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 literal 0 HcmV?d00001