From d2796fbf849821b6855470349da8c2c27360e7c8 Mon Sep 17 00:00:00 2001 From: webadderall <131426131+webadderall@users.noreply.github.com> Date: Fri, 5 Jun 2026 10:32:11 +1000 Subject: [PATCH] Revert "fix(linux): expand HUD fallback for menus" This reverts commit e2802bffad587f75049883e6b1565487e072a1e0. --- electron/hudOverlayBounds.test.ts | 52 ------------------------------- electron/hudOverlayBounds.ts | 21 ------------- electron/windows.ts | 31 +++--------------- 3 files changed, 4 insertions(+), 100 deletions(-) diff --git a/electron/hudOverlayBounds.test.ts b/electron/hudOverlayBounds.test.ts index e9daa53a..dac1058c 100644 --- a/electron/hudOverlayBounds.test.ts +++ b/electron/hudOverlayBounds.test.ts @@ -3,8 +3,6 @@ import { describe, expect, it } from "vitest"; import { getHudOverlayWindowBounds, resizeHudOverlayFallbackBounds, - shouldExpandHudOverlayFallback, - shouldResizeHudOverlayFallback, } from "./hudOverlayBounds"; describe("getHudOverlayWindowBounds", () => { @@ -145,53 +143,3 @@ describe("resizeHudOverlayFallbackBounds", () => { }); }); }); - -describe("shouldResizeHudOverlayFallback", () => { - it("allows non-passthrough HUD windows to expand for menus when idle", () => { - expect(shouldResizeHudOverlayFallback(false, false)).toBe(true); - }); - - it("does not resize full passthrough HUD windows", () => { - expect(shouldResizeHudOverlayFallback(true, false)).toBe(false); - }); - - it("keeps the recording HUD compact in non-passthrough mode", () => { - expect(shouldResizeHudOverlayFallback(false, true)).toBe(false); - }); - - it("keeps the fallback stable while source selection is active", () => { - expect(shouldResizeHudOverlayFallback(false, false, true)).toBe(false); - }); -}); - -describe("shouldExpandHudOverlayFallback", () => { - it("expands while recording only when the floating webcam preview is visible", () => { - expect( - shouldExpandHudOverlayFallback({ - fallbackExpanded: false, - recordingActive: true, - webcamPreviewVisible: true, - }), - ).toBe(true); - }); - - it("keeps the compact recording fallback when there is no webcam preview", () => { - expect( - shouldExpandHudOverlayFallback({ - fallbackExpanded: false, - recordingActive: true, - webcamPreviewVisible: false, - }), - ).toBe(false); - }); - - it("preserves manual fallback expansion outside recording", () => { - expect( - shouldExpandHudOverlayFallback({ - fallbackExpanded: true, - recordingActive: false, - webcamPreviewVisible: false, - }), - ).toBe(true); - }); -}); diff --git a/electron/hudOverlayBounds.ts b/electron/hudOverlayBounds.ts index 2a8bff82..22facf93 100644 --- a/electron/hudOverlayBounds.ts +++ b/electron/hudOverlayBounds.ts @@ -37,27 +37,6 @@ export function getHudOverlayWindowBounds( height, }; } - -export function shouldResizeHudOverlayFallback( - mousePassthroughSupported: boolean, - recordingActive: boolean, - interactionLocked = false, -): boolean { - return !mousePassthroughSupported && !recordingActive && !interactionLocked; -} - -export function shouldExpandHudOverlayFallback({ - fallbackExpanded, - recordingActive, - webcamPreviewVisible, -}: { - fallbackExpanded: boolean; - recordingActive: boolean; - webcamPreviewVisible: boolean; -}): boolean { - return fallbackExpanded || (recordingActive && webcamPreviewVisible); -} - export function resizeHudOverlayFallbackBounds( workArea: HudOverlayWorkArea, currentBounds: HudOverlayWorkArea, diff --git a/electron/windows.ts b/electron/windows.ts index 811f43c5..7da43a64 100644 --- a/electron/windows.ts +++ b/electron/windows.ts @@ -5,12 +5,7 @@ import path from "node:path"; import { fileURLToPath } from "node:url"; import { app, BrowserWindow, ipcMain } from "electron"; import { USER_DATA_PATH } from "./appPaths"; -import { - getHudOverlayWindowBounds, - resizeHudOverlayFallbackBounds, - shouldExpandHudOverlayFallback, - shouldResizeHudOverlayFallback, -} from "./hudOverlayBounds"; +import { getHudOverlayWindowBounds, resizeHudOverlayFallbackBounds } from "./hudOverlayBounds"; import { getPackagedRendererBaseUrl } from "./rendererServer"; const electronWindowsDir = path.dirname(fileURLToPath(import.meta.url)); @@ -196,15 +191,10 @@ function getHudOverlayDisplay() { function getHudOverlayBounds() { const { workArea } = getHudOverlayDisplay(); - const fallbackExpanded = shouldExpandHudOverlayFallback({ - fallbackExpanded: hudOverlayFallbackExpanded, - recordingActive: hudOverlayRecordingActive, - webcamPreviewVisible: hudOverlayWebcamPreviewVisible, - }); return getHudOverlayWindowBounds( workArea, isHudOverlayMousePassthroughSupported() && !hudOverlayRecordingActive, - fallbackExpanded, + hudOverlayFallbackExpanded, ); } @@ -311,21 +301,8 @@ function setHudOverlayMousePassthrough(ignore: boolean) { return; } - if (hudOverlaySourceSelectionActive) { - hudOverlayFallbackExpanded = false; - hudOverlayWindow.setIgnoreMouseEvents(false); - return; - } - - const mousePassthroughSupported = isHudOverlayMousePassthroughSupported(); - if (!mousePassthroughSupported) { - if ( - shouldResizeHudOverlayFallback( - mousePassthroughSupported, - hudOverlayRecordingActive, - hudOverlaySourceSelectionActive, - ) - ) { + if (!isHudOverlayMousePassthroughSupported()) { + if (process.platform !== "linux") { setHudOverlayFallbackExpanded(!ignore); } hudOverlayWindow.setIgnoreMouseEvents(false);