Files
2026-06-12 17:12:25 -04:00

59 lines
1.6 KiB
Lua

local bind = require("lua.lib.bind")
local utils = require("lua.lib.utils")
local M = {}
M.binds = {}
for i = 1, 10 do
local n = tostring(i)
if n == "10" then
n = "0"
end
table.insert(M.binds, {
keys = bind.with_leader(n),
dispatcher = hl.dsp.focus({ workspace = i }),
desc = "Focus workspace " .. tostring(i),
})
table.insert(M.binds, {
keys = bind.with_leader("SHIFT + " .. n),
dispatcher = hl.dsp.window.move({ workspace = i, follow = true }),
desc = "Move window to workspace " .. tostring(i),
})
table.insert(M.binds, {
keys = bind.with_leader("CTRL + SHIFT + " .. n),
dispatcher = hl.dsp.window.move({ workspace = i, follow = false }),
desc = "Move window to workspace " .. tostring(i) .. " silently",
})
end
M.binds = utils.list_extend(M.binds, {
{
keys = bind.with_leader("mouse_up"),
dispatcher = hl.dsp.focus({ workspace = "m-1" }),
desc = "Focus to prev workspace on current monitor",
},
{
keys = bind.with_leader("mouse_down"),
dispatcher = hl.dsp.focus({ workspace = "m+1" }),
desc = "Focus to next workspace on current monitor",
},
{
keys = bind.with_leader("CTRL + down"),
dispatcher = hl.dsp.focus({ workspace = "emptynm" }),
desc = "Focus to next empty workspace",
},
{
keys = bind.with_leader("CTRL + left"),
dispatcher = hl.dsp.focus({ workspace = "m-1" }),
desc = "Focus to prev workspace on current monitor",
},
{
keys = bind.with_leader("CTRL + right"),
dispatcher = hl.dsp.focus({ workspace = "m+1" }),
desc = "Focus to next workspace on current monitor",
},
})
return M