From b35c7ad4db8e604f109f4857a4ed5a1c236caf30 Mon Sep 17 00:00:00 2001 From: ZachIR Date: Sat, 26 Jul 2025 13:00:57 -0500 Subject: Add most scratchpads to scroll --- scroll/scripts/scratchpad.lua | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 scroll/scripts/scratchpad.lua (limited to 'scroll/scripts/scratchpad.lua') diff --git a/scroll/scripts/scratchpad.lua b/scroll/scripts/scratchpad.lua new file mode 100644 index 0000000..7e078d6 --- /dev/null +++ b/scroll/scripts/scratchpad.lua @@ -0,0 +1,41 @@ +local args, _ = ... +local id = "" +local spawn = "" + +for i, arg in ipairs(args) do + if i <= 1 then + id = arg + else + spawn = spawn .. " " .. arg + end +end + +local function exists(id) + local is_in_array = false + local cons = scroll.scratchpad_get_containers() + for _, con in ipairs(cons) do + local views = scroll.container_get_views(con) + for _, view in ipairs(views) do + local app_id = scroll.view_get_app_id(view) + if (app_id == id) then + is_in_array = true + end + end + end + return is_in_array +end + +local function is_focused(id) + local view = scroll.focused_view() + local app_id = scroll.view_get_app_id(view) + return app_id == id +end + +if (not exists(id)) then + scroll.command(nil, "exec kitty --class " .. id .. spawn) +end +if (is_focused(id)) then + scroll.command(nill, "scratchpad show") +else + scroll.command(nil, "[app_id=\"" .. id .. "\"] scratchpad show") +end -- cgit v1.2.3