diff --git a/config/dot/hypr/README.md b/config/dot/hypr/README.md index b147c90..7c810f9 100644 --- a/config/dot/hypr/README.md +++ b/config/dot/hypr/README.md @@ -247,7 +247,7 @@ The mental model is unchanged from Forge: | `SUPER + SHIFT + H/J/K/L` | Move window | | `SUPER + CTRL + H/J/K/L` | Swap window | | `SUPER + SHIFT + Y/O` · `B/M` | Wider · narrower | -| `SUPER + SHIFT + I/U` · `P/N` | Taller · shorter | +| `SUPER + SHIFT + I/U` · `,/N` | Taller · shorter | | `SUPER + [` / `]` / `=` | Shrink / expand / reset split | | `SUPER + Q` | Close | | `SUPER + U` | Fullscreen | diff --git a/config/dot/hypr/keybinds.lua b/config/dot/hypr/keybinds.lua index 610cbb2..a27a3f1 100644 --- a/config/dot/hypr/keybinds.lua +++ b/config/dot/hypr/keybinds.lua @@ -192,7 +192,10 @@ bind(mod .. " + SHIFT + B", hl.dsp.window.resize({ x = -step, y = 0, relative = bind(mod .. " + SHIFT + M", hl.dsp.window.resize({ x = -step, y = 0, relative = true }), { repeating = true, description = "Narrower" }) bind(mod .. " + SHIFT + I", hl.dsp.window.resize({ x = 0, y = step, relative = true }), { repeating = true, description = "Taller" }) bind(mod .. " + SHIFT + U", hl.dsp.window.resize({ x = 0, y = step, relative = true }), { repeating = true, description = "Taller" }) -bind(mod .. " + SHIFT + P", hl.dsp.window.resize({ x = 0, y = -step, relative = true }), { repeating = true, description = "Shorter" }) +-- SUPER+SHIFT+P was double-bound with the colour picker above; moved to +-- Comma, which continues the bottom-row cluster (B/M/N) this axis already +-- uses rather than landing on an arbitrary free key. +bind(mod .. " + SHIFT + Comma", hl.dsp.window.resize({ x = 0, y = -step, relative = true }), { repeating = true, description = "Shorter" }) bind(mod .. " + SHIFT + N", hl.dsp.window.resize({ x = 0, y = -step, relative = true }), { repeating = true, description = "Shorter" }) -- Window cycling (GNOME: cycle-windows on SUPER+Tab), now with an overlay @@ -223,6 +226,17 @@ bind(mod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true, description -- Plain relative selectors ("+1" / "-1") reproduce GNOME's dynamic workspaces: -- moving right past the last workspace creates a new one, and moving left from -- the first clamps instead of wrapping. + +-- Behaviour for the relative/cyclic binds below. These are Hyprland's own +-- `binds:` options -- not part of general/dwindle -- and have no other home +-- in the config, so they are read here rather than in looks.lua. +hl.config({ + binds = { + workspace_back_and_forth = prefs.get("workspaceBackAndForth", false), + allow_workspace_cycles = prefs.get("allowWorkspaceCycles", false), + }, +}) + bind("ALT + H", hl.dsp.focus({ workspace = "-1" }), { description = "Workspace left" }) bind("ALT + L", hl.dsp.focus({ workspace = "+1" }), { description = "Workspace right" }) bind("ALT + SHIFT + H", hl.dsp.window.move({ workspace = "-1" }), { description = "Move window to workspace left" })