From 6ca3ce79d7fc68293083bbcce660005de28ce5e3 Mon Sep 17 00:00:00 2001 From: wyddy7 Date: Fri, 22 May 2026 23:29:27 +0300 Subject: [PATCH] fix(hud): keep overlay visible when target enters fullscreen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The HUD BrowserWindow has no window type, so on macOS it stays on the original Space when the recorded app enters native fullscreen — the overlay vanishes and the primary recording controls become unreachable until the user exits fullscreen. Add type: 'panel' on darwin so the HUD floats over fullscreen Spaces while keeping transparent, alwaysOnTop, focusable: false, and setContentProtection unchanged. setVisibleOnAllWorkspaces relies on the window being focusable (electron#36364), so it cannot fix a focusable: false HUD. --- electron/windows.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/electron/windows.ts b/electron/windows.ts index 26b948923..a80b210d1 100644 --- a/electron/windows.ts +++ b/electron/windows.ts @@ -375,6 +375,9 @@ export function createHudOverlayWindow(): BrowserWindow { hasShadow: false, show: false, focusable: false, + // On macOS, `type: 'panel'` lets a transparent, always-on-top window + // float over apps that enter native fullscreen on their own Space. + ...(process.platform === "darwin" ? ({ type: "panel" } as const) : {}), webPreferences: { preload: path.join(electronWindowsDir, "preload.mjs"), nodeIntegration: false,