diff --git a/main-electron.js b/main-electron.js deleted file mode 100644 index 02a9914d..00000000 --- a/main-electron.js +++ /dev/null @@ -1,238 +0,0 @@ -const { join } = require("path"); -const { app, Menu, MenuItem, BrowserWindow, shell } = require("electron"); - -// Keep a global reference of the window object, if you don't, the window will -// be closed automatically when the JavaScript object is garbage collected. -let win; -const globalAny = global; - -if (process.env.NODE_ENV !== 'development') { - globalAny.__static = require('path').join(__dirname, '/assets/icons').replace(/\\/g, '\\\\'); -} - -function createWindow() { - // Set icon - let icon = join(globalAny.__static, '/png/512x512.png'); - if (process.platform === "win32") { - icon = join(globalAny.__static, '/win/icon.ico'); - } - - // Create the browser window - win = new BrowserWindow({ - width: 377, - height: 800, - title: "Sengi", - icon: icon, - backgroundColor: "#131925", - useContentSize: true, - webPreferences: { - spellcheck: false - } - // webPreferences: { - // contextIsolation: true, - // nodeIntegration: false, - // nodeIntegrationInWorker: false - // } - }); - - win.setAutoHideMenuBar(true); - win.setMenuBarVisibility(false); - - const sengiUrl = "https://sengi.nicolas-constant.com"; - win.loadURL(sengiUrl); - - const template = [ - { - label: "View", - submenu: [ - { - label: "Return on Sengi", - click() { - win.loadURL(sengiUrl); - } - }, - { type: "separator" }, - { role: "reload" }, - { role: "forcereload" }, - { type: "separator" }, - { role: "resetzoom" }, - { role: "zoomin", accelerator: "CommandOrControl+numadd" }, - { role: "zoomout", accelerator: "CommandOrControl+numsub" }, - { type: "separator" }, - { role: "togglefullscreen" }, - { type: "separator" }, - { role: "close" }, - { role: "quit" } - ] - }, - { - role: "help", - submenu: [ - { role: "toggledevtools" }, - { - label: "Open GitHub project", - click() { - require("electron").shell.openExternal( - "https://github.com/NicolasConstant/sengi" - ); - } - } - ] - } - ]; - - const menu = Menu.buildFromTemplate(template); - win.setMenu(menu); - - // Check if we are on a MAC - if (process.platform === "darwin") { - // Create our menu entries so that we can use MAC shortcuts - Menu.setApplicationMenu( - Menu.buildFromTemplate([ - { - label: "Sengi", - submenu: [ - { role: "close" }, - { role: 'quit' } - ] - }, - // { - // label: "File", - // submenu: [ - // ] - // }, - { - label: "Edit", - submenu: [ - { role: "undo" }, - { role: "redo" }, - { type: "separator" }, - { role: "cut" }, - { role: "copy" }, - { role: "paste" }, - { role: "pasteandmatchstyle" }, - { role: "delete" }, - { role: "selectall" } - ] - }, - // { - // label: "Format", - // submenu: [ - // ] - // }, - { - label: "View", - submenu: [ - { - label: "Return on Sengi", - click() { - win.loadURL(sengiUrl); - } - }, - { type: "separator" }, - { role: "reload" }, - { role: "forcereload" }, - { type: 'separator' }, - { role: 'togglefullscreen' } - ] - }, - // { - // label: "Window", - // submenu: [ - // ] - // }, - { - role: "Help", - submenu: [ - { role: "toggledevtools" }, - { - label: "Open GitHub project", - click() { - require("electron").shell.openExternal( - "https://github.com/NicolasConstant/sengi" - ); - } - } - ] - } - ]) - ); - } - - //open external links to browser - win.webContents.on("new-window", function (event, url) { - event.preventDefault(); - shell.openExternal(url); - }); - - // Emitted when the window is closed. - win.on("closed", () => { - // Dereference the window object, usually you would store windows - // in an array if your app supports multi windows, this is the time - // when you should delete the corresponding element. - win = null; - }); - - - // win.webContents.on('context-menu', (event, params) => { - // const menu = new Menu(); - - // // Add each spelling suggestion - // for (const suggestion of params.dictionarySuggestions) { - // menu.append(new MenuItem({ - // label: suggestion, - // click: () => mainWindow.webContents.replaceMisspelling(suggestion) - // })); - // } - - // // Allow users to add the misspelled word to the dictionary - // if (params.misspelledWord) { - // menu.append( - // new MenuItem({ - // label: 'Add to dictionary', - // click: () => mainWindow.webContents.session.addWordToSpellCheckerDictionary(params.misspelledWord) - // })); - // } - - // menu.popup(); - // }); -} - -app.commandLine.appendSwitch("force-color-profile", "srgb"); - - -const gotTheLock = app.requestSingleInstanceLock(); - -if (!gotTheLock) { - app.quit(); -} else { - app.on('second-instance', (event, commandLine, workingDirectory) => { - // Someone tried to run a second instance, we should focus our window. - if (win) { - if (win.isMinimized()) win.restore() - win.focus() - } - }); - - // This method will be called when Electron has finished - // initialization and is ready to create browser windows. - // Some APIs can only be used after this event occurs. - app.on("ready", createWindow); -} - -// Quit when all windows are closed. -app.on("window-all-closed", () => { - // On macOS it is common for applications and their menu bar - // to stay active until the user quits explicitly with Cmd + Q - if (process.platform !== "darwin") { - app.quit(); - } -}); - -app.on("activate", () => { - // On macOS it's common to re-create a window in the app when the - // dock icon is clicked and there are no other windows open. - if (win === null) { - createWindow(); - } -}); diff --git a/package.json b/package.json index bb8f489d..926aba76 100644 --- a/package.json +++ b/package.json @@ -20,13 +20,8 @@ "test": "ng test", "test-nowatch": "ng test --watch=false", "lint": "ng lint", - "e2e": "ng e2e", - "electron": "electron .", - "electron-prod": "ng build --prod && electron .", - "electron-debug": "ng build && electron .", - "dist": "npm run build && electron-builder --publish onTagOrDraft", - "travis": "electron-builder --publish onTagOrDraft", - "release": "electron-builder --mac --windows --linux --publish always" + "e2e": "ng e2e", + "dist": "npm run build" }, "private": true, "dependencies": {