From 72c989af32d3602f825e91b69deeff9ec68cad50 Mon Sep 17 00:00:00 2001 From: Chris Date: Mon, 8 Jun 2026 18:28:10 +0100 Subject: [PATCH] Refactor workspaces --- .config/hypr/workspaces.lua | 83 +++++++++++++------------------------ 1 file changed, 29 insertions(+), 54 deletions(-) diff --git a/.config/hypr/workspaces.lua b/.config/hypr/workspaces.lua index 589ef71..5cdfea9 100644 --- a/.config/hypr/workspaces.lua +++ b/.config/hypr/workspaces.lua @@ -1,61 +1,36 @@ -hl.workspace_rule({ - workspace = "1", - monitor = "DP-1", -}) -hl.workspace_rule({ - workspace = "2", - monitor = "DP-2", -}) -hl.workspace_rule({ - workspace = "3", - monitor = "DP-1", -}) -hl.workspace_rule({ - workspace = "4", - monitor = "DP-2", -}) -hl.workspace_rule({ - workspace = "5", - monitor = "DP-1", -}) -hl.workspace_rule({ - workspace = "6", - monitor = "DP-2", -}) -hl.workspace_rule({ - workspace = "7", - monitor = "DP-1", -}) -hl.workspace_rule({ - workspace = "8", - monitor = "DP-2", -}) -hl.workspace_rule({ - workspace = "9", - monitor = "DP-1", -}) -hl.workspace_rule({ - workspace = "10", - monitor = "DP-2", -}) +local workspace_map = { + "Home", + "Dev", + "Art", + "Gaming", + "Writing", +} -hl.bind("SUPER + code:10", hl.dsp.focus({ workspace = "2" }), { description = "Switch to Home" }) -hl.bind("SUPER + code:10", hl.dsp.focus({ workspace = "1" }), { description = "Switch to Home" }) -hl.bind("SUPER + code:11", hl.dsp.focus({ workspace = "4" }), { description = "Switch to Dev" }) -hl.bind("SUPER + code:11", hl.dsp.focus({ workspace = "3" }), { description = "Switch to Dev" }) -hl.bind("SUPER + code:12", hl.dsp.focus({ workspace = "6" }), { description = "Switch to Art" }) -hl.bind("SUPER + code:12", hl.dsp.focus({ workspace = "5" }), { description = "Switch to Art" }) -hl.bind("SUPER + code:13", hl.dsp.focus({ workspace = "8" }), { description = "Switch to Gaming" }) -hl.bind("SUPER + code:13", hl.dsp.focus({ workspace = "7" }), { description = "Switch to Gaming" }) -hl.bind("SUPER + code:14", hl.dsp.focus({ workspace = "10" }), { description = "Switch to Writing" }) -hl.bind("SUPER + code:14", hl.dsp.focus({ workspace = "9" }), { description = "Switch to Writing" }) - --- Move active window to a workspace with SUPER + SHIFT + [1-9; 0] +-- Move active window to a workspace with SUPER + SHIFT + [1-5] for i = 1, 5 do + hl.workspace_rule({ + workspace = tostring((i * 2) - 1), + monitor = "DP-1", + }) + hl.workspace_rule({ + workspace = tostring(i * 2), + monitor = "DP-2", + }) + + hl.bind( + "SUPER + code:1" .. (i - 1), + hl.dsp.focus({ workspace = tostring(i * 2) }), + { description = "Switch to workspace " .. workspace_map[i] } + ) + hl.bind( + "SUPER + code:1" .. (i - 1), + hl.dsp.focus({ workspace = tostring((i * 2) - 1) }), + { description = "Switch to workspace" .. i } + ) + hl.bind("SUPER + SHIFT + code:1" .. (i - 1), function() local active_workspace = hl.get_active_workspace() local new_workspace = (i * 2) - (active_workspace.id % 2) - hl.notification.create({ text = new_workspace, duration = 2000 }) hl.dispatch(hl.dsp.window.move({ workspace = tostring(new_workspace), follow = false })) - end, { description = "Move window to workspace "..i }) + end, { description = "Move window to workspace " .. workspace_map[i] }) end