Add Logout to system menu and style the SDDM login screen

This commit is contained in:
David Heinemeier Hansson
2026-02-21 14:09:14 +01:00
parent c24c184d8f
commit 2a38dc7d2e
8 changed files with 123 additions and 3 deletions
+3 -2
View File
@@ -566,14 +566,15 @@ show_about() {
}
show_system_menu() {
local options=" Lock\n󱄄 Screensaver"
local options="󱄄 Screensaver\n Lock\n󰍃 Logout"
[[ -f ~/.local/state/omarchy/toggles/suspend-on ]] && options="$options\n󰒲 Suspend"
omarchy-hibernation-available && options="$options\n󰤁 Hibernate"
options="$options\n󰜉 Restart\n󰐥 Shutdown"
case $(menu "System" "$options") in
*Lock*) omarchy-lock-screen ;;
*Screensaver*) omarchy-launch-screensaver force ;;
*Lock*) omarchy-lock-screen ;;
*Logout*) omarchy-system-logout ;;
*Suspend*) systemctl suspend ;;
*Hibernate*) systemctl hibernate ;;
*Restart*) omarchy-cmd-reboot ;;
+11
View File
@@ -0,0 +1,11 @@
#!/bin/bash
# Logout command that first closes all application windows (thus giving them a chance to save state),
# then stops the session, returning to the SDDM login screen.
# Schedule the session stop after closing windows (detached from terminal)
nohup bash -c "sleep 2 && uwsm stop" >/dev/null 2>&1 &
# Now close all windows
omarchy-hyprland-window-close-all
sleep 1 # Allow apps like Chrome to shutdown correctly