From 7145a15149130b16890b1c31e43d3a8372f5f5c8 Mon Sep 17 00:00:00 2001 From: CREDO23 Date: Mon, 27 Apr 2026 18:49:24 +0200 Subject: [PATCH] Add Screenshot Assist shortcut flow: show window, pick region, send data URL to chat. --- .../src/modules/screenshot-assist.ts | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 surfsense_desktop/src/modules/screenshot-assist.ts diff --git a/surfsense_desktop/src/modules/screenshot-assist.ts b/surfsense_desktop/src/modules/screenshot-assist.ts new file mode 100644 index 000000000..2500bf1d5 --- /dev/null +++ b/surfsense_desktop/src/modules/screenshot-assist.ts @@ -0,0 +1,20 @@ +import { IPC_CHANNELS } from '../ipc/channels'; +import { trackEvent } from './analytics'; +import { pickScreenRegion } from './screen-region-picker'; +import { getMainWindow, showMainWindow } from './window'; +import { hasScreenRecordingPermission, requestScreenRecording } from './permissions'; + +export async function runScreenshotAssistShortcut(): Promise { + showMainWindow('shortcut'); + await new Promise((r) => setTimeout(r, 400)); + if (!hasScreenRecordingPermission()) { + requestScreenRecording(); + return; + } + const url = await pickScreenRegion(); + const mw = getMainWindow(); + if (url && mw && !mw.isDestroyed()) { + mw.webContents.send(IPC_CHANNELS.CHAT_SCREEN_CAPTURE, url); + trackEvent('desktop_screenshot_assist_region_to_chat', {}); + } +}