aboutsummaryrefslogtreecommitdiffstats
path: root/config/hypr/lua/keybind_helpers.lua
diff options
context:
space:
mode:
Diffstat (limited to 'config/hypr/lua/keybind_helpers.lua')
-rw-r--r--config/hypr/lua/keybind_helpers.lua68
1 files changed, 51 insertions, 17 deletions
diff --git a/config/hypr/lua/keybind_helpers.lua b/config/hypr/lua/keybind_helpers.lua
index b7f80127..fe1c4378 100644
--- a/config/hypr/lua/keybind_helpers.lua
+++ b/config/hypr/lua/keybind_helpers.lua
@@ -114,30 +114,42 @@ local function dispatch(name, args)
if name == "killactive" then
if window_api.close then
- return window_api.close()
+ return function()
+ hl.dispatch(window_api.close())
+ end
end
if window_api.kill then
- return window_api.kill()
+ return function()
+ hl.dispatch(window_api.kill())
+ end
end
return raw_dispatch_cmd("killactive")
end
if name == "togglefloating" and window_api.float then
- return window_api.float({ action = "toggle" })
+ return function()
+ hl.dispatch(window_api.float({ action = "toggle" }))
+ end
end
if name == "fullscreen" then
if window_api.fullscreen then
if args == "1" then
- return window_api.fullscreen({ mode = "maximized" })
+ return function()
+ hl.dispatch(window_api.fullscreen({ mode = "maximized" }))
+ end
+ end
+ return function()
+ hl.dispatch(window_api.fullscreen({ mode = "fullscreen" }))
end
- return window_api.fullscreen({ mode = "fullscreen" })
end
if args == "1" then
- return exec_cmd("hyprctl dispatch 'hl.dsp.window.fullscreen({ mode = \"maximized\" })'")
+ return exec_cmd("hyprctl dispatch 'hl.dsp.window.fullscreen({ mode = \\\"maximized\\\" })'")
end
- return exec_cmd("hyprctl dispatch 'hl.dsp.window.fullscreen({ mode = \"fullscreen\" })'")
+ return exec_cmd("hyprctl dispatch 'hl.dsp.window.fullscreen({ mode = \\\"fullscreen\\\" })'")
end
if name == "pseudo" and window_api.pseudo then
- return window_api.pseudo()
+ return function()
+ hl.dispatch(window_api.pseudo())
+ end
end
if name == "workspace" then
return workspace_dispatch(workspace_value(args))
@@ -192,33 +204,55 @@ local function dispatch(name, args)
return exec_cmd("$HOME/.config/hypr/scripts/LuaSwapWindow.sh " .. swap_direction)
end
if name == "togglegroup" and group_api.toggle then
- return group_api.toggle()
+ return function()
+ hl.dispatch(group_api.toggle())
+ end
end
if name == "changegroupactive" and group_api.next and group_api.prev then
if args == "b" or args == "prev" or args == "-1" then
- return group_api.prev()
+ return function()
+ hl.dispatch(group_api.prev())
+ end
+ end
+ return function()
+ hl.dispatch(group_api.next())
end
- return group_api.next()
end
if name == "moveintogroup" and window_api.move then
- return window_api.move({ into_group = direction(args) })
+ return function()
+ hl.dispatch(window_api.move({ into_group = direction(args) }))
+ end
end
if name == "moveoutofgroup" and window_api.move then
- return window_api.move({ out_of_group = true })
+ return function()
+ hl.dispatch(window_api.move({ out_of_group = true }))
+ end
end
if (name == "layoutmsg" or name == "layout") and dsp and dsp.layout then
- return dsp.layout(args)
+ return function()
+ dispatch_factory_safely(function()
+ return dsp.layout(args)
+ end)
+ end
end
if name == "togglesplit" and dsp and dsp.layout then
- return dsp.layout("togglesplit")
+ return function()
+ dispatch_factory_safely(function()
+ return dsp.layout("togglesplit")
+ end)
+ end
end
if name == "bringactivetotop" and window_api.bring_to_top then
- return window_api.bring_to_top()
+ return function()
+ hl.dispatch(window_api.bring_to_top())
+ end
end
if name == "setprop" and window_api.set_prop then
local _win, prop, value = args:match("^(%S+)%s+(%S+)%s+(.+)$")
if prop and value then
- return window_api.set_prop({ prop = prop, value = value })
+ return function()
+ hl.dispatch(window_api.set_prop({ prop = prop, value = value }))
+ end
end
end
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage