From 62081b87b715d1ebd372bb4919621cccdcdd78cf Mon Sep 17 00:00:00 2001 From: Konstantin Khlopkov Date: Thu, 10 Sep 2026 09:21:05 -0700 Subject: [PATCH] fix(desktop): give the Hyprland HUD float/pin promotion room for a lagging j/clients MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The first map on Hyprland can leave the HUD tiled when `j/clients` does not list the new client within the 8 × 50 ms the promotion loop allowed; the window then stays a stretched transparent tile (#103091). Widen the budget to 24 × 100 ms. The loop returns on the first successful float+pin, so a prompt compositor pays nothing extra. Salvaged from #103116. Its second half (re-promote from focusWindow's re-show branch) is dropped: the HUD is destroyed and respawned on every toggle and is not minimizable, so that branch never runs for it. --- apps/desktop/electron/hud-hyprland.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/desktop/electron/hud-hyprland.ts b/apps/desktop/electron/hud-hyprland.ts index afd4766842..73ce225b1e 100644 --- a/apps/desktop/electron/hud-hyprland.ts +++ b/apps/desktop/electron/hud-hyprland.ts @@ -28,8 +28,8 @@ type HyprlandDispatchSyntax = 'legacy' | 'lua' export type HyprlandRequestFn = (socketPath: string, command: string) => Promise -const DEFAULT_ATTEMPTS = 8 -const DEFAULT_DELAY_MS = 50 +const DEFAULT_ATTEMPTS = 24 +const DEFAULT_DELAY_MS = 100 let cachedSyntax: null | HyprlandDispatchSyntax = null