#!/bin/bash # /usr/bin/i3exit # with openrc use loginctl [[ $(cat /proc/1/comm) == "systemd" ]] && logind=systemctl || logind=loginctl LOCK_SCREEN_COLOR=${LOCK_SCREEN_COLOR:-29414f} lock() { if command -v blurlock >/dev/null; then blurlock return 0 fi i3lock --color="$LOCK_SCREEN_COLOR" } case "$1" in lock) lock ;; logout) i3-msg exit ;; switch_user) dm-tool switch-to-greeter ;; suspend) lock && $logind suspend ;; hibernate) lock && $logind hibernate ;; reboot) $logind reboot ;; shutdown) $logind poweroff ;; commands) echo "lock,logout,switch_user,suspend,hibernate,reboot,shutdown" ;; help) cmds="$($0 commands)" echo "Usage: $0 ${cmds//\,/\, }" ;; *) echo "== ! i3exit: missing or invalid argument ! ==" $0 help exit 2 esac exit 0