Files
hyprlua/workspaces.lua
T
Nina Chlóe Kassandra Reiß 750021fe75 Add vim like movements
2026-07-01 23:55:07 +02:00

54 lines
2.0 KiB
Lua

local mainMod = "ALT"
-- Move window in direction
hl.bind(mainMod .. " + SHIFT + H", hl.dsp.window.move({ direction = "left" }))
hl.bind(mainMod .. " + SHIFT + L", hl.dsp.window.move({ direction = "right" }))
hl.bind(mainMod .. " + SHIFT + K", hl.dsp.window.move({ direction = "up" }))
hl.bind(mainMod .. " + SHIFT + J", hl.dsp.window.move({ direction = "down" }))
-- Switch to numbered workspaces
for i = 1, 10 do
local key = i % 10 -- workspace 10 -> key 0
hl.bind(mainMod .. " + " .. key, hl.dsp.focus({ workspace = i }))
end
-- Previous / next workspace
hl.bind("CTRL + ALT + H", hl.dsp.focus({ workspace = "-1" }))
hl.bind("CTRL + ALT + L", hl.dsp.focus({ workspace = "+1" }))
hl.bind("CTRL + ALT + LEFT", hl.dsp.focus({ workspace = "-1" }))
hl.bind("CTRL + ALT + RIGHT", hl.dsp.focus({ workspace = "+1" }))
-- Move window to previous / next workspace (follows the window)
hl.bind("CTRL + ALT + SHIFT + H", hl.dsp.window.move({ workspace = "-1" }))
hl.bind("CTRL + ALT + SHIFT + L", hl.dsp.window.move({ workspace = "+1" }))
hl.bind("CTRL + ALT + SHIFT + LEFT", hl.dsp.window.move({ workspace = "-1" }))
hl.bind("CTRL + ALT + SHIFT + RIGHT", hl.dsp.window.move({ workspace = "+1" }))
-- Move window to previous / next workspace silently
hl.bind(mainMod .. " + CTRL + SHIFT + H", hl.dsp.window.move({ workspace = "-1", follow = false }))
hl.bind(mainMod .. " + CTRL + SHIFT + L", hl.dsp.window.move({ workspace = "+1", follow = false }))
hl.bind(mainMod .. " + CTRL + SHIFT + LEFT", hl.dsp.window.move({ workspace = "-1", follow = false }))
hl.bind(mainMod .. " + CTRL + SHIFT + RIGHT", hl.dsp.window.move({ workspace = "+1", follow = false }))
-- Move window to numbered workspaces (follow)
for i = 1, 10 do
local key = i % 10
hl.bind(mainMod .. " + SHIFT + " .. key, hl.dsp.window.move({ workspace = i }))
end
-- Move window to numbered workspaces (silent)
for i = 1, 10 do
local key = i % 10
hl.bind(
mainMod .. " + ALT + " .. key,
hl.dsp.window.move({
workspace = i,
follow = false,
})
)
end
return {
start = function() end,
}