From 9ae225a15a2412e871b0120c65c6cd210597d24d Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 6 Jan 2026 16:45:12 +0100 Subject: [PATCH] Add tweak to bring back suspend option to system menu --- bin/omarchy-menu | 34 +++++++++++++++++++++++++++------- bin/omarchy-toggle-suspend | 13 +++++++++++++ 2 files changed, 40 insertions(+), 7 deletions(-) create mode 100755 bin/omarchy-toggle-suspend diff --git a/bin/omarchy-menu b/bin/omarchy-menu index c17ddf11..2d689c30 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -172,7 +172,7 @@ show_setup_menu() { local options=" Audio\n Wifi\n󰂯 Bluetooth\n󱐋 Power Profile\n󰍹 Monitors" [ -f ~/.config/hypr/bindings.conf ] && options="$options\n Keybindings" [ -f ~/.config/hypr/input.conf ] && options="$options\n Input" - options="$options\n Defaults\n󰱔 DNS\n Security\n Config" + options="$options\n Defaults\n󰱔 DNS\n Security\n Config\n Tweaks" case $(menu "Setup" "$options") in *Audio*) omarchy-launch-audio ;; @@ -186,6 +186,7 @@ show_setup_menu() { *DNS*) present_terminal omarchy-setup-dns ;; *Security*) show_setup_security_menu ;; *Config*) show_setup_config_menu ;; + *Tweaks*) show_setup_tweaks_menu ;; *) show_main_menu ;; esac } @@ -200,6 +201,14 @@ show_setup_power_menu() { fi } +show_setup_security_menu() { + case $(menu "Setup" "󰈷 Fingerprint\n Fido2") in + *Fingerprint*) present_terminal omarchy-setup-fingerprint ;; + *Fido2*) present_terminal omarchy-setup-fido2 ;; + *) show_setup_menu ;; + esac +} + show_setup_config_menu() { case $(menu "Setup" " Hyprland\n Hypridle\n Hyprlock\n Hyprsunset\n Swayosd\n󰌧 Walker\n󰍜 Waybar\n󰞅 XCompose") in *Hyprland*) open_in_editor ~/.config/hypr/hyprland.conf ;; @@ -214,11 +223,17 @@ show_setup_config_menu() { esac } -show_setup_security_menu() { - case $(menu "Setup" "󰈷 Fingerprint\n Fido2") in - *Fingerprint*) present_terminal omarchy-setup-fingerprint ;; - *Fido2*) present_terminal omarchy-setup-fido2 ;; - *) show_setup_menu ;; +show_setup_tweaks_menu() { + local options="" + if [ -f ~/.local/state/omarchy/toggles/suspend-on ]; then + options="$options󰒲 Hide System Menu Suspend" + else + options="$options󰒲 Reveal System Menu Suspend" + fi + + case $(menu "Tweaks" "$options") in + *Suspend*) omarchy-toggle-suspend ;; + *) show_main_menu ;; esac } @@ -493,9 +508,14 @@ show_update_password_menu() { } show_system_menu() { - case $(menu "System" " Lock\n󱄄 Screensaver\n󰜉 Restart\n󰐥 Shutdown") in + local options=" Lock\n󱄄 Screensaver" + [ -f ~/.local/state/omarchy/toggles/suspend-on ] && options="$options\n󰒲 Suspend" + options="$options\n󰜉 Restart\n󰐥 Shutdown" + + case $(menu "System" "$options") in *Lock*) omarchy-lock-screen ;; *Screensaver*) omarchy-launch-screensaver force ;; + *Suspend*) systemctl suspend ;; *Restart*) omarchy-cmd-reboot ;; *Shutdown*) omarchy-cmd-shutdown ;; *) back_to show_main_menu ;; diff --git a/bin/omarchy-toggle-suspend b/bin/omarchy-toggle-suspend new file mode 100755 index 00000000..a2464528 --- /dev/null +++ b/bin/omarchy-toggle-suspend @@ -0,0 +1,13 @@ +#!/bin/bash + +STATE_FILE=~/.local/state/omarchy/toggles/suspend-on + +if [[ ! -f $STATE_FILE ]]; then + mkdir -p "$(dirname $STATE_FILE)" + touch $STATE_FILE + notify-send "󰒲 Suspend now available in system menu" +else + mkdir -p "$(dirname $STATE_FILE)" + rm -f $STATE_FILE + notify-send "󰒲 Suspend removed from system menu" +fi