69 lines
2.6 KiB
Lua
69 lines
2.6 KiB
Lua
local function exit_submap()
|
|
hl.dispatch(hl.dsp.submap("reset"))
|
|
end
|
|
|
|
local function add_workspace_keymap(bind_goto, bind_move, num)
|
|
hl.bind(
|
|
bind_goto,
|
|
hl.dsp.focus({ workspace = tostring(num) }),
|
|
{ description = "Go to workspace " .. tostring(num) }
|
|
)
|
|
hl.bind(
|
|
bind_move,
|
|
hl.dsp.window.move({ workspace = tostring(num), follow = 1 }),
|
|
{ description = "Move window to workspace " .. tostring(num) }
|
|
)
|
|
end
|
|
|
|
for i = 1, 10, 1 do
|
|
add_workspace_keymap("SUPER + " .. tostring(i % 10), "SUPER + SHIFT + " .. tostring(i % 10), i)
|
|
end
|
|
-- Super + - for 11th workspace
|
|
add_workspace_keymap("SUPER + code:20", "SUPER + SHIFT + code:20", 11)
|
|
|
|
hl.bind("SUPER + h", hl.dsp.focus({ direction = "l" }), { description = "Focus next window to left" })
|
|
hl.bind("SUPER + l", hl.dsp.focus({ direction = "r" }), { description = "Focus next window to right" })
|
|
hl.bind("SUPER + j", hl.dsp.focus({ direction = "d" }), { description = "Focus next window below" })
|
|
hl.bind("SUPER + k", hl.dsp.focus({ direction = "u" }), { description = "Focus next window above" })
|
|
|
|
hl.bind("SUPER + M", hl.dsp.workspace.toggle_special("main"), { description = "Toggle main special workspace" })
|
|
hl.bind(
|
|
"SUPER + SHIFT + M",
|
|
hl.dsp.window.move({ workspace = "special:main" }),
|
|
{ description = "Move window to main special workspace" }
|
|
)
|
|
|
|
hl.define_submap("workspace", function()
|
|
for i = 1, 10, 1 do
|
|
add_workspace_keymap(tostring(i % 10), "SHIFT + " .. tostring(i % 10), i)
|
|
end
|
|
add_workspace_keymap("code:20", "SHIFT + code:20", 11)
|
|
|
|
hl.bind("h", hl.dsp.focus({ direction = "l" }), { description = "Focus next window to left" })
|
|
hl.bind("l", hl.dsp.focus({ direction = "r" }), { description = "Focus next window to right" })
|
|
hl.bind("j", hl.dsp.focus({ direction = "d" }), { description = "Focus next window below" })
|
|
hl.bind("k", hl.dsp.focus({ direction = "u" }), { description = "Focus next window above" })
|
|
|
|
hl.bind(
|
|
"SHIFT + l",
|
|
hl.dsp.window.move({ workspace = "+1", follow = 1 }),
|
|
{ description = "Move one workspace up" }
|
|
)
|
|
hl.bind(
|
|
"SHIFT + h",
|
|
hl.dsp.window.move({ workspace = "-1", follow = 1 }),
|
|
{ description = "Move one workspace down" }
|
|
)
|
|
|
|
hl.bind("M", hl.dsp.workspace.toggle_special("main"), { description = "Toggle main special workspace" })
|
|
hl.bind(
|
|
"SHIFT + M",
|
|
hl.dsp.window.move({ workspace = "special:main" }),
|
|
{ description = "Move window to main special workspace" }
|
|
)
|
|
|
|
hl.bind("Escape", function()
|
|
exit_submap()
|
|
end)
|
|
end)
|