Files
arthur-os/bin/omarchy-system-lock

24 lines
779 B
Bash
Executable File

#!/bin/bash
# omarchy:summary=Lock the computer and turn off the display
# omarchy:group=system
# omarchy:name=lock
# omarchy:examples=omarchy system lock
omarchy-shell lock lock >/dev/null
# Set keyboard layout to default (first layout)
hyprctl switchxkblayout all 0 > /dev/null 2>&1
# Ensure 1password is locked. Use timeout because `1password --lock` can
# otherwise leave a full Electron helper tree running after each lock.
if pgrep -x "1password" >/dev/null && command -v 1password >/dev/null 2>&1; then
(
flock -n 9 || exit 0
timeout --kill-after=1s 3s 1password --lock >/dev/null 2>&1 || true
) 9>"${XDG_RUNTIME_DIR:-/tmp}/omarchy-1password-lock.lock" &
fi
# Avoid running screensaver when locked
pkill -f '[o]rg.omarchy.screensaver' 2>/dev/null || true