Skip to content

Luminark v1.1.0

Choose a tag to compare

@github-actions github-actions released this 13 Sep 12:17
· 68 commits to main since this release

✨ What's New in Luminark v1.1.0 (since v1.0.4)

Luminark v1.1.0 is a major feature release introducing video input switching, audio volume control, custom display renaming, intelligent USB-C hotplug detection, global keyboard shortcuts, and UI improvements.


🔄 Monitor Video Input Switching (DDC/CI)

  • Source Selection from Mini Flyout: Quickly switch external monitor video inputs directly from the flyout (DisplayPort 1/2, HDMI 1/2, USB-C).
  • Safety Countdown & Cancel:
    • Configurable delay before switching (0s / Instant, 1s, 3s, 5s) configured in the Settings tab.
    • Live countdown pill in the flyout with an instant Cancel button or by pressing Esc to avoid accidental switches.

🔊 Monitor Hardware Audio & Mute Control

  • Speaker Volume Slider: Directly control the hardware speaker volume of external monitors over DDC/CI (VCP code 0x62).
  • One-Click Mute: Instant mute/unmute button with dynamic speaker/muted icon indicator (VCP code 0x8D).

🏷️ Custom Monitor Renaming & Persistent Display IDs

  • Friendly Display Names: Give each monitor a custom name (e.g., "LG 4K Office", "Desk UltraWide") in the Settings tab.
  • Hardware-Stable IDs: Monitor identities now bind to DDC_{szDevice}_{desc} rather than transient Win32 memory handles. Your custom names permanently survive USB-C reconnections, dock re-plugs, and system reboots.
  • Automatic Migration: Existing custom names are automatically migrated to the new persistent format.

🔌 Intelligent Display Hotplug & USB-C Auto-Detection

  • Progressive Multi-Stage Detection: Replaced early single-scan timeouts with a progressive 3-stage pipeline (Stage 1 @ 2.0s, Stage 2 @ 4.0s, and Stage 3 @ 6.0s).
  • Zero-Friction USB-C / Dock Discovery: Automatically accommodates USB-PD, DisplayPort Alternate Mode, and DDC/CI link training delays when connecting or waking external monitors.
  • Hardware Event Hooks: Listens to both Windows WM_DISPLAYCHANGE and WM_DEVICECHANGE (DBT_DEVNODES_CHANGED) for instant detection on physical cable insertion/removal.
  • Seamless In-Place Sync: Re-scanning an identical display topology updates underlying handles with zero UI flicker or slider focus reset.
  • Manual "Re-detect Displays": Quick one-click refresh option added to both the tray context menu and the mini flyout header.

⌨️ Global Keyboard Shortcuts

  • System-wide hotkeys to control themes from anywhere without opening the app:
    • Dark Mode: Ctrl + Alt + D
    • Light Mode: Ctrl + Alt + L
    • Toggle Theme: Ctrl + Alt + T
  • Fully customizable or toggleable in the Settings tab.

🎨 Windows 11 Integration & App Branding

  • Installed Apps Icon: Configured UninstallDisplayIcon in Inno Setup so Windows Settings > Installed Apps displays the official Luminark app icon instead of a generic system executable icon.
  • Publisher Metadata: Registered publisher as Silviu Vlasceanu.
  • Flyout Polish: Added subtle backdrop blur, header shortcuts, and clean spacing.

🛠️ Other Improvements & Fixes

  • Memory Optimization: Working set trims down to ~1–5 MB when idle in the tray.
  • 0.0% Idle CPU: Purely event-driven Win32 and registry hooks with zero background polling loops.
  • CI/CD Automation: Integrated Microsoft Store & WinGet publication workflows.

Full Changelog: v1.0.4...v1.1.0