81 lines
1.6 KiB
Lua
81 lines
1.6 KiB
Lua
local hyper = "MOD3 + "
|
|
|
|
hl.bind("SUPER + SPACE", function()
|
|
hl.dispatch(
|
|
hl.dsp.exec_cmd("noctalia msg panel-toggle launcher")
|
|
)
|
|
end, {
|
|
description = "Toggle Noctalia launcher",
|
|
})
|
|
|
|
|
|
hl.bind("SUPER + W", hl.dsp.window.close())
|
|
|
|
for i = 1, 9 do
|
|
hl.bind(
|
|
"MOD3 + " .. i,
|
|
hl.dsp.focus({ workspace = i }),
|
|
{ description = "Switch to workspace " .. i }
|
|
)
|
|
|
|
hl.bind(
|
|
"MOD3 + CTRL + " .. i,
|
|
hl.dsp.window.move({ workspace = i }),
|
|
{ description = "Send focused window to " .. i }
|
|
)
|
|
end
|
|
|
|
local monitor_dirs = {
|
|
W = "u",
|
|
A = "l",
|
|
S = "d",
|
|
D = "r",
|
|
}
|
|
|
|
for key, dir in pairs(monitor_dirs) do
|
|
hl.bind(
|
|
hyper .. " + SUPER + " .. key,
|
|
hl.dsp.workspace.move({ monitor = dir }),
|
|
{ description = "Move workspace " .. dir }
|
|
)
|
|
end
|
|
|
|
--- Hyprspace
|
|
|
|
hl.bind(hyper .. "SPACE", function() hl.plugin.hyprtasking.toggle("all") end)
|
|
|
|
--- floating focus
|
|
hl.bind(hyper .. " F", function()
|
|
local win = hl.get_active_window()
|
|
local mon = hl.get_active_monitor()
|
|
|
|
if not win or not mon then
|
|
return
|
|
end
|
|
|
|
local was_tiled = not win.floating
|
|
|
|
hl.dispatch(hl.dsp.window.float({
|
|
action = "toggle",
|
|
}))
|
|
|
|
-- Only resize when entering floating focus mode.
|
|
-- When leaving it, let the tiling layout restore the window.
|
|
if was_tiled then
|
|
hl.dispatch(hl.dsp.window.resize({
|
|
x = math.floor(mon.width * 0.80),
|
|
y = math.floor(mon.height * 0.80),
|
|
relative = false,
|
|
}))
|
|
|
|
hl.dispatch(hl.dsp.window.center())
|
|
|
|
hl.dispatch(hl.dsp.window.alter_zorder({
|
|
mode = "top",
|
|
}))
|
|
end
|
|
end, {
|
|
description = "Toggle focused floating window", })
|
|
|
|
hl.bind("SUPER + SHIFT + S", hl.plugin.hyprcapture.open, { description = "HyprCapture window capture" })
|