e228ca6317
Introduces a plugin architecture, including a PluginManager, plugin loading in main and renderer processes, and a sample plugin demonstrating menu, IPC, and context menu contributions. Adds a Plugins tab to the settings UI for managing plugins (enable/disable, reload), and updates preload.js to load renderer preloads from plugins. Documentation for plugin development is included in README-PLUGINS.md.
9 lines
336 B
JavaScript
9 lines
336 B
JavaScript
// Renderer preload for sample plugin
|
|
// You can expose new APIs to the page
|
|
const { contextBridge, ipcRenderer } = require('electron');
|
|
|
|
contextBridge.exposeInMainWorld('sampleHello', {
|
|
ping: () => ipcRenderer.invoke('sample-hello:ping'),
|
|
onHello: (handler) => ipcRenderer.on('sample-hello', (_e, payload) => handler(payload))
|
|
});
|