Skip to content

Releases: silviuk/Luminark

Luminark v1.1.16

Choose a tag to compare

@github-actions github-actions released this 29 Sep 11:50

What's New in Luminark v1.1.16:

• Mouse Responsiveness & Jitter Elimination:

  • Isolated Tray Mouse Hook: Moved the system tray scroll hook to a dedicated, high-priority background thread with its own message pump. Mouse hook callbacks now return instantly in nanoseconds, completely eliminating cursor stutter or jitter during normal PC usage.
  • Asynchronous Hardware I2C Queries: Offloaded physical monitor enumeration and DDC/CI queries to background tasks so hardware display scans during USB/device changes never block the UI thread.
  • Removed Synthetic Mouse Events: Eliminated zero-delta mouse nudge events from the keep-awake service, ensuring smooth, uninterrupted cursor tracking for high-polling-rate mice.
  • Tray Scroll Toggle Setting: Added a toggle switch in Settings to enable or disable mouse wheel brightness adjustments over the system tray icon.

Luminark v1.1.15

Choose a tag to compare

@github-actions github-actions released this 28 Sep 16:36

What's New in Luminark v1.1.15:

• Runtime Memory Reduction & Performance Optimization:

  • Working Set Trimming: Resolved an issue where idle background memory could reach ~150-200 MB. Re-implemented an intelligent working set trim combining full Gen2 GC, LOH compaction, and Win32 process working set trimming, bringing idle tray memory down to ~15-30 MB.
  • Startup Buffer Cleanup: Automatically sheds temporary XAML compilation, DirectX buffers, and monitor enumeration allocations 3 seconds after launching minimized to the tray.
  • Periodic Idle Maintenance: Added background idle memory maintenance every 10 minutes when all windows are closed, ensuring memory remains consistently lean over multi-day runtimes.
  • .NET 8 DATAS Enabled: Activated Dynamic Adaptation to Application Sizes (DATAS) garbage collection, tuning heap sizes dynamically to minimize memory footprint.

Luminark v1.1.14

Choose a tag to compare

@github-actions github-actions released this 28 Sep 15:54

What's New in Luminark v1.1.14:

• Monitor Video Input Switching & Detection Fixes:

  • Fixed phantom inputs: Stopped populating unverified standard inputs (e.g. VGA, DVI, extra HDMI ports). The app now accurately respects your monitor's hardware DDC/CI capabilities (VCP 0x60) to show only physical ports.
  • Fixed input switch cancellation: Closing or clicking outside the quick controls tray flyout no longer aborts active input switches.
  • Added "Switch Now" button: Added an immediate execution button and Enter key shortcut to switch inputs instantly without waiting for the countdown timer.
  • Resilient DDC/CI communication: Added automatic handle reacquisition, retries, and high-byte preservation to ensure input switch commands reach the monitor hardware reliably.
  • Background live input synchronization: Active input status is refreshed when opening the tray flyout, remaining synchronized even when inputs are changed using the monitor's physical OSD buttons.
  • Custom input management: Added custom port code addition and input removal directly from the Main Dashboard settings.

Luminark v1.1.13

Choose a tag to compare

@github-actions github-actions released this 28 Sep 15:36

What's New in Luminark v1.1.13:

• Memory & Performance Optimization:

  • Eliminated artificial working set ballooning and forced Gen2 GC cycles, establishing smooth and stable memory utilization.
  • Resolved an unmanaged handle and background thread leak in SettingsService.
  • Fixed WMI COM object leaks by deterministically disposing all ManagementObject query instances.
  • Cleaned up static SystemEvents event subscriptions in ThemeService to prevent memory leaks on exit.
  • Properly released native Win32 GDI icon handles on exit.

• Background Hook & Polling Efficiency:

  • Refactored TrayScrollHook: Eliminated global mouse movement processing across Windows, saving millions of marshal operations and reducing background CPU usage to 0%.
  • Refactored NightLightService into a purely event-driven model without polling timeouts, preventing unnecessary CPU and thread wakeups.
  • Consolidated Keep-Awake timers, pausing high-frequency ticks when sleep prevention is set to Forever.
  • Increased schedule evaluation interval to 30s for minimal idle impact.

• Security & Reliability Enhancements:

  • Added startup safety recovery for Windows Console Lock Display Timeout (VIDEOCONLOCK) to ensure lock screen timeout is never stuck at 1s after an abnormal termination.
  • Added log file rotation capped at 5 MB in App.Log to prevent unbounded disk usage.

Luminark v1.1.12

Choose a tag to compare

@github-actions github-actions released this 23 Sep 06:58

Full Changelog: v1.1.11...v1.1.12

Luminark v1.1.11

Choose a tag to compare

@github-actions github-actions released this 22 Sep 18:20

What's New in Luminark v1.1.11:

• Screen Off & Keep-Awake on Lock:

  • Added "Lock & Screen Off" action and global hotkey (Win+J).
  • Automatically powers down internal laptop and external displays natively without putting the PC to sleep.
  • Windows 11 Modern Standby (S0) laptops stay 100% awake with network and background tasks running.
  • Touching any key or mouse instantly wakes the screen at full normal brightness to unlock.

• External Monitor Video Input Switching:

  • Switch monitor inputs (DisplayPort, HDMI, USB-C) directly from the flyout or Main Window via DDC/CI.
  • Assign custom friendly names (e.g. Work PC, Gaming Rig) and filter visible ports.
  • Active signal indicators (✔) show connected video feeds.

• Multi-Host Display Retention:

  • Retains displays switched to other computers as "Inactive", allowing 1-click switching back.

• Clean Startup & Reliability:

  • Starts cleanly minimized to the system tray at Windows boot without popup windows.
  • Self-contained package with zero external .NET dependencies required.
  • Improved Night Light and theme scheduling synchronization.

Luminark v1.1.10

Choose a tag to compare

@github-actions github-actions released this 22 Sep 17:41

What's Changed in v1.1.10

Fixed

  • Eliminate Modern Standby Sleep Trigger in 'Lock & Screen Off':
    • Identified root cause of instant sleep: On Windows 10/11 laptops with S0 Modern Standby, Windows intercepts any \SC_MONITORPOWER (2)\ system command as a manual \SleepButton\ press, forcing the Intel/AMD SoC into S0ix Modern Standby sleep (suspending Wi-Fi to D3 and pausing CPU/apps).
    • When Prevent Sleep is active, Luminark now **never sends \SC_MONITORPOWER**.
    • Hardware Display Standby: External monitors are powered off directly via VESA DDC/CI hardware standby (\VCP 0xD6 = 4), bypassing Windows OS power messages entirely.
    • Internal Display Dimming: Internal laptop displays are dimmed to 0% brightness via WMI when locking, and restored to the previous brightness level upon unlocking.
    • Persistent Display Pipeline: Retains \ES_DISPLAY_REQUIRED\ and \PowerRequestDisplayRequired\ in the kernel so Windows never signals the hardware SoC to enter S0ix sleep.
    • The laptop remains 100% active, network stays connected, and downloads/tasks continue without interruption while screens are dark and workstation is locked.

Full Changelog: v1.1.9...v1.1.10

Luminark v1.1.9

Choose a tag to compare

@github-actions github-actions released this 22 Sep 17:08

What's Changed in v1.1.9

Fixed

  • Keep Laptop Awake During 'Lock & Screen Off' on S0 Modern Standby:
    • Resolved an issue on modern Windows laptops (S0 Low Power Idle / Connected Standby) where pressing 'Lock & Screen Off' or turning off monitors caused Windows to enter Modern Standby sleep despite 'Never sleep when plugged in' and 'Prevent sleep: Forever'.
    • Windows Away Mode Integration: Registered \PowerRequestAwayModeRequired\ via Kernel Power Request APIs and \ES_AWAYMODE_REQUIRED\ via \SetThreadExecutionState. Away Mode ensures the system, CPU, disk, network, and desktop applications run at 100% capacity while screens and audio are powered down.
    • Independent ThreadPool Heartbeat Timer: Added a dedicated \System.Threading.Timer\ running on the thread pool to reaffirm kernel power requests every 30 seconds, preventing Windows from suspending keep-alive state when the desktop switches to \LogonUI\ (lock screen).
    • VESA DDC/CI Hardware Standby: External monitors are explicitly signaled to enter standby (\VCP 0xD6 = 4) and automatically awakened (\VCP 0xD6 = 1) upon session unlock.
    • Targeted Monitor Power Commands: Avoided shell-wide \HWND_BROADCAST\ sleep triggers by directing display power-down commands to the application window.

Full Changelog: v1.1.8...v1.1.9

Luminark v1.1.8

Choose a tag to compare

@github-actions github-actions released this 22 Sep 13:20

What's New in Luminark v1.1.8:

  • Prevent Unminimized Startup at Windows Boot: Resolved an issue where secondary or delayed startup triggers caused the main window to unexpectedly restore and pop up on screen at login.
  • Guarded Single-Instance Activation: Secondary launches with --minimized (or packaged StartupTask) now exit quietly and never activate the running background tray instance.
  • Autostart Consolidation & Cleanup: Standardized autostart strictly to the Windows Run registry key and added automatic cleanup routines for duplicate shortcuts in the Startup folder.

Luminark v1.1.7

Choose a tag to compare

@github-actions github-actions released this 20 Sep 18:38

What's New in Luminark v1.1.7:

  • Video Input Sources Customization: Manage, rename, and filter monitor inputs (HDMI, DP, USB-C) for the quick controls dropdown.
  • Active Signal Indicators: Green checkmarks next to inputs reporting active connected signals.
  • Inactive Monitor Retention: Retains displays switched to other devices/PCs so you can easily switch them back.
  • Configurable Hotkey: Press Win+J to instantly lock workstation and turn off displays while keeping the PC awake.
  • Positioning Fix: Multi-monitor and DPI-aware positioning guarantees the quick controls flyout is always fully visible.