Merge pull request #612 from webadderallorg/fix/linux-hud-menu-bounds

fix(linux): expand HUD fallback for menus
This commit is contained in:
Phạm Thị Minh Hồng
2026-05-29 01:27:47 +07:00
committed by GitHub
3 changed files with 26 additions and 2 deletions
+15
View File
@@ -4,6 +4,7 @@ import {
getHudOverlayWindowBounds,
resizeHudOverlayFallbackBounds,
shouldExpandHudOverlayFallback,
shouldResizeHudOverlayFallback,
} from "./hudOverlayBounds";
describe("getHudOverlayWindowBounds", () => {
@@ -145,6 +146,20 @@ 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);
});
});
describe("shouldExpandHudOverlayFallback", () => {
it("expands while recording only when the floating webcam preview is visible", () => {
expect(
+7
View File
@@ -38,6 +38,13 @@ export function getHudOverlayWindowBounds(
};
}
export function shouldResizeHudOverlayFallback(
mousePassthroughSupported: boolean,
recordingActive: boolean,
): boolean {
return !mousePassthroughSupported && !recordingActive;
}
export function shouldExpandHudOverlayFallback({
fallbackExpanded,
recordingActive,
+4 -2
View File
@@ -9,6 +9,7 @@ import {
getHudOverlayWindowBounds,
resizeHudOverlayFallbackBounds,
shouldExpandHudOverlayFallback,
shouldResizeHudOverlayFallback,
} from "./hudOverlayBounds";
import { getPackagedRendererBaseUrl } from "./rendererServer";
@@ -304,8 +305,9 @@ function setHudOverlayMousePassthrough(ignore: boolean) {
return;
}
if (!isHudOverlayMousePassthroughSupported()) {
if (process.platform !== "linux") {
const mousePassthroughSupported = isHudOverlayMousePassthroughSupported();
if (!mousePassthroughSupported) {
if (shouldResizeHudOverlayFallback(mousePassthroughSupported, hudOverlayRecordingActive)) {
setHudOverlayFallbackExpanded(!ignore);
}
hudOverlayWindow.setIgnoreMouseEvents(false);