Refactor workspaces

This commit is contained in:
2026-06-08 18:28:10 +01:00
parent 3febae6f7f
commit 72c989af32
+29 -54
View File
@@ -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