From 6c48073e36d9948e5e5a71f9ab3a3e529ed4cde6 Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Tue, 28 Apr 2026 15:51:51 -0700 Subject: [PATCH] Keep pending scratchpads on invoking workspace --- dotfiles/config/hypr/hyprland.lua | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/dotfiles/config/hypr/hyprland.lua b/dotfiles/config/hypr/hyprland.lua index 541c3bb2..df1b84e1 100644 --- a/dotfiles/config/hypr/hyprland.lua +++ b/dotfiles/config/hypr/hyprland.lua @@ -751,9 +751,9 @@ local function adopt_matching_scratchpad_window(window) for name, def in pairs(scratchpads) do if scratchpad_window_matches(window, def) then if scratchpad_pending[name] then - local target_monitor = scratchpad_pending[name] + local pending = scratchpad_pending[name] scratchpad_pending[name] = nil - show_scratchpad_window(name, window, nil, target_monitor) + show_scratchpad_window(name, window, pending.workspace or active_workspace(), pending.monitor or hl.get_active_monitor()) elseif scratchpad_is_visible(window) then schedule_scratchpad_geometry(name, window, hl.get_active_monitor()) end @@ -1074,7 +1074,10 @@ local function toggle_scratchpad(name) local windows = matching_scratchpad_windows(name) if #windows == 0 then - scratchpad_pending[name] = hl.get_active_monitor() + scratchpad_pending[name] = { + monitor = hl.get_active_monitor(), + workspace = active_workspace(), + } hl.exec_cmd(def.command) return end