diff --git a/sway/idle.sh b/sway/idle.sh new file mode 100755 index 0000000..5fc8a38 --- /dev/null +++ b/sway/idle.sh @@ -0,0 +1,43 @@ +#!/bin/bash + +BLFILE="/home/jpm/.config/blc.last" +OPFILE="/home/jpm/.config/active_outputs" + +if [ -z $1 ]; then + echo "Missing argument: run, warn, sleep or" \ + " wake" +elif [ $1 == "start" ]; then + swayidle -w timeout 270 "/home/jpm/scripts/sway/idle.sh warn" \ + resume "/home/jpm/scripts/sway/idle.sh resume" \ + timeout 300 "/home/jpm/scripts/sway/idle.sh sleep" \ + resume "/home/jpm/scripts/sway/idle.sh wake" \ + before-sleep "/usr/bin/swaylock -c 323232" +elif [ $1 == "warn" ]; then + # Store current brightness + echo $(/home/jpm/scripts/thinkpad/blc.pl %) > $BLFILE + # Dim display + /home/jpm/scripts/thinkpad/blc.pl = 1 + # Warning notifications + /home/jpm/scripts/sway/idlecountdown.sh +elif [ $1 == "sleep" ]; then + # Change nick to AFK + ssh jpm@john.me.tz -i /home/jpm/.ssh/no_pass -t \ + 'screen -S irssi -X stuff "/nick jpmAFK^M"' + # Turn off monitor + for i in `cat $OPFILE`; do swaymsg "output $i dpms off"; done +elif [ $1 == "wake" ]; then + # Kill additional counters that might have been started + /home/jpm/scripts/sway/idle.sh resume + # Restore output(s) + /home/jpm/scripts/sway/displays.pl + #for i in `cat $OPFILE`; do swaymsg "output $i dpms on"; done + # Lock screen + swaylock -c 323232 + # Restore brightness level + /home/jpm/scripts/thinkpad/blc.pl = $(cat $BLFILE) +elif [ $1 == "resume" ]; then + # Kill warning + for i in `pgrep idlecountdown`; do kill $i; done +else + echo "Invalid argument: run, sleep or wake" +fi diff --git a/sway/idlecountdown.sh b/sway/idlecountdown.sh new file mode 100755 index 0000000..b2cef69 --- /dev/null +++ b/sway/idlecountdown.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +for i in `seq 0 30`; do + notify-send -t 999 "Sleeping" $(expr 30 - $i); sleep 1 +done