From 08bf6d075dab5a02524958510bc32006b3c763fc Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Thu, 14 May 2026 01:59:55 -0400 Subject: [PATCH] Consolidate omarchy-shell Hyprland rules; float settings panel Rename apps/quickshell.lua to apps/omarchy-shell.lua and gather every rule that targets a Quickshell surface owned by the shell: - menu and image-selector layer rules (image-selector moved out of apps/system.lua, where it didn't belong with generic floating / media / idle rules) - new window rules so the settings panel floats centered at 960x700 instead of tiling The settings panel is a transient dialog, not a workspace surface, so tiling it disrupts the layout and leaves it awkwardly tall when it lands in a half-screen split. Class+title scoping keeps the rule from leaking into other org.quickshell windows (menu, image picker, etc.). --- default/hypr/apps/omarchy-shell.lua | 15 +++++++++++++++ default/hypr/apps/quickshell.lua | 2 -- default/hypr/apps/system.lua | 3 --- 3 files changed, 15 insertions(+), 5 deletions(-) create mode 100644 default/hypr/apps/omarchy-shell.lua delete mode 100644 default/hypr/apps/quickshell.lua diff --git a/default/hypr/apps/omarchy-shell.lua b/default/hypr/apps/omarchy-shell.lua new file mode 100644 index 00000000..2623aab9 --- /dev/null +++ b/default/hypr/apps/omarchy-shell.lua @@ -0,0 +1,15 @@ +-- Window and layer rules for the Omarchy Quickshell surfaces. The +-- shell-wide bar / menu / popouts are layer-shell; the settings panel is +-- a regular Hyprland window via Quickshell's FloatingWindow. + +-- Keep the menu instant: no layer-shell fade/slide animation. +hl.layer_rule({ match = { namespace = "omarchy-menu" }, no_anim = true, animation = "none" }) + +-- Image selector overlay should also pop without animation. +hl.layer_rule({ match = { namespace = "omarchy-image-selector" }, no_anim = true, animation = "none" }) + +-- Settings panel floats centered with a sensible default size instead of +-- tiling — it's a transient dialog, not a workspace surface. +hl.window_rule({ match = { class = "^org.quickshell$", title = "^Omarchy Settings$" }, float = true }) +hl.window_rule({ match = { class = "^org.quickshell$", title = "^Omarchy Settings$" }, center = true }) +hl.window_rule({ match = { class = "^org.quickshell$", title = "^Omarchy Settings$" }, size = { 960, 700 } }) diff --git a/default/hypr/apps/quickshell.lua b/default/hypr/apps/quickshell.lua deleted file mode 100644 index 5d61dca7..00000000 --- a/default/hypr/apps/quickshell.lua +++ /dev/null @@ -1,2 +0,0 @@ --- Keep the menu instant: no layer-shell fade/slide animation. -hl.layer_rule({ match = { namespace = "omarchy-menu" }, no_anim = true, animation = "none" }) diff --git a/default/hypr/apps/system.lua b/default/hypr/apps/system.lua index 0429a880..71e828fe 100644 --- a/default/hypr/apps/system.lua +++ b/default/hypr/apps/system.lua @@ -21,6 +21,3 @@ hl.window_rule({ match = { tag = "pop" }, rounding = 8 }) -- Prevent idle while open. hl.window_rule({ match = { tag = "noidle" }, idle_inhibit = "always" }) - --- Image selector. -hl.layer_rule({ match = { namespace = "omarchy-image-selector" }, no_anim = true, animation = "none" })