dotfiles/.config/sway/startwlrscreensaver.sh

47 lines
1.1 KiB
Bash
Raw Normal View History

2021-12-12 17:54:28 +01:00
#!/bin/bash
# Basic configuration variables
2021-12-13 21:55:51 +01:00
ScreensaverTime="1200" # 20 minutes
2021-12-12 17:54:28 +01:00
# Load script for load monitors config quickly from resume
LoadConfigResume="${HOME}/.config/sway/startwlrrandr.sh"
2021-12-12 18:03:30 +01:00
# StateFile variable
stateFile="${HOME}/.config/sway/screen-state"
# Start/Restart nwg-wrapper
nwgWrapperRestart="${HOME}/.config/sway/nwg-wrapper-conky.sh"
2021-12-12 17:54:28 +01:00
# Function for sleep monitors
function sleepMonitors() {
2025-05-25 09:27:35 +02:00
#swaylock --color 000000 -f
swaymsg "output * dpms off"
2021-12-12 18:03:30 +01:00
echo "sleep" > ${stateFile}
2021-12-12 17:54:28 +01:00
}
# Function for resume monitors
function resumeMonitors() {
2025-05-25 09:27:35 +02:00
swaymsg "output * dpms on"
2021-12-12 17:54:28 +01:00
# Load monitors config quickly
2025-05-25 09:27:35 +02:00
#bash ${LoadConfigResume} screensaver
2021-12-12 18:03:30 +01:00
echo "resume" > ${stateFile}
# Restart nwg-wrapper
sleep 2
bash ${nwgWrapperRestart}
2021-12-12 17:54:28 +01:00
}
# Boot parameters
if [ -z "${1}" ] ; then
# Kill previous process
2023-05-01 10:30:33 +02:00
echo "# Trying to kill previous process"
killall -9 swayidle 2> /dev/null
2021-12-12 17:54:28 +01:00
# Init swayidle command
2025-05-25 09:27:35 +02:00
sleep 3
2021-12-12 17:54:28 +01:00
swayidle timeout ${ScreensaverTime} "bash ${0} sleep" resume "bash ${0} resume"
elif [ "${1}" == "sleep" ] ; then
sleepMonitors
elif [ "${1}" == "resume" ] ; then
resumeMonitors
fi