Add a single-session desktop window picker and route screenshot assist, region crop, and fullscreen capture through the cached frame.

This commit is contained in:
CREDO23 2026-04-27 20:35:47 +02:00
parent 8b542ca3dd
commit 9cd4daa6b3
7 changed files with 396 additions and 65 deletions

View file

@ -0,0 +1,15 @@
import { contextBridge, ipcRenderer } from 'electron';
import { IPC_CHANNELS } from './ipc/channels';
contextBridge.exposeInMainWorld('surfsenseWindowPick', {
list: () =>
ipcRenderer.invoke(IPC_CHANNELS.WINDOW_PICK_LIST) as Promise<
{ id: string; name: string; thumbDataUrl: string }[]
>,
submit: (sourceId: string) => {
ipcRenderer.send(IPC_CHANNELS.WINDOW_PICK_SUBMIT, sourceId);
},
cancel: () => {
ipcRenderer.send(IPC_CHANNELS.WINDOW_PICK_CANCEL);
},
});