local mainMod = "SUPER"

-- 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" }))

hl.bind(mainMod .. " + H", hl.dsp.focus({ direction = "left" }))
hl.bind(mainMod .. " + J", hl.dsp.focus({ direction = "down" }))
hl.bind(mainMod .. " + K", hl.dsp.focus({ direction = "up" }))
hl.bind(mainMod .. " + L", hl.dsp.focus({ direction = "right" }))

-- 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(mainMod .. " + ALT + H", hl.dsp.focus({ workspace = "-1" }))
hl.bind(mainMod .. " + 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(mainMod .. " + ALT + SHIFT + H", hl.dsp.window.move({ workspace = "-1" }))
hl.bind(mainMod .. " + 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 .. " + ALT + SHIFT + J", hl.dsp.window.move({ workspace = "-1", follow = false }))
hl.bind(mainMod .. " + ALT + SHIFT + K", 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 }))

return {
	start = function() end,
}
