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 leak —
CFRunLoopSourceis 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
CALayermask rebuilt on-demand viaCGWindowListonly (~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