dotfiles/dot_local/bin/executable_idle-launcher.tmpl

54 lines
1.6 KiB
Bash

#!/bin/sh
time=$(date +"%b %d, %Y %T")
log_file=$XDG_STATE_HOME/idle.log
echo "--- $time ---" > "$log_file"
# kill process if already running
user=$(id -u)
pid=$(ps -u "$user" | awk '/\<swayidle\>/ {print $1}')
if [ "$pid" != "" ]; then
echo "Sending SIGTERM to swayidle." >> "$log_file"
kill "$pid"
sleep 1
fi
pid=$(ps -u "$user" | awk '/\<swayidle\>/ {print $1}')
if [ "$pid" != "" ]; then
echo "Sending SIGKILL to swayidle." >> "$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 1 > $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 }}