#!/bin/sh # with openrc use loginctl [ "$(cat /proc/1/comm)" = "systemd" ] && logind=systemctl || logind=loginctl case "$1" in lock) xscreensaver-command -lock ;; logout) i3-msg exit ;; switch_user) dm-tool switch-to-greeter ;; suspend) xscreensaver-command -lock && $logind suspend ;; hibernate) xscreensaver-command -lock && $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