aboutsummaryrefslogtreecommitdiff
path: root/dotfiles/.local/bin/swaysession
diff options
context:
space:
mode:
Diffstat (limited to 'dotfiles/.local/bin/swaysession')
-rwxr-xr-xdotfiles/.local/bin/swaysession35
1 files changed, 35 insertions, 0 deletions
diff --git a/dotfiles/.local/bin/swaysession b/dotfiles/.local/bin/swaysession
new file mode 100755
index 0000000..0507368
--- /dev/null
+++ b/dotfiles/.local/bin/swaysession
@@ -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
+ ;;
+ poweroff)
+ $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