31 lines
1.1 KiB
JavaScript
31 lines
1.1 KiB
JavaScript
const { contextBridge, ipcRenderer } = require('electron');
|
|
|
|
contextBridge.exposeInMainWorld('rfcp', {
|
|
// System info
|
|
getDataPath: () => ipcRenderer.invoke('get-data-path'),
|
|
getLogPath: () => ipcRenderer.invoke('get-log-path'),
|
|
getAppVersion: () => ipcRenderer.invoke('get-app-version'),
|
|
getPlatform: () => ipcRenderer.invoke('get-platform'),
|
|
getGpuInfo: () => ipcRenderer.invoke('get-gpu-info'),
|
|
|
|
// Dialogs
|
|
selectDirectory: () => ipcRenderer.invoke('select-directory'),
|
|
selectFile: (options) => ipcRenderer.invoke('select-file', options),
|
|
saveFile: (options) => ipcRenderer.invoke('save-file', options),
|
|
|
|
// Settings (persistent)
|
|
getSetting: (key) => ipcRenderer.invoke('get-setting', key),
|
|
setSetting: (key, value) => ipcRenderer.invoke('set-setting', key, value),
|
|
|
|
// Shell
|
|
openExternal: (url) => ipcRenderer.invoke('open-external', url),
|
|
openPath: (path) => ipcRenderer.invoke('open-path', path),
|
|
|
|
// Platform info
|
|
platform: process.platform,
|
|
isDesktop: true,
|
|
isMac: process.platform === 'darwin',
|
|
isWindows: process.platform === 'win32',
|
|
isLinux: process.platform === 'linux',
|
|
});
|