Skip to content

Commit

Permalink
Added correct keybindings for macos so that cmd+a works
Browse files Browse the repository at this point in the history
  • Loading branch information
oliverschwendener committed Sep 28, 2018
1 parent 171fda3 commit d16ec99
Showing 1 changed file with 36 additions and 5 deletions.
41 changes: 36 additions & 5 deletions src/ts/main.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { join } from "path";
import { platform } from "os";
import { app, BrowserWindow, globalShortcut, ipcMain, Menu, Tray, screen } from "electron";
import { app, BrowserWindow, globalShortcut, ipcMain, Menu, Tray, screen, MenuItem, MenuItemConstructorOptions } from "electron";
import { autoUpdater } from "electron-updater";
import { FilePathExecutionArgumentValidator } from "./execution-argument-validators/file-path-execution-argument-validator";
import { ExecutionService } from "./execution-service";
Expand Down Expand Up @@ -58,6 +58,7 @@ function startApp(): void {

function createMainWindow(): void {
hideAppInDock();
setUpKeyBindings();

mainWindow = new BrowserWindow({
autoHideMenuBar: true,
Expand Down Expand Up @@ -94,10 +95,13 @@ function createTrayIcon(): void {
trayIcon.setToolTip(UeliHelpers.productName);
trayIcon.setContextMenu(Menu.buildFromTemplate([
{ click: showWindow, label: "Show" },
{ click: (): void => {
showWindow();
mainWindow.webContents.send(IpcChannels.showSettingsFromMain);
}, label: "Settings" },
{
click: (): void => {
showWindow();
mainWindow.webContents.send(IpcChannels.showSettingsFromMain);
},
label: "Settings",
},
{ click: quitApp, label: "Exit" },
]));
}
Expand All @@ -116,6 +120,33 @@ function hideAppInDock(): void {
}
}

function setUpKeyBindings(): void {
if (platform() === "darwin") {
const template = [
{
label: UeliHelpers.productName,
submenu: [
{ label: "Quit", accelerator: "Command+Q", click: quitApp },
],
},
{
label: "Edit",
submenu: [
{ label: "Undo", accelerator: "CmdOrCtrl+Z", selector: "undo:" },
{ label: "Redo", accelerator: "Shift+CmdOrCtrl+Z", selector: "redo:" },
{ type: "separator" },
{ label: "Cut", accelerator: "CmdOrCtrl+X", selector: "cut:" },
{ label: "Copy", accelerator: "CmdOrCtrl+C", selector: "copy:" },
{ label: "Paste", accelerator: "CmdOrCtrl+V", selector: "paste:" },
{ label: "Select All", accelerator: "CmdOrCtrl+A", selector: "selectAll:" },
],
},
] as MenuItemConstructorOptions[];

Menu.setApplicationMenu(Menu.buildFromTemplate(template));
}
}

function checkForUpdates(): void {
autoUpdater.autoDownload = false;
autoUpdater.checkForUpdates();
Expand Down

0 comments on commit d16ec99

Please sign in to comment.