From 38b423ca2957dc86810e3136701f26ce15805350 Mon Sep 17 00:00:00 2001 From: rope Date: Mon, 25 May 2026 20:18:41 +0100 Subject: [PATCH] hyprland: use loop for workspace binds Co-Authored-By: Claude Opus 4.6 --- settings/hyprland.nix | 26 +++++--------------------- 1 file changed, 5 insertions(+), 21 deletions(-) diff --git a/settings/hyprland.nix b/settings/hyprland.nix index 359fcbd..7ad4f56 100644 --- a/settings/hyprland.nix +++ b/settings/hyprland.nix @@ -296,27 +296,11 @@ in hl.bind(mod .. " + SHIFT + down", hl.dsp.window.move({ direction = "down" })) -- Workspaces - hl.bind(mod .. " + 1", hl.dsp.focus({ workspace = 1 })) - hl.bind(mod .. " + 2", hl.dsp.focus({ workspace = 2 })) - hl.bind(mod .. " + 3", hl.dsp.focus({ workspace = 3 })) - hl.bind(mod .. " + 4", hl.dsp.focus({ workspace = 4 })) - hl.bind(mod .. " + 5", hl.dsp.focus({ workspace = 5 })) - hl.bind(mod .. " + 6", hl.dsp.focus({ workspace = 6 })) - hl.bind(mod .. " + 7", hl.dsp.focus({ workspace = 7 })) - hl.bind(mod .. " + 8", hl.dsp.focus({ workspace = 8 })) - hl.bind(mod .. " + 9", hl.dsp.focus({ workspace = 9 })) - hl.bind(mod .. " + 0", hl.dsp.focus({ workspace = 10 })) - - hl.bind(mod .. " + SHIFT + 1", hl.dsp.window.move({ workspace = 1, follow = false })) - hl.bind(mod .. " + SHIFT + 2", hl.dsp.window.move({ workspace = 2, follow = false })) - hl.bind(mod .. " + SHIFT + 3", hl.dsp.window.move({ workspace = 3, follow = false })) - hl.bind(mod .. " + SHIFT + 4", hl.dsp.window.move({ workspace = 4, follow = false })) - hl.bind(mod .. " + SHIFT + 5", hl.dsp.window.move({ workspace = 5, follow = false })) - hl.bind(mod .. " + SHIFT + 6", hl.dsp.window.move({ workspace = 6, follow = false })) - hl.bind(mod .. " + SHIFT + 7", hl.dsp.window.move({ workspace = 7, follow = false })) - hl.bind(mod .. " + SHIFT + 8", hl.dsp.window.move({ workspace = 8, follow = false })) - hl.bind(mod .. " + SHIFT + 9", hl.dsp.window.move({ workspace = 9, follow = false })) - hl.bind(mod .. " + SHIFT + 0", hl.dsp.window.move({ workspace = 10, follow = false })) + for i = 0, 9 do + local workspace_id = tostring((i == 0) and 10 or i) + hl.bind(mod .. " + " .. i, hl.dsp.focus({ workspace = workspace_id })) + hl.bind(mod .. " + SHIFT + " .. i, hl.dsp.window.move({ workspace = workspace_id, follow = false })) + end -- Screenshots — Shift+Super+S matches GNOME binding hl.bind(mod .. " + SHIFT + S", hl.dsp.exec_cmd("hyprshot -m region --clipboard-only"))