fix(hypr): use native Lua dispatchers for exit, fullscreen, cycle, resize, and setprop

This commit is contained in:
2026-08-19 16:44:54 +02:00
parent e92ac9033a
commit 48c5906897
4 changed files with 69 additions and 29 deletions
+1 -1
View File
@@ -23,7 +23,7 @@ hl.bind("SUPER + S", hl.dsp.exec_cmd(terminal .. " wiremix --tab configuration")
hl.bind("SUPER + return", hl.dsp.exec_cmd(terminal))
hl.bind("SUPER + Q", hl.dsp.window.close())
hl.bind("SUPER + SHIFT + ALT + Q", hl.dsp.exec_cmd("hyprctl dispatch exit"))
hl.bind("SUPER + SHIFT + ALT + Q", hl.dsp.exit(), { description = "Exit Hyprland" })
hl.bind("SUPER + E", hl.dsp.exec_cmd(fileManager))
hl.bind("SUPER + R", hl.dsp.exec_cmd(menu))
hl.bind("SUPER + P", hl.dsp.window.pseudo())
+11 -11
View File
@@ -3,9 +3,9 @@ hl.bind("SUPER + Q", hl.dsp.window.close(), { description = "Close active window
hl.bind("SUPER + J", hl.dsp.layout("togglesplit"), { description = "Toggle split" })
hl.bind("SUPER + P", hl.dsp.window.pseudo(), { description = "Pseudo window" })
hl.bind("SUPER + V", hl.dsp.window.float({ action = "toggle" }), { description = "Toggle floating" })
hl.bind("SHIFT + F11", hl.dsp.window.fullscreen(0), { description = "Force full screen" })
hl.bind("ALT + F11", hl.dsp.window.fullscreen(1), { description = "Full width" })
hl.bind("SUPER + SHIFT + RETURN", hl.dsp.window.fullscreen(1), { description = "Full width" })
hl.bind("SHIFT + F11", hl.dsp.window.fullscreen({ mode = "fullscreen" }), { description = "Force full screen" })
hl.bind("ALT + F11", hl.dsp.window.fullscreen({ mode = "maximized" }), { description = "Full width" })
hl.bind("SUPER SHIFT + RETURN", hl.dsp.window.fullscreen({ mode = "maximized" }), { description = "Full width" })
hl.bind("SUPER + numbersign", hl.dsp.layout("splitratio -2"), { description = "1:1 split" })
hl.bind("SUPER + numbersign", hl.dsp.layout("splitratio 0.9"), { description = "1:1 split" })
@@ -29,15 +29,15 @@ hl.bind("SUPER + SHIFT + right", hl.dsp.window.swap({ direction = "right" }), {
hl.bind("SUPER + SHIFT + up", hl.dsp.window.swap({ direction = "up" }), { description = "Swap window up" })
hl.bind("SUPER + SHIFT + down", hl.dsp.window.swap({ direction = "down" }), { description = "Swap window down" })
hl.bind("ALT + TAB", hl.dsp.exec_cmd("hyprctl dispatch cyclenext"), { description = "Cycle to next window" })
hl.bind("ALT + SHIFT + TAB", hl.dsp.exec_cmd("hyprctl dispatch cyclenext prev"), { description = "Cycle to prev window" })
hl.bind("ALT + TAB", hl.dsp.exec_cmd("hyprctl dispatch bringactivetotop"), { description = "Reveal active window on top" })
hl.bind("ALT + SHIFT + TAB", hl.dsp.exec_cmd("hyprctl dispatch bringactivetotop"), { description = "Reveal active window on top" })
hl.bind("ALT + TAB", hl.dsp.window.cycle_next(), { description = "Cycle to next window" })
hl.bind("ALT + SHIFT + TAB", hl.dsp.window.cycle_next({ next = false }), { description = "Cycle to prev window" })
hl.bind("ALT + TAB", hl.dsp.window.bring_to_top(), { description = "Reveal active window on top" })
hl.bind("ALT + SHIFT + TAB", hl.dsp.window.bring_to_top(), { description = "Reveal active window on top" })
hl.bind("SUPER + code:20", hl.dsp.window.resize({ x = -100, y = 0 }), { description = "Expand window left" })
hl.bind("SUPER + code:21", hl.dsp.window.resize({ x = 100, y = 0 }), { description = "Shrink window left" })
hl.bind("SUPER + SHIFT + code:20", hl.dsp.window.resize({ x = 0, y = -100 }), { description = "Shrink window up" })
hl.bind("SUPER + SHIFT + code:21", hl.dsp.window.resize({ x = 0, y = 100 }), { description = "Expand window down" })
hl.bind("SUPER + code:20", hl.dsp.window.resize({ x = -100, y = 0, relative = true }), { description = "Expand window left" })
hl.bind("SUPER + code:21", hl.dsp.window.resize({ x = 100, y = 0, relative = true }), { description = "Shrink window left" })
hl.bind("SUPER + SHIFT + code:20", hl.dsp.window.resize({ x = 0, y = -100, relative = true }), { description = "Shrink window up" })
hl.bind("SUPER + SHIFT + code:21", hl.dsp.window.resize({ x = 0, y = 100, relative = true }), { description = "Expand window down" })
hl.bind("SUPER + mouse_down", hl.dsp.focus({ workspace = "e+1" }), { description = "Scroll active workspace forward" })
hl.bind("SUPER + mouse_up", hl.dsp.focus({ workspace = "e-1" }), { description = "Scroll active workspace backward" })
+1 -1
View File
@@ -11,7 +11,7 @@ hl.bind("SUPER + N", hl.dsp.exec_cmd("swaync-client -op"), { description = "Noti
hl.bind("SUPER + SHIFT + SPACE", hl.dsp.exec_cmd("omarchy-toggle-waybar"), { description = "Toggle top bar" })
hl.bind("SUPER + CTRL + SPACE", hl.dsp.exec_cmd("omarchy-theme-bg-next"), { description = "Next background in theme" })
hl.bind("SUPER + SHIFT + CTRL + SPACE", hl.dsp.exec_cmd("omarchy-menu theme"), { description = "Pick new theme" })
hl.bind("SUPER + BACKSPACE", hl.dsp.exec_cmd("hyprctl dispatch setprop \"address:$(hyprctl activewindow -j | jq -r '.address')\" opaque toggle"), { description = "Toggle window transparency" })
hl.bind("SUPER + BACKSPACE", hl.dsp.window.set_prop({ prop = "opaque", value = "toggle" }), { description = "Toggle window transparency" })
hl.bind("SUPER + COMMA", hl.dsp.exec_cmd("makoctl dismiss"), { description = "Dismiss last notification" })
hl.bind("SUPER + SHIFT + COMMA", hl.dsp.exec_cmd("makoctl dismiss --all"), { description = "Dismiss all notifications" })