dotfiles/i3/scripte/lock.sh

73 lines
1.2 KiB
Bash
Raw Normal View History

2022-07-17 12:55:05 +02:00
#!/bin/bash
2022-07-17 12:25:54 +02:00
function lock {
# Take a screenshot
scrot /tmp/screen_locked.png
# Pixellate it 10x
mogrify -scale 10% -scale 1000% /tmp/screen_locked.png
# Lock screen displaying this image.
i3lock -i /tmp/screen_locked.png
# delete Image
rm -f /tmp/screen_locked.png
}
function reboot {
lock
sudo systemctl reboot
}
function shutdown {
lock
sudo systemctl shutdown
}
function suspend {
lock
sudo systemctl suspend
}
function hibernate {
lock
sudo systemctl reboot
}
2022-07-17 12:57:06 +02:00
function help {
2022-07-17 12:25:54 +02:00
echo "
Usage:
2022-07-17 12:57:06 +02:00
./build.sh [-r|-s|-sd|-hb]
2022-07-17 12:25:54 +02:00
Arguments:
-r, --reboot Reboot this system.
-s, --shutdown Shutdown this system.
-sd, --suspend Suspends this system.
-hb, --hibernate Hibernates this system.
-h, --help Displays this help.
"
}
function display_off {
# Turn the screen off
xset dpms force off
}
2022-07-17 12:57:06 +02:00
if [[ -n "$1" ]]; then
case "$1" in
--reboot | -r)
reboot
;;
--shutdown | -s)
shutdown
;;
--suspend | -sd)
suspend
;;
--hibernate | -hb)
hibernate
;;
--help | -h)
2022-07-17 12:57:38 +02:00
help
2022-07-17 12:57:06 +02:00
exit 0
;;
*)
echo -e "\e[31mUnbekannter Paremeter!"
exit 1
esac
else
lock
fi