dotfiles/dot_local/bin/executable_idle-launcher.tmpl

56 lines
1.7 KiB
Bash

#!/bin/sh
if test -n "$XDG_STATE_HOME"; then
log_file=$XDG_STATE_HOME/idle.log
else
log_file=$HOME/.local/state/idle.log
fi
echo "--- $(date +"%Y-%m-%d %T") ---" > "$log_file"
# kill process if already running
user=$(id -u)
pid=$(ps -o pid,comm -u "$user" | awk '$2=="swayidle" {print $1}')
if [ "$pid" != "" ]; then
echo "Restarting... Sending SIGTERM." >> "$log_file"
kill "$pid"
sleep 1
fi
pid=$(ps -o pid,comm -p "$pid" | awk '$2=="swayidle" {print $1}')
if [ "$pid" != "" ]; then
echo "Restarting... Sending SIGKILL." >> "$log_file"
kill -9 "$pid"
sleep 1
fi
{{ if eq .chezmoi.hostname "helix" -}}
# dim: 2m, lock: 5m, display: 15m, suspend: 1h
brightness="/sys/class/backlight/amdgpu_bl1/brightness"
prev_brightness="${XDG_STATE_HOME}/prev_brightness"
swayidle -w \
timeout 120 "cat $brightness > $prev_brightness && echo 0 > $brightness" \
resume "cat $prev_brightness > $brightness" \
timeout 300 'waylock-launcher' \
resume "cat $prev_brightness > $brightness" \
timeout 900 "cat $prev_brightness > $brightness && wlr-randr --output eDP-1 --off" \
resume "wlr-randr --output eDP-1 --on && kanshictl reload" \
timeout 3600 "loginctl suspend-then-hibernate" \
resume "wlr-randr --output eDP-1 --on && kanshictl reload" \
lock "waylock-launcher" \
before-sleep "waylock-launcher" \
2>&1 | tee -a "$log_file" &
{{- else if eq .chezmoi.hostname "hydrus" }}
# lock: 5m, display: 15m
swayidle -w \
timeout 300 'waylock-launcher' \
timeout 900 'kanshictl switch dual-off' \
resume 'kanshictl switch dual' \
lock 'waylock-launcher' \
before-sleep 'waylock-launcher' \
2>&1 | tee -a "$log_file" &
{{- else }}
# lock after 5m
swayidle -w \
timeout 300 'waylock-launcher' \
2>&1 | tee -a "$log_file" &
{{ end }}