From 31e394fe1c6035200576327a07dba02fe7df53aa Mon Sep 17 00:00:00 2001 From: Etienne Lescot Date: Wed, 13 May 2026 16:33:44 +0200 Subject: [PATCH] fix: address follow-up review comments --- .../Sources/OpenScreenMacOSCursorHelper/main.swift | 14 ++++++++++++-- src/components/launch/LaunchWindow.tsx | 3 ++- src/i18n/locales/tr/settings.json | 3 +-- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/electron/native/screencapturekit/Sources/OpenScreenMacOSCursorHelper/main.swift b/electron/native/screencapturekit/Sources/OpenScreenMacOSCursorHelper/main.swift index bbe49f8..672e86f 100644 --- a/electron/native/screencapturekit/Sources/OpenScreenMacOSCursorHelper/main.swift +++ b/electron/native/screencapturekit/Sources/OpenScreenMacOSCursorHelper/main.swift @@ -66,12 +66,22 @@ final class MouseButtonTracker { private func record(_ type: CGEventType) { lock.lock() defer { lock.unlock() } + if type == .tapDisabledByTimeout || type == .tapDisabledByUserInput { + reenableTap() + return + } if type == .leftMouseDown { leftDownCount += 1 } else if type == .leftMouseUp { leftUpCount += 1 } } + + private func reenableTap() { + if let eventTap { + CGEvent.tapEnable(tap: eventTap, enable: true) + } + } } func emit(_ fields: [String: Any?]) { @@ -181,8 +191,8 @@ func cursorTypeForElement(_ element: AXUIElement) -> String? { func accessibilityPointForMouse() -> CGPoint { let mouse = NSEvent.mouseLocation - let maxY = NSScreen.screens.map { $0.frame.maxY }.max() ?? NSScreen.main?.frame.height ?? 0 - return CGPoint(x: mouse.x, y: maxY - mouse.y) + let primaryHeight = NSScreen.screens.first?.frame.height ?? NSScreen.main?.frame.height ?? 0 + return CGPoint(x: mouse.x, y: primaryHeight - mouse.y) } func currentCursorType() -> String? { diff --git a/src/components/launch/LaunchWindow.tsx b/src/components/launch/LaunchWindow.tsx index 2da3b47..570ec28 100644 --- a/src/components/launch/LaunchWindow.tsx +++ b/src/components/launch/LaunchWindow.tsx @@ -404,7 +404,8 @@ export function LaunchWindow() { className={`h-full w-full min-w-0 max-w-full overflow-x-hidden overflow-y-hidden bg-transparent ${styles.electronDrag}`} onPointerMove={(event) => { const target = event.target as HTMLElement | null; - const shouldCapture = Boolean(target?.closest("[data-hud-interactive='true']")); + const shouldCapture = + isLanguageMenuOpen || Boolean(target?.closest("[data-hud-interactive='true']")); setHudMouseEventsEnabled(shouldCapture); }} onPointerLeave={() => { diff --git a/src/i18n/locales/tr/settings.json b/src/i18n/locales/tr/settings.json index 0eab90f..4895800 100644 --- a/src/i18n/locales/tr/settings.json +++ b/src/i18n/locales/tr/settings.json @@ -193,6 +193,5 @@ }, "language": { "title": "Dil" - }, - "audio": {} + } }