diff --git a/electron/windows.ts b/electron/windows.ts index 478584b5..b327ee98 100644 --- a/electron/windows.ts +++ b/electron/windows.ts @@ -192,7 +192,7 @@ function getHudOverlayBounds() { const { workArea } = getHudOverlayDisplay(); return getHudOverlayWindowBounds( workArea, - isHudOverlayMousePassthroughSupported() && !hudOverlayRecordingActive, + isHudOverlayMousePassthroughSupported(), hudOverlayFallbackExpanded, ); } @@ -278,11 +278,7 @@ function setHudOverlayFallbackExpanded(expanded: boolean) { function setHudOverlayMousePassthrough(ignore: boolean) { hudOverlayIgnoringMouse = - hudOverlaySourceSelectionActive && !hudOverlayRecordingActive - ? true - : hudOverlayRecordingActive - ? false - : ignore; + hudOverlaySourceSelectionActive && !hudOverlayRecordingActive ? true : ignore; if (hudOverlayMouseReassertTimer) { clearTimeout(hudOverlayMouseReassertTimer); @@ -293,9 +289,7 @@ function setHudOverlayMousePassthrough(ignore: boolean) { return; } - if (hudOverlayRecordingActive) { - hudOverlayFallbackExpanded = false; - applyHudOverlayBounds(); + if (hudOverlayRecordingActive && !isHudOverlayMousePassthroughSupported()) { hudOverlayWindow.setIgnoreMouseEvents(false); return; } @@ -480,13 +474,8 @@ export function createHudOverlayWindow(): BrowserWindow { } if (isHudOverlayMousePassthroughSupported()) { - if (hudOverlayRecordingActive) { - hudOverlayIgnoringMouse = false; - win.setIgnoreMouseEvents(false); - } else { - hudOverlayIgnoringMouse = true; - win.setIgnoreMouseEvents(true, { forward: true }); - } + hudOverlayIgnoringMouse = true; + win.setIgnoreMouseEvents(true, { forward: true }); } // On Windows 11+, focus changes (e.g. showing a native notification) can break @@ -616,7 +605,7 @@ export function reassertHudOverlayMousePassthrough(): void { } if (hudOverlayRecordingActive) { - hud.setIgnoreMouseEvents(false); + setHudOverlayMousePassthrough(hudOverlayIgnoringMouse); return; } @@ -638,7 +627,7 @@ export function setHudOverlayRecordingActive(recording: boolean): void { hudOverlayRecordingActive = Boolean(recording); hudOverlayFallbackExpanded = false; applyHudOverlayBounds(); - setHudOverlayMousePassthrough(!hudOverlayRecordingActive); + setHudOverlayMousePassthrough(hudOverlayIgnoringMouse); } export function createUpdateToastWindow(): BrowserWindow { diff --git a/src/components/launch/LaunchWindow.tsx b/src/components/launch/LaunchWindow.tsx index d7dc51bc..d5fb5085 100644 --- a/src/components/launch/LaunchWindow.tsx +++ b/src/components/launch/LaunchWindow.tsx @@ -442,12 +442,13 @@ function LaunchWindowContent() { className="flex items-center overflow-visible flex-col-reverse pointer-events-none" >