Exclude overlays from screenshots via SLS tag bit 9
Sets tag bits (1<<1) | (1<<9) on every overlay window: bit 1 is
kCGSIgnoreForEvents (click-through), bit 9 hides the window from
ScreenCaptureKit, the screenshot picker, and screen recordings.
Mirrors JankyBorders' approach (.refs/JankyBorders/src/border.c:290
and .refs/JankyBorders/src/misc/window.h:266).
Tags are now set BEFORE SLWindowContextCreate / drawing, which is the
critical difference from the prior tag-based attempt that poisoned
SLSNewWindow on stack-cycle recreates. Removes the now-redundant
SLSSetWindowEventShape/Mask, SLSSetWindowSharingState, and
SLSSetWindowClientPerceivedType bindings.
kCGSIgnoreForEvents (click-through), bit 9 hides the window from
ScreenCaptureKit, the screenshot picker, and screen recordings.
Mirrors JankyBorders' approach (.refs/JankyBorders/src/border.c:290
and .refs/JankyBorders/src/misc/window.h:266).
Tags are now set BEFORE SLWindowContextCreate / drawing, which is the
critical difference from the prior tag-based attempt that poisoned
SLSNewWindow on stack-cycle recreates. Removes the now-redundant
SLSSetWindowEventShape/Mask, SLSSetWindowSharingState, and
SLSSetWindowClientPerceivedType bindings.
Authored by
mfwolffe <wolffemf@dukes.jmu.edu>
- SHA
cd9587f96bedc37cd8bd887715fc5815094f4834- Parents
-
24073c1 - Tree
d0fedce