feat(umbriel): enhance window bindings and monitor layouts

This commit is contained in:
Prad Nukala committed 2026-10-18 13:29:57 -04:00
1 parent 886171171d
commit f65ff3dfbe
3 files changed
+70 -11

No files matched your search

+9 -2
View File
@@ -18,6 +18,7 @@
"Mod+Period" = { action = "spawn:noctalia msg panel-toggle control-center", repeat = false } "Mod+Period" = { action = "spawn:noctalia msg panel-toggle control-center", repeat = false }
"Mod+Comma" = { action = "spawn:noctalia msg settings-toggle", repeat = false } "Mod+Comma" = { action = "spawn:noctalia msg settings-toggle", repeat = false }
"Super+Alt+Ctrl+N" = { action = "spawn:noctalia msg panel-open noctalia/notes:panel", repeat = false } "Super+Alt+Ctrl+N" = { action = "spawn:noctalia msg panel-open noctalia/notes:panel", repeat = false }
"Mod+Shift+B" = { action = "spawn:noctalia msg panel-toggle dunarand/bookmarks:panel", repeat = false }
"Mod+Ctrl+R" = { action = "spawn:noctalia msg plugin prdlk/ostt:recorder focused toggle", repeat = false } "Mod+Ctrl+R" = { action = "spawn:noctalia msg plugin prdlk/ostt:recorder focused toggle", repeat = false }
"Mod+Shift+Q" = { action = "spawn:noctalia msg panel-toggle session", repeat = false } "Mod+Shift+Q" = { action = "spawn:noctalia msg panel-toggle session", repeat = false }
"Mod+Shift+E" = "session-quit" "Mod+Shift+E" = "session-quit"
@@ -51,7 +52,7 @@
# which lacks ~/.local/bin, hence the explicit path. # which lacks ~/.local/bin, hence the explicit path.
"Super+Alt+Ctrl+J" = { action = "spawn:~/.local/bin/umbriel-launch '^(com[.]mitchellh[.]ghostty|kitty|alacritty)' ghostty", repeat = false } "Super+Alt+Ctrl+J" = { action = "spawn:~/.local/bin/umbriel-launch '^(com[.]mitchellh[.]ghostty|kitty|alacritty)' ghostty", repeat = false }
"Super+Alt+Ctrl+K" = { action = "spawn:~/.local/bin/umbriel-launch '^brave-origin$' brave-origin", repeat = false } "Super+Alt+Ctrl+K" = { action = "spawn:~/.local/bin/umbriel-launch '^(brave-origin|chromium|firefox)$' brave-origin", repeat = false }
"Super+Alt+Ctrl+G" = { action = "spawn:~/.local/bin/umbriel-launch ghostty ghostty", repeat = false } "Super+Alt+Ctrl+G" = { action = "spawn:~/.local/bin/umbriel-launch ghostty ghostty", repeat = false }
"Super+Alt+Ctrl+O" = { action = "spawn:~/.local/bin/umbriel-launch '^obsidian$' obsidian", repeat = false } "Super+Alt+Ctrl+O" = { action = "spawn:~/.local/bin/umbriel-launch '^obsidian$' obsidian", repeat = false }
"Super+Alt+Ctrl+F" = { action = "spawn:~/.local/bin/umbriel-launch '^io[.]github[.]lgse[.]Strata$' gtk-launch io.github.lgse.Strata", repeat = false } "Super+Alt+Ctrl+F" = { action = "spawn:~/.local/bin/umbriel-launch '^io[.]github[.]lgse[.]Strata$' gtk-launch io.github.lgse.Strata", repeat = false }
@@ -108,10 +109,16 @@
"Alt+Shift+L" = "window-modify-primary-extent:0.1" "Alt+Shift+L" = "window-modify-primary-extent:0.1"
"Alt+Shift+J" = "window-modify-secondary-extent:-0.1" "Alt+Shift+J" = "window-modify-secondary-extent:-0.1"
"Alt+Shift+K" = "window-modify-secondary-extent:0.1" "Alt+Shift+K" = "window-modify-secondary-extent:0.1"
# Nudge the focused floating window 50 logical px, vim directions (held keys
# repeat). window-move-by needs umbriel-git; the [cachyos] build lacks it.
"Alt+H" = "window-move-by:-50/0"
"Alt+J" = "window-move-by:0/50"
"Alt+K" = "window-move-by:0/-50"
"Alt+L" = "window-move-by:50/0"
"Mod+F" = { action = "window-toggle-maximize", repeat = false } "Mod+F" = { action = "window-toggle-maximize", repeat = false }
"Mod+Shift+F" = { action = "window-toggle-maximize-to-edges", repeat = false } "Mod+Shift+F" = { action = "window-toggle-maximize-to-edges", repeat = false }
"Mod+Ctrl+F" = { action = "window-toggle-fullscreen", repeat = false } "Mod+Ctrl+F" = { action = "window-toggle-fullscreen", repeat = false }
"Mod+C" = "column-center" "Mod+C" = { action = "spawn:~/.local/bin/umbriel-float-square", repeat = false }
"Mod+T" = { action = "window-toggle-floating", repeat = false } "Mod+T" = { action = "window-toggle-floating", repeat = false }
# Super+W flips the active workspace between scrolling and dwindle (Hyprland's # Super+W flips the active workspace between scrolling and dwindle (Hyprland's
# omarchy-toggle-layout). Super+G tabs the focused window with the windows # omarchy-toggle-layout). Super+G tabs the focused window with the windows
+59 -7
View File
@@ -4,10 +4,10 @@
# #
# Scale: the externals land near 110 logical px per inch (the ultrawide's # Scale: the externals land near 110 logical px per inch (the ultrawide's
# native density), so a window keeps its size moving between them. The laptop # native density), so a window keeps its size moving between them. The laptop
# panel runs denser (149) at 1.5: at 2 its 1280x800 felt too zoomed in. # panel runs denser (112) at 2: 1280x800 logical.
# #
# display physical ppi scale logical logical ppi # display physical ppi scale logical logical ppi
# laptop panel 2560x1600 224 1.5 1706x1066 149 # laptop panel 2560x1600 224 2 1280x800 112
# Studio Display 5120x2880 218 2 2560x1440 109 # Studio Display 5120x2880 218 2 2560x1440 109
# ultrawide 3440x1440 110 1 3440x1440 110 # ultrawide 3440x1440 110 1 3440x1440 110
# portables 1920x1080 141 1.25 1536x864 113 # portables 1920x1080 141 1.25 1536x864 113
@@ -23,29 +23,81 @@
# Laptop panel, eDP-1 (niri 91-internal-display). # Laptop panel, eDP-1 (niri 91-internal-display).
[output."Tianma Microelectronics Ltd. TL134ADXP03 Unknown"] [output."Tianma Microelectronics Ltd. TL134ADXP03 Unknown"]
position = [0, 0] position = [0, 0]
scale = 1.5 scale = 2.0
vrr = "fullscreen" vrr = "fullscreen"
focus_at_startup = true focus_at_startup = true
# New scrolling columns take 80% of the narrow panel (global default is 1/3).
[output."Tianma Microelectronics Ltd. TL134ADXP03 Unknown".layout.scrolling]
default_extent_fraction = 0.8
# Apple Studio Display (niri 93-apple-display): 2560x1440 logical. # Apple Studio Display (niri 93-apple-display): 2560x1440 logical.
[output."Apple Computer Inc StudioDisplay 0x984262A7"] [output."Apple Computer Inc StudioDisplay 0x984262A7"]
position = [-2560, -374] position = [-2560, -640]
scale = 2.0 scale = 2.0
# Samsung ultrawide (niri 92-ultrawide, Hyprland monitors.lua): 3440x1440. # Samsung ultrawide (niri 92-ultrawide, Hyprland monitors.lua): 3440x1440.
[output."Samsung Electric Company S34CG50 HNTY501103"] [output."Samsung Electric Company S34CG50 HNTY501103"]
mode = "3440x1440@100" mode = "3440x1440@100"
position = [-3440, -374] position = [-3440, -640]
scale = 1.0 scale = 1.0
vrr = "fullscreen" vrr = "fullscreen"
# Ultrawide workspaces start in dwindle. Umbriel has no per-output layout mode;
# workspace rules need a name or an index, so positions 1–9 (Mod+1…9) each get
# one. Mod+W still flips a workspace back to scrolling.
[[workspace]]
index = 1
output = "Samsung Electric Company S34CG50 HNTY501103"
layout.mode = "dwindle"
[[workspace]]
index = 2
output = "Samsung Electric Company S34CG50 HNTY501103"
layout.mode = "dwindle"
[[workspace]]
index = 3
output = "Samsung Electric Company S34CG50 HNTY501103"
layout.mode = "dwindle"
[[workspace]]
index = 4
output = "Samsung Electric Company S34CG50 HNTY501103"
layout.mode = "dwindle"
[[workspace]]
index = 5
output = "Samsung Electric Company S34CG50 HNTY501103"
layout.mode = "dwindle"
[[workspace]]
index = 6
output = "Samsung Electric Company S34CG50 HNTY501103"
layout.mode = "dwindle"
[[workspace]]
index = 7
output = "Samsung Electric Company S34CG50 HNTY501103"
layout.mode = "dwindle"
[[workspace]]
index = 8
output = "Samsung Electric Company S34CG50 HNTY501103"
layout.mode = "dwindle"
[[workspace]]
index = 9
output = "Samsung Electric Company S34CG50 HNTY501103"
layout.mode = "dwindle"
# Portable HDMI panel, mounted portrait (niri 94-portable-hdmi): 864x1536. # Portable HDMI panel, mounted portrait (niri 94-portable-hdmi): 864x1536.
[output."PNP(AOP) 16PM1QB 14490001D3X00"] [output."PNP(AOP) 16PM1QB 14490001D3X00"]
transform = "90" transform = "90"
position = [-864, -470] position = [-864, -736]
scale = 1.25 scale = 1.25
# Portable USB-C panel (niri 95-portable-usbc): 1536x864. # Portable USB-C panel (niri 95-portable-usbc): 1536x864.
[output."ASUSTek COMPUTER INC ASUS MB16AC M8LMTF195749"] [output."ASUSTek COMPUTER INC ASUS MB16AC M8LMTF195749"]
position = [-1536, 202] position = [-1536, -64]
scale = 1.25 scale = 1.25
+2 -2
View File
@@ -146,8 +146,8 @@ default_scratchpad = "lmstudio"
# Presentation shared by every scratchpad resident: floating, centered on the # Presentation shared by every scratchpad resident: floating, centered on the
# output, 48% × 77% of its usable area (1638×1109 on the ultrawide, the size # output, 48% × 77% of its usable area (1638×1109 on the ultrawide, the size
# Fastmail was resized to; 819×799 on the laptop panel; 1229×1109 on the Studio # Fastmail was resized to; 614×594 on the laptop panel; 1229×1109 on the Studio
# Display). Fractions rather than px so it fits the laptop's 1038px height. # Display). Fractions rather than px so it fits the laptop's 772px height.
# Last, so it overrides default_floating = false from the translucent-apps # Last, so it overrides default_floating = false from the translucent-apps
# rule for Claude and Beeper. # rule for Claude and Beeper.
[[window_rule]] [[window_rule]]