mirror of
https://github.com/prdlk/dotfiles.git
synced 2026-11-02 11:32:42 +00:00
feat(umbriel): enhance workspace layouts and focus behavior
This commit is contained in:
1 parent
965cdaa000
commit
2bae3e12b9
4 files changed
+28
-22
No files matched your search
@@ -151,7 +151,8 @@ Noctalia's bar, panels, notifications, dock, OSD, and desktop widgets get blur t
|
|||||||
| `Mod+Ctrl+F` | fullscreen |
|
| `Mod+Ctrl+F` | fullscreen |
|
||||||
| `Mod+C` | center column |
|
| `Mod+C` | center column |
|
||||||
| `Mod+Ctrl+O` | toggle floating |
|
| `Mod+Ctrl+O` | toggle floating |
|
||||||
| `Mod+W` | tab / untab the column |
|
| `Mod+W` | toggle the workspace between the scrolling and master layouts |
|
||||||
|
| `Mod+Shift+W` | tab / untab the column |
|
||||||
| `Mod+Q` | close window |
|
| `Mod+Q` | close window |
|
||||||
| `Mod+1`…`Mod+9`, `Alt+Q W E R Y U I O` | workspace 1–9 / 1–8 |
|
| `Mod+1`…`Mod+9`, `Alt+Q W E R Y U I O` | workspace 1–9 / 1–8 |
|
||||||
| `Mod+Shift+1`…`9`, `Alt+Shift+Q`…`O` | move window to that workspace |
|
| `Mod+Shift+1`…`9`, `Alt+Shift+Q`…`O` | move window to that workspace |
|
||||||
|
|||||||
@@ -49,7 +49,7 @@
|
|||||||
# Apps: focus or launch. Spawns run through /bin/sh with the session PATH,
|
# Apps: focus or launch. Spawns run through /bin/sh with the session PATH,
|
||||||
# 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 '^(kitty|alacritty|com[.]mitchellh[.]ghostty)' kitty", 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$' 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 }
|
||||||
@@ -64,8 +64,9 @@
|
|||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
# Focus
|
# Focus
|
||||||
|
|
||||||
"Mod+H" = "window-focus-left"
|
# At the strip's edge, H/L continue onto the output on that side.
|
||||||
"Mod+L" = "window-focus-right"
|
"Mod+H" = "window-focus-or-output-left"
|
||||||
|
"Mod+L" = "window-focus-or-output-right"
|
||||||
"Mod+J" = "window-focus-or-workspace-down"
|
"Mod+J" = "window-focus-or-workspace-down"
|
||||||
"Mod+K" = "window-focus-or-workspace-up"
|
"Mod+K" = "window-focus-or-workspace-up"
|
||||||
"Mod+BackSpace" = "window-focus-last"
|
"Mod+BackSpace" = "window-focus-last"
|
||||||
@@ -109,7 +110,10 @@
|
|||||||
"Mod+Ctrl+F" = { action = "window-toggle-fullscreen", repeat = false }
|
"Mod+Ctrl+F" = { action = "window-toggle-fullscreen", repeat = false }
|
||||||
"Mod+C" = "column-center"
|
"Mod+C" = "column-center"
|
||||||
"Mod+Ctrl+O" = { action = "window-toggle-floating", repeat = false }
|
"Mod+Ctrl+O" = { action = "window-toggle-floating", repeat = false }
|
||||||
"Mod+W" = { action = "column-toggle-tabbed", repeat = false }
|
# Super+W flips the active workspace between scrolling and master (Hyprland's
|
||||||
|
# omarchy-toggle-layout); tabbing a column moves to Super+Shift+W.
|
||||||
|
"Mod+W" = { action = "workspace-set-layout:toggle:scrolling,master", repeat = false }
|
||||||
|
"Mod+Shift+W" = { action = "column-toggle-tabbed", repeat = false }
|
||||||
"Mod+Q" = { action = "window-close", repeat = false }
|
"Mod+Q" = { action = "window-close", repeat = false }
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -22,9 +22,16 @@ files = ["noctalia.toml"]
|
|||||||
# polkit agent; nothing else is started.
|
# polkit agent; nothing else is started.
|
||||||
autostart = ["noctalia"]
|
autostart = ["noctalia"]
|
||||||
show_cheatsheet = false
|
show_cheatsheet = false
|
||||||
|
# niri's honor-xdg-activation-with-invalid-serial: Noctalia notification
|
||||||
|
# actions and apps that hand off to another window (links, file pickers) can
|
||||||
|
# focus and reveal their target.
|
||||||
|
focus_on_activate = true
|
||||||
|
|
||||||
# Umbriel owns XDG_CURRENT_DESKTOP and the session variables.
|
# Umbriel owns XDG_CURRENT_DESKTOP and the session variables.
|
||||||
[environment]
|
[environment]
|
||||||
|
# Default terminal: Noctalia runs Terminal=true launcher entries through
|
||||||
|
# $TERMINAL before its own fallback list.
|
||||||
|
TERMINAL = "ghostty"
|
||||||
ELECTRON_OZONE_PLATFORM_HINT = "auto"
|
ELECTRON_OZONE_PLATFORM_HINT = "auto"
|
||||||
QT_QPA_PLATFORM = "wayland"
|
QT_QPA_PLATFORM = "wayland"
|
||||||
QT_QPA_PLATFORMTHEME = "kde"
|
QT_QPA_PLATFORMTHEME = "kde"
|
||||||
@@ -48,23 +55,32 @@ map_to_output = "eDP-1"
|
|||||||
[input.touch]
|
[input.touch]
|
||||||
map_to_output = "eDP-1"
|
map_to_output = "eDP-1"
|
||||||
|
|
||||||
|
# follows_focus: keyboard focus moves (Mod+H/L across outputs, umbriel-launch)
|
||||||
|
# take the pointer along, so scratchpads — shown on the pointer's output —
|
||||||
|
# open where focus is.
|
||||||
[input.cursor]
|
[input.cursor]
|
||||||
theme = "capitaine-cursors-light"
|
theme = "capitaine-cursors-light"
|
||||||
size = 24
|
size = 24
|
||||||
hide_when_typing = true
|
hide_when_typing = true
|
||||||
|
follows_focus = true
|
||||||
|
|
||||||
[layout]
|
[layout]
|
||||||
gap = 8
|
gap = 8
|
||||||
extent_presets = [0.333, 0.5, 0.667]
|
extent_presets = [0.333, 0.5, 0.667]
|
||||||
|
|
||||||
|
# New columns take a third of the output; Mod+R cycles 1/3 → 1/2 → 2/3.
|
||||||
[layout.scrolling]
|
[layout.scrolling]
|
||||||
default_extent_fraction = 0.5
|
default_extent_fraction = 0.333
|
||||||
center_focused = "never"
|
center_focused = "never"
|
||||||
center_underfull_strip = true
|
center_underfull_strip = true
|
||||||
|
|
||||||
[appearance]
|
[appearance]
|
||||||
corner_radius = 10
|
corner_radius = 10
|
||||||
|
|
||||||
|
# niri ran without shadows; also one less pass per window.
|
||||||
|
[appearance.shadow]
|
||||||
|
enabled = false
|
||||||
|
|
||||||
# Optimized blur samples only the wallpaper: cheaper than blurring the windows
|
# Optimized blur samples only the wallpaper: cheaper than blurring the windows
|
||||||
# behind each translucent surface.
|
# behind each translucent surface.
|
||||||
[appearance.blur]
|
[appearance.blur]
|
||||||
|
|||||||
@@ -20,24 +20,18 @@
|
|||||||
# niri needed `output "DP-5" { off }` for the Studio Display's phantom 640x480
|
# niri needed `output "DP-5" { off }` for the Studio Display's phantom 640x480
|
||||||
# connector; Umbriel leaves connectors without a preferred mode or identity off.
|
# connector; Umbriel leaves connectors without a preferred mode or identity off.
|
||||||
|
|
||||||
# Laptop panel, eDP-1 (niri 91-internal-display): one full-width column.
|
# 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 = 1.5
|
||||||
vrr = "fullscreen"
|
vrr = "fullscreen"
|
||||||
focus_at_startup = true
|
focus_at_startup = true
|
||||||
|
|
||||||
[output."Tianma Microelectronics Ltd. TL134ADXP03 Unknown".layout.scrolling]
|
|
||||||
default_extent_fraction = 1.0
|
|
||||||
|
|
||||||
# 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, -374]
|
||||||
scale = 2.0
|
scale = 2.0
|
||||||
|
|
||||||
[output."Apple Computer Inc StudioDisplay 0x984262A7".layout.scrolling]
|
|
||||||
default_extent_fraction = 0.5
|
|
||||||
|
|
||||||
# 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"
|
||||||
@@ -45,22 +39,13 @@ position = [-3440, -374]
|
|||||||
scale = 1.0
|
scale = 1.0
|
||||||
vrr = "fullscreen"
|
vrr = "fullscreen"
|
||||||
|
|
||||||
[output."Samsung Electric Company S34CG50 HNTY501103".layout.scrolling]
|
|
||||||
default_extent_fraction = 0.333
|
|
||||||
|
|
||||||
# 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, -470]
|
||||||
scale = 1.25
|
scale = 1.25
|
||||||
|
|
||||||
[output."PNP(AOP) 16PM1QB 14490001D3X00".layout.scrolling]
|
|
||||||
default_extent_fraction = 1.0
|
|
||||||
|
|
||||||
# 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, 202]
|
||||||
scale = 1.25
|
scale = 1.25
|
||||||
|
|
||||||
[output."ASUSTek COMPUTER INC ASUS MB16AC M8LMTF195749".layout.scrolling]
|
|
||||||
default_extent_fraction = 1.0
|
|
||||||
Reference in new issue
Block a user