В электронных приложениях связь между процессами Main и Renderer осуществляется через ipc. Electron имеет ipcMain и ipcRenderer модулей, используемых в процессах Main и Renderer соответственно.
Для задачи, которую вы выполняете, вы можете отправлять сообщение процессу визуализации всякий раз, когда пользовательщелкнул Файл> Сохранить, что приведет к сохранению текстовой области в файл. Одна реализация может быть такой:
// main process
const { app } = require('electron')
// reference to the browser window
let mainWindow
app.on('ready', () => {
// here create your browser window and assign it to mainWindow
mainWindow = createMainWindow()
})
// clicking File > Save menu triggers following function
const saveClicked = () => {
// Check mainWindow exists
if (mainWindow != null) {
mainWindow.webContents.send('clicked::file:save')
}
}
// renderer process (preload.js)
const { ipcRenderer } = require('electron')
// Now you need to listen for the event you send from the main process
ipcRenderer.on('clicked::file:save', () => {
// IMPLEMENT YOUR LOGIC HERE
})