70 lines
1.2 KiB
Bash
Executable File
70 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
### From http://www.archlinux.org/index.php/i3
|
|
|
|
_logfile="$LOGDIR/i3/i3exit.log"
|
|
|
|
_fallback_color=000000
|
|
|
|
touch "$_logfile"
|
|
|
|
log()
|
|
{
|
|
echo "$*"
|
|
echo "[$(date +%FT%T)] $*" >> "$_logfile"
|
|
}
|
|
|
|
lock()
|
|
{
|
|
if [[ "$LOCKSCREEN" ]] ; then
|
|
i3lock --show-failed-attempts --image "$LOCKSCREEN"
|
|
else
|
|
i3lock --show-failed-attempts --color "$_fallback_color"
|
|
fi
|
|
}
|
|
|
|
screen_off() {
|
|
xset dpms force off
|
|
}
|
|
|
|
signal="$1"
|
|
log "[I] Received signal \"$signal\"."
|
|
|
|
case "$signal" in
|
|
lock)
|
|
log "[I] Locking session."
|
|
lock && screen_off
|
|
;;
|
|
logout)
|
|
log "[I] Exiting i3."
|
|
i3-msg exit
|
|
;;
|
|
suspend)
|
|
log "[I] Suspending."
|
|
lock && systemctl suspend
|
|
;;
|
|
hibernate)
|
|
log "[I] Hibernating."
|
|
systemctl hibernate
|
|
;;
|
|
reboot)
|
|
log "[I] Rebooting."
|
|
systemctl reboot
|
|
;;
|
|
shutdown)
|
|
log "[I] Shutting down."
|
|
systemctl poweroff
|
|
;;
|
|
screen-off)
|
|
log "[I] Turning screen off."
|
|
screen_off
|
|
;;
|
|
*)
|
|
echo "Usage: $0 {lock|logout|suspend|hibernate|reboot|shutdown}"
|
|
log "[E] Signal \"$signal\" unknown. Aborting."
|
|
exit 2
|
|
esac
|
|
|
|
log "[I] Done."
|
|
exit 0
|