Files
dotfiles/.config/hypr/workspaces.lua
T
2026-06-27 12:51:49 +01:00

42 lines
1.2 KiB
Lua

local workspace_map = {
"Home",
"Dev",
"Art",
"Gaming",
"Writing",
}
local monitors = hl.get_monitors()
-- 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 = monitors[1].name,
})
if monitors[2] then
hl.workspace_rule({
workspace = tostring(i * 2),
monitor = monitors[2].name,
})
hl.bind(
"SUPER + code:1" .. (i - 1),
hl.dsp.focus({ workspace = tostring(i * 2) }),
{ description = "Switch to workspace " .. workspace_map[i] }
)
end
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.dispatch(hl.dsp.window.move({ workspace = tostring(new_workspace), follow = false }))
end, { description = "Move window to workspace " .. workspace_map[i] })
end