Switch to dotbot
This commit is contained in:
86
i3/scripts/i3exit
Executable file
86
i3/scripts/i3exit
Executable file
@@ -0,0 +1,86 @@
|
||||
#!/bin/bash
|
||||
|
||||
### From http://www.archlinux.org/index.php/i3
|
||||
|
||||
_logfile="$LOGDIR/i3/i3exit.log"
|
||||
LOCKSCREEN="$LIBDIR/wallpaper/lockscreen"
|
||||
|
||||
_fallback_color=000000
|
||||
|
||||
touch "$_logfile"
|
||||
|
||||
log()
|
||||
{
|
||||
echo "$*"
|
||||
echo "[$(date +%FT%T)] $*" >> "$_logfile"
|
||||
}
|
||||
|
||||
lock()
|
||||
{
|
||||
if [[ -f "$LOCKSCREEN" ]] ; then
|
||||
i3lock --nofork --show-failed-attempts --ignore-empty-password \
|
||||
--pointer win --image "$LOCKSCREEN"
|
||||
else
|
||||
i3lock --nofork --show-failed-attempts --ignore-empty-password \
|
||||
--color "$_fallback_color"
|
||||
fi
|
||||
}
|
||||
|
||||
screen_off() {
|
||||
xset dpms force off
|
||||
}
|
||||
|
||||
reset_screen() {
|
||||
xset -dpms
|
||||
xset s off
|
||||
}
|
||||
|
||||
lock_and_screen_off() {
|
||||
lock &
|
||||
_pid=$!
|
||||
screen_off
|
||||
wait $_pid
|
||||
reset_screen
|
||||
}
|
||||
|
||||
signal="$1"
|
||||
log "[I] Received signal \"$signal\"."
|
||||
|
||||
case "$signal" in
|
||||
lock)
|
||||
log "[I] Locking session."
|
||||
lock_and_screen_off
|
||||
;;
|
||||
logout)
|
||||
log "[I] Exiting i3."
|
||||
i3-msg exit
|
||||
;;
|
||||
suspend)
|
||||
log "[I] Suspending."
|
||||
lock_and_screen_off &
|
||||
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."
|
||||
lock_and_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
|
||||
Reference in New Issue
Block a user