dotfiles/.config/i3/set-screenlocking-for-sleep.sh

33 lines
779 B
Bash
Executable File

#!/usr/bin/env bash
sleep_lock_service_file="/etc/systemd/system/screenlocker.service"
screenlocker_file_contents="[Unit]
Description=Starts i3lock on suspend
Before=sleep.target
[Service]
User=$USER
Type=forking
Environment=DISPLAY=:0
ExecStart=/home/$USER/.config/i3/screenlocker.sh
[Install]
WantedBy=sleep.target"
if [ "$1" = "set" ]; then
touch "$sleep_lock_service_file"
echo "$screenlocker_file_contents" > "$sleep_lock_service_file"
systemctl enable screenlocker.service
printf "Screenlocking upon closed lid enabled.\n"
elif [ "$1" = "unset" ]; then
systemctl disable screenlocker.service
rm "$sleep_lock_service_file"
printf "Screenlocking upon closed lid disabled.\n"
else
printf "Invalid arguments. Use 'set' or 'unset'.\n"
fi