Add desktop IPC, preload, and window types for chat screen capture and full-screen capture.

This commit is contained in:
CREDO23 2026-04-27 18:49:15 +02:00
parent 18108267d1
commit 62b9e328b4
3 changed files with 14 additions and 3 deletions

View file

@ -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',

View file

@ -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),

View file

@ -83,6 +83,7 @@ interface ElectronAPI {
}>;
requestAccessibility: () => Promise<void>;
requestScreenRecording: () => Promise<void>;
captureFullScreen: () => Promise<string | null>;
restartApp: () => Promise<void>;
// Folder sync
selectFolder: () => Promise<string | null>;
@ -108,10 +109,18 @@ interface ElectronAPI {
getAuthTokens: () => Promise<{ bearer: string; refresh: string } | null>;
setAuthTokens: (bearer: string, refresh: string) => Promise<void>;
// 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;