aboutsummaryrefslogtreecommitdiff
path: root/bin/idlechecker
diff options
context:
space:
mode:
authorAlec Goncharow <alec@goncharow.dev>2025-05-24 12:32:01 -0400
committerAlec Goncharow <alec@goncharow.dev>2025-05-28 16:27:41 -0400
commit42300557bf72c5a267cf89b5902cf58eb1ba6b82 (patch)
treed67736fb7be49853362796109140fe14bbaf64af /bin/idlechecker
parent9047ba4e1b99410a0454d28b2ca62c12440b9476 (diff)
beep boop
Diffstat (limited to 'bin/idlechecker')
-rwxr-xr-xbin/idlechecker33
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'