diff options
| author | Alec Goncharow <alec@goncharow.dev> | 2025-05-24 12:32:01 -0400 |
|---|---|---|
| committer | Alec Goncharow <alec@goncharow.dev> | 2025-05-28 16:27:41 -0400 |
| commit | 42300557bf72c5a267cf89b5902cf58eb1ba6b82 (patch) | |
| tree | d67736fb7be49853362796109140fe14bbaf64af /bin/idlechecker | |
| parent | 9047ba4e1b99410a0454d28b2ca62c12440b9476 (diff) | |
beep boop
Diffstat (limited to 'bin/idlechecker')
| -rwxr-xr-x | bin/idlechecker | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/bin/idlechecker b/bin/idlechecker index 36261e9..197d534 100755 --- a/bin/idlechecker +++ b/bin/idlechecker @@ -1,6 +1,37 @@ #!/bin/sh +LOCKFILE="$HOME/.local/state/algo/swayidle.lock" +LOCKDIR="$(dirname "$LOCKFILE")" + +# Ensure the directory exists +mkdir -p "$LOCKDIR" + +# Check if lockfile exists and process is running +if [ -e "$LOCKFILE" ]; then + LOCKPID=$(cat "$LOCKFILE") + if kill -0 "$LOCKPID" 2>/dev/null; then + echo "swayidle is already running with PID $LOCKPID" + exit 1 + else + echo "Stale lockfile found. Removing." + rm -f "$LOCKFILE" + fi +fi + +# Create lockfile with current PID +echo $$ > "$LOCKFILE" + +# Function to clean up on exit +cleanup() { + rm -f "$LOCKFILE" +} +trap cleanup EXIT + + # xss-lock -- ./pretty-lock & swayidle -w \ timeout 300 '~/bin/pretty-lock' \ - before-sleep '~/bin/pretty-lock' + timeout 500 'swaymsg "output * dpms off"' \ + resume 'swaymsg "output * dpms on"' \ + before-sleep 'swaymsg "output * dpms off"' \ + before-sleep '~/bin/pretty-lock' |
