diff options
| author | Don Williams <don.e.williams@gmail.com> | 2026-08-28 20:24:51 -0400 |
|---|---|---|
| committer | Pinapelz <yukais@pinapelz.com> | 2026-08-29 21:41:57 -0700 |
| commit | 7b8e57dad69facd776788c69f2456260428483dd (patch) | |
| tree | 463ef8024658bce38db8bc1e3dfb567698302a8a | |
| parent | fc4dab2308fcce50b44fe042a0b42b37f95a5e20 (diff) | |
Fixed LUA runtime err removing master
Signed-off-by: Don Williams <don.e.williams@gmail.com>
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: CHANGELOG.md
modified: config/hypr/configs/system_keybinds.lua
modified: config/hypr/lua/keybind_helpers.lua
modified: config/hypr/lua/user_keybinds_helper.lua
| -rw-r--r-- | CHANGELOG.md | 1 | ||||
| -rw-r--r-- | config/hypr/configs/system_keybinds.lua | 42 | ||||
| -rw-r--r-- | config/hypr/lua/keybind_helpers.lua | 68 | ||||
| -rw-r--r-- | config/hypr/lua/user_keybinds_helper.lua | 40 |
4 files changed, 115 insertions, 36 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 866e28f5..eb7630fb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -40,6 +40,7 @@ ## Fixed: +- `remove master` in `master layout` generate LUA runtime error - `cava` and `waybar` cava colors weren't syncing with wallpaper - Logout on powermenu hanging at black screen - Improved `RofiBeats.sh`, `RofiCalc`, `RainbowBorders-low-cpu` diff --git a/config/hypr/configs/system_keybinds.lua b/config/hypr/configs/system_keybinds.lua index 0f0c9633..0106b3fa 100644 --- a/config/hypr/configs/system_keybinds.lua +++ b/config/hypr/configs/system_keybinds.lua @@ -167,13 +167,19 @@ local function dispatch(name, args) return exec_cmd(args) end if name == "killactive" and window_api.close then - return window_api.close() + return function() + hl.dispatch(window_api.close()) + end end if name == "fullscreen" and 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 name == "movefocus" and dsp and dsp.focus then return function() @@ -217,25 +223,43 @@ local function dispatch(name, args) end end if name == "pseudo" and window_api.pseudo then - return window_api.pseudo() + return function() + hl.dispatch(window_api.pseudo()) + end end if (name == "layoutmsg" or name == "layout") and dsp and dsp.layout then - return dsp.layout(args) + return function() + local ok, dispatcher = pcall(dsp.layout, args) + if ok and dispatcher then + hl.dispatch(dispatcher) + end + end end if name == "togglesplit" and dsp and dsp.layout then - return dsp.layout("togglesplit") + return function() + local ok, dispatcher = pcall(dsp.layout, "togglesplit") + if ok and dispatcher then + hl.dispatch(dispatcher) + end + end end if name == "resizewindow" and window_api.resize then - return window_api.resize() + return function() + hl.dispatch(window_api.resize()) + end end if name == "resizeactive" and window_api.resize then local x, y = args:match("^(%-?%d+)%s+(%-?%d+)$") if x and y then - return window_api.resize({ x = tonumber(x) or 0, y = tonumber(y) or 0, relative = true }) + return function() + hl.dispatch(window_api.resize({ x = tonumber(x) or 0, y = tonumber(y) or 0, relative = true })) + end end end if name == "movewindow" and args == "" and window_api.drag then - return window_api.drag() + return function() + hl.dispatch(window_api.drag()) + end end if args ~= "" then return raw_dispatch_cmd(name .. " " .. args) 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 diff --git a/config/hypr/lua/user_keybinds_helper.lua b/config/hypr/lua/user_keybinds_helper.lua index 0cb786f2..982c99ab 100644 --- a/config/hypr/lua/user_keybinds_helper.lua +++ b/config/hypr/lua/user_keybinds_helper.lua @@ -162,24 +162,32 @@ local function dispatch(name, args) end 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 == "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 == "movefocus" and dsp and dsp.focus then return function() @@ -208,16 +216,28 @@ local function dispatch(name, args) return function() hl.dispatch(window_api.float({ action = "toggle" })) end end if name == "pseudo" and window_api.pseudo then - return window_api.pseudo() + return function() + hl.dispatch(window_api.pseudo()) + 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 == "resizewindow" and window_api.resize then - return window_api.resize() + return function() + hl.dispatch(window_api.resize()) + end end if name == "resizeactive" then return raw_dispatch_cmd("resizeactive " .. args) |
