Files
dotfiles/.config/hypr/workspaces.lua
T

42 lines
1.2 KiB
Lua
Raw Normal View History

2026-06-08 18:28:10 +01:00
local workspace_map = {
"Home",
"Dev",
"Art",
"Gaming",
"Writing",
}
2026-06-07 19:03:11 +01:00
2026-06-27 12:51:49 +01:00
local monitors = hl.get_monitors()
2026-06-08 18:28:10 +01:00
-- Move active window to a workspace with SUPER + SHIFT + [1-5]
2026-06-07 19:32:56 +01:00
for i = 1, 5 do
2026-06-08 18:28:10 +01:00
hl.workspace_rule({
workspace = tostring((i * 2) - 1),
2026-06-27 12:51:49 +01:00
monitor = monitors[1].name,
2026-06-08 18:28:10 +01:00
})
2026-06-27 12:51:49 +01:00
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
2026-06-08 18:28:10 +01:00
hl.bind(
"SUPER + code:1" .. (i - 1),
hl.dsp.focus({ workspace = tostring((i * 2) - 1) }),
{ description = "Switch to workspace" .. i }
)
2026-06-07 19:32:56 +01:00
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 }))
2026-06-08 18:28:10 +01:00
end, { description = "Move window to workspace " .. workspace_map[i] })
2026-06-07 19:32:56 +01:00
end