diff --git a/app/main.js b/app/main.js new file mode 100644 index 0000000..85fe43a --- /dev/null +++ b/app/main.js @@ -0,0 +1,48 @@ +const { app, BrowserWindow, ipcMain } = require('electron') +const path = require('path') + +function createWindow() { + const win = new BrowserWindow({ + width: 1280, + height: 900, + frame: false, + webPreferences: { + nodeIntegration: true, + preload: path.join(__dirname, '/utils/preload.js'), + }, + }) + win.setMinimumSize(1280, 900); + win.loadURL('http://localhost:4678/') + win.webContents.openDevTools({ mode: 'detach' }) +} + + +app.whenReady().then(createWindow) + + + +ipcMain.on('minimize-window', (event) => { + const win = BrowserWindow.fromWebContents(event.sender) + win.minimize() +}) + +ipcMain.on('maximize-window', (event) => { + const win = BrowserWindow.fromWebContents(event.sender) + if (win.isMaximized()) { + win.unmaximize() + } else { + win.maximize() + } +}) + +ipcMain.on('close-window', (event) => { + const win = BrowserWindow.fromWebContents(event.sender) + win.close() +}) + +ipcMain.on('drag-start', (event, data) => { + const win = BrowserWindow.fromWebContents(event.sender) + win.webContents.beginFrameSubscription((frameBuffer) => { + event.reply('frame-buffer', frameBuffer) + }) +}) \ No newline at end of file diff --git a/app/utils/preload.js b/app/utils/preload.js new file mode 100644 index 0000000..0aca27a --- /dev/null +++ b/app/utils/preload.js @@ -0,0 +1,8 @@ +const { contextBridge, ipcRenderer } = require('electron') + +contextBridge.exposeInMainWorld('electronAPI', { + minimize: () => ipcRenderer.send('minimize-window'), + maximize: () => ipcRenderer.send('maximize-window'), + close: () => ipcRenderer.send('close-window'), + dragStart: (data) => ipcRenderer.send('drag-start', data), +}) \ No newline at end of file diff --git a/electron.js b/electron.js deleted file mode 100644 index 16ad04c..0000000 --- a/electron.js +++ /dev/null @@ -1,15 +0,0 @@ -const { app, BrowserWindow } = require('electron') - -function createWindow () { - const win = new BrowserWindow({ - width: 800, - height: 600, - webPreferences: { - nodeIntegration: true, - } - }) - - win.loadURL('http://localhost:4678/') -} - -app.whenReady().then(createWindow) \ No newline at end of file diff --git a/index.html b/index.html index 5bc960a..e907a88 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,24 @@ - - -
- - - -