-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpreload.js
More file actions
22 lines (19 loc) · 1.03 KB
/
preload.js
File metadata and controls
22 lines (19 loc) · 1.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
const { contextBridge, ipcRenderer } = require('electron');
contextBridge.exposeInMainWorld('api', {
// Manager
getWidgets: () => ipcRenderer.invoke('get-widgets'),
spawnWidget: (type) => ipcRenderer.invoke('spawn-widget', type),
removeWidget: (id) => ipcRenderer.invoke('remove-widget', id),
closeWidget: (id) => ipcRenderer.invoke('close-widget', id),
updateSettings: (id, settings) => ipcRenderer.invoke('update-widget-settings', id, settings),
minimizeManager: () => ipcRenderer.invoke('minimize-manager'),
closeManager: () => ipcRenderer.invoke('close-manager'),
// Data
getSystemInfo: () => ipcRenderer.invoke('get-system-info'),
getNetworkInfo: () => ipcRenderer.invoke('get-network-info'),
getWeather: (lat, lon) => ipcRenderer.invoke('get-weather', lat, lon),
// Events
onWidgetConfig: (cb) => ipcRenderer.on('widget-config', (_, cfg) => cb(cfg)),
onSettingsUpdated: (cb) => ipcRenderer.on('settings-updated', (_, s) => cb(s)),
onWidgetsUpdated: (cb) => ipcRenderer.on('widgets-updated', (_, w) => cb(w)),
});