.dotfiles/linux_home/.config/sway/idle.sh

24 lines
607 B
Bash
Executable file

#!/bin/bash
# Track the current inhibition state
inhibited=0
# Check player status and adjust idle inhibition
while true; do
if playerctl status | grep -q "Playing"; then
if [ "$inhibited" -eq 0 ]; then
swaymsg "inhibit_idle on"
inhibited=1
fi
else
if [ "$inhibited" -eq 1 ]; then
swaymsg "inhibit_idle off"
inhibited=0
fi
fi
sleep 5 # Check every 5 seconds
done &
exec swayidle -w \
timeout 300 'swaylock -f -c 000000' \
timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
before-sleep 'swaylock -f -c 000000'