mirror of
https://github.com/acamarata/curtain.git
synced 2026-06-30 18:54:25 +00:00
Menu-bar agent that, on a Screen Sharing connection, covers the host displays and blocks physical keyboard/mouse from the apps while remote input passes through, then locks the Mac on idle or disconnect. - netstat-based session detection (debounced) - CGEventTap input filter (block physical sourceStateID==1, pass remote) - .none/.readOnly cover windows with on-curtain password box - SACLockScreenImmediate lock + IOKit display-sleep assertion - root helper (NOPASSWD) to disconnect the Screen Sharing session - install/uninstall scripts, app bundle, login agent, CI
19 lines
723 B
Bash
Executable file
19 lines
723 B
Bash
Executable file
#!/bin/bash
|
|
# Curtain uninstaller — removes the app, login agent, and root helper.
|
|
set -uo pipefail
|
|
|
|
AGENT="$HOME/Library/LaunchAgents/io.acamarata.curtain.plist"
|
|
|
|
echo "==> Stopping agent…"
|
|
launchctl unload "$AGENT" 2>/dev/null || true
|
|
rm -f "$AGENT"
|
|
pkill -x Curtain 2>/dev/null || true
|
|
|
|
echo "==> Removing app + settings…"
|
|
rm -rf "/Applications/Curtain.app"
|
|
rm -rf "$HOME/Library/Application Support/Curtain"
|
|
|
|
echo "==> Removing root helper (needs admin)…"
|
|
osascript -e "do shell script \"rm -f /usr/local/bin/curtain-endsession /etc/sudoers.d/curtain-endsession\" with administrator privileges" || true
|
|
|
|
echo "✅ Curtain uninstalled. You may also remove it from System Settings → Privacy → Accessibility."
|