From 750021fe75a8bc879bacd55e4a797476e6ffde9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nina=20Chl=C3=B3e=20Kassandra=20Rei=C3=9F?= Date: Wed, 1 Jul 2026 23:55:07 +0200 Subject: [PATCH] Add vim like movements --- workspaces.lua | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/workspaces.lua b/workspaces.lua index 8b5d1cd..cae9aef 100644 --- a/workspaces.lua +++ b/workspaces.lua @@ -1,4 +1,52 @@ +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,