aboutsummaryrefslogtreecommitdiff
path: root/dotfiles/.scripts/i3session
diff options
context:
space:
mode:
Diffstat (limited to 'dotfiles/.scripts/i3session')
-rwxr-xr-xdotfiles/.scripts/i3session35
1 files changed, 35 insertions, 0 deletions
diff --git a/dotfiles/.scripts/i3session b/dotfiles/.scripts/i3session
new file mode 100755
index 0000000..17f99ca
--- /dev/null
+++ b/dotfiles/.scripts/i3session
@@ -0,0 +1,35 @@
+#!/bin/sh
+# /usr/bin/i3exit
+
+# on void just sudo
+[[ $(cat /proc/1/comm) == "systemd" ]] && logind=systemctl || logind=loginctl
+
+case "$1" in
+ lock)
+ lock-color
+ ;;
+ logout)
+ swaymsg exit
+ ;;
+ switch_user)
+ dm-tool switch-to-greeter
+ ;;
+ suspend)
+ lock-color & sleep 1 && $logind suspend
+ ;;
+ hibernate)
+ lock-color & sleep 1 && $logind hibernate
+ ;;
+ reboot)
+ $logind reboot
+ ;;
+ shutdown)
+ $logind poweroff
+ ;;
+ *)
+ echo "== ! i3exit: missing or invalid argument ! =="
+ echo "Try again with: lock | logout | switch_user | suspend | hibernate | reboot | shutdown"
+ exit 2
+esac
+
+exit 0