Skip to content

v1.0.1

Choose a tag to compare

@baronsmv baronsmv released this 19 May 04:06
· 95 commits to main since this release

Changelog

Introducing Daemon Mode with per-profile exclusion and follow-focus compatibility

Daemon mode (-d, --daemon ) automatically scan for windows matching any profile and begin upscaling. When the window closes, scanning resumes silently. A profile can set daemon_exclude: true to be ignored by automatic scanning.

It can be combined with follow-focus mode, so daemon finds the first matching window, follow-focus takes over afterward. Scanning resumes when the window is closed.

In daemon mode, the GUI hides when a window is matched and reappears when scanning resumes.

Added intervals and error recovery options

New options: daemon_poll_interval, pipeline_poll_interval, max_capture_failures, capture_failure_delay, swapchain_recreate_debounce. Exposed in CLI and GUI (Advanced tab).

Internal improvements

  • All pipeline sleeps were replaced with interruptible events, closing the daemon or GUI is now instantaneous.
  • MainWindow now delegates most of the logic to helpers DaemonController, WindowGridManager and ProfileActions.
  • Overlay now emits closed signal making its close more versatile (needed for reusable overlay in Daemon Mode).
  • WindowGrid tiles style have been refactored.
  • Validators simplified and background colors are always saved as hex strings.

Bug Fixes

  • Daemon monitor no longer runs inside the pipeline session, preventing duplicate Vulkan resources.
  • Daemon monitor and window grid share persistent connections, avoiding connection churn.
  • Fixed compatibility with xcffib in error handlers.
  • GUI manual selection reuses the existing daemon pipeline instead of creating a second session.
  • Exit hotkey tears down daemon and quits without showing the GUI.
  • Swapchain is now created after the overlay is shown, preventing possible endless recreation.