diff --git a/surfsense_desktop/src/ipc/channels.ts b/surfsense_desktop/src/ipc/channels.ts index 69fb89419..9f084af85 100644 --- a/surfsense_desktop/src/ipc/channels.ts +++ b/surfsense_desktop/src/ipc/channels.ts @@ -11,6 +11,7 @@ export const IPC_CHANNELS = { REQUEST_ACCESSIBILITY: 'request-accessibility', REQUEST_SCREEN_RECORDING: 'request-screen-recording', RESTART_APP: 'restart-app', + CAPTURE_FULL_SCREEN: 'capture-full-screen', SCREEN_REGION_SUBMIT: 'screen-region:submit', SCREEN_REGION_CANCEL: 'screen-region:cancel', CHAT_SCREEN_CAPTURE: 'chat:screen-capture', diff --git a/surfsense_desktop/src/preload.ts b/surfsense_desktop/src/preload.ts index 087cabd75..7ce2cbcf8 100644 --- a/surfsense_desktop/src/preload.ts +++ b/surfsense_desktop/src/preload.ts @@ -32,6 +32,7 @@ contextBridge.exposeInMainWorld('electronAPI', { getPermissionsStatus: () => ipcRenderer.invoke(IPC_CHANNELS.GET_PERMISSIONS_STATUS), requestAccessibility: () => ipcRenderer.invoke(IPC_CHANNELS.REQUEST_ACCESSIBILITY), requestScreenRecording: () => ipcRenderer.invoke(IPC_CHANNELS.REQUEST_SCREEN_RECORDING), + captureFullScreen: () => ipcRenderer.invoke(IPC_CHANNELS.CAPTURE_FULL_SCREEN), restartApp: () => ipcRenderer.invoke(IPC_CHANNELS.RESTART_APP), // Folder sync selectFolder: () => ipcRenderer.invoke(IPC_CHANNELS.FOLDER_SYNC_SELECT_FOLDER), diff --git a/surfsense_web/types/window.d.ts b/surfsense_web/types/window.d.ts index a8f02fd20..ea55743db 100644 --- a/surfsense_web/types/window.d.ts +++ b/surfsense_web/types/window.d.ts @@ -83,6 +83,7 @@ interface ElectronAPI { }>; requestAccessibility: () => Promise; requestScreenRecording: () => Promise; + captureFullScreen: () => Promise; restartApp: () => Promise; // Folder sync selectFolder: () => Promise; @@ -108,10 +109,18 @@ interface ElectronAPI { getAuthTokens: () => Promise<{ bearer: string; refresh: string } | null>; setAuthTokens: (bearer: string, refresh: string) => Promise; // Keyboard shortcut configuration - getShortcuts: () => Promise<{ generalAssist: string; quickAsk: string }>; + getShortcuts: () => Promise<{ + generalAssist: string; + quickAsk: string; + screenshotAssist: string; + }>; setShortcuts: ( - config: Partial<{ generalAssist: string; quickAsk: string }> - ) => Promise<{ generalAssist: string; quickAsk: string }>; + config: Partial<{ generalAssist: string; quickAsk: string; screenshotAssist: string }> + ) => Promise<{ + generalAssist: string; + quickAsk: string; + screenshotAssist: string; + }>; // Launch on system startup getAutoLaunch: () => Promise<{ enabled: boolean;