24 lines
607 B
Bash
Executable file
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'
|