Skip to content

v0.3.4 — Multi-display panic overlay overhaul + no-flash safelisted switching

Latest

Choose a tag to compare

@atomsbaza atomsbaza released this 24 May 16:53
· 44 commits to main since this release
2a20a1c

What's new in v0.3.4

Bug Fixes

  • Multi-display overlay — external monitors now blur correctly on macOS Sequoia; root cause was wrong display height used for CG→AppKit y-flip
  • Blur-to-hole flash eliminated — safelisted apps are always visible through holes during Panic Mode; switching to them is instantaneous with no full-blur frame
  • Mask hole coordinates — corrected for setups where the primary and focused displays have different heights
  • Chromium/Electron hole sizing — window bounds now sourced exclusively from CGWindowList; AX was returning inner content views, producing undersized holes
  • CGEvent tap reliability — tap now survives system-initiated disables (timeout / user input); no-flash guarantee no longer silently degrades mid-session
  • Run loop source leakCFRunLoopSource is correctly removed on panic release; eliminates accumulation across repeated panic cycles
  • New display during panic — a monitor connected while Panic Mode is active gets safelisted-app holes immediately

Performance

  • GPU blur pipeline pre-warmed at launch
  • Per-app CALayer mask rebuilt on-demand via CGWindowList only (~1–3 ms)
  • 250 ms loop skips no-op ticks via rect-signature comparison
  • Preemptive mask rebuild on click only fires for safelisted-app windows

Installation

Download VigilScreen-0.3.4.dmg below, open it, and drag Vigil Screen.app to Applications.

Or via Homebrew:

brew upgrade --cask vigil-screen