From 8992c2cddaeb1a8392d2dfd595dfcadc20901ede Mon Sep 17 00:00:00 2001 From: Vulich Fernando <46904390+fvulich@users.noreply.github.com> Date: Fri, 15 Nov 2019 12:13:04 -0300 Subject: [PATCH] Fix Cmd+number tab changing in MacOs --- app.js | 5 +++++ app/Application.js | 11 ----------- electron/main.js | 11 ++++++++++- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/app.js b/app.js index b9ba2770..0540da48 100644 --- a/app.js +++ b/app.js @@ -167,3 +167,8 @@ ipc.on('zoomout-webview', function() { tabPanel.getActiveTab().zoomOut(); }); +ipc.on('shortcut:tab', function(e, arg) { + var tabPanel = Ext.cq1('app-main'); + if ( arg >= tabPanel.items.indexOf(Ext.getCmp('tbfill')) ) arg++; + tabPanel.setActiveTab(arg); +}); diff --git a/app/Application.js b/app/Application.js index cdf911f5..28a8d03e 100644 --- a/app/Application.js +++ b/app/Application.js @@ -225,17 +225,6 @@ Ext.define('Rambox.Application', { tabPanel.getActiveTab().resetZoom(); } } - ,{ - key: "123456789" - ,ctrl: true - ,alt: false - ,handler: function(key) { - var tabPanel = Ext.cq1('app-main'); - key = key - 48; - if ( key >= tabPanel.items.indexOf(Ext.getCmp('tbfill')) ) key++; - tabPanel.setActiveTab(key); - } - } ,{ key: 188 // comma ,ctrl: true diff --git a/electron/main.js b/electron/main.js index 4cc64d66..b14533d2 100644 --- a/electron/main.js +++ b/electron/main.js @@ -1,6 +1,6 @@ 'use strict'; -const {app, protocol, BrowserWindow, dialog, shell, Menu, ipcMain, nativeImage, session} = require('electron'); +const {app, protocol, BrowserWindow, dialog, shell, Menu, ipcMain, nativeImage, session, globalShortcut} = require('electron'); // Tray const tray = require('./tray'); // AutoLaunch @@ -476,6 +476,15 @@ if ( config.get('disable_gpu') ) app.disableHardwareAcceleration(); // initialization and is ready to create browser windows. app.on('ready', function() { config.get('master_password') ? createMasterPasswordWindow() : createWindow(); + globalShortcut.register('CommandOrControl+1', () => { mainWindow.webContents.send('shortcut:tab', 1); }) + globalShortcut.register('CommandOrControl+2', () => { mainWindow.webContents.send('shortcut:tab', 2); }) + globalShortcut.register('CommandOrControl+3', () => { mainWindow.webContents.send('shortcut:tab', 3); }) + globalShortcut.register('CommandOrControl+4', () => { mainWindow.webContents.send('shortcut:tab', 4); }) + globalShortcut.register('CommandOrControl+5', () => { mainWindow.webContents.send('shortcut:tab', 5); }) + globalShortcut.register('CommandOrControl+6', () => { mainWindow.webContents.send('shortcut:tab', 6); }) + globalShortcut.register('CommandOrControl+7', () => { mainWindow.webContents.send('shortcut:tab', 7); }) + globalShortcut.register('CommandOrControl+8', () => { mainWindow.webContents.send('shortcut:tab', 8); }) + globalShortcut.register('CommandOrControl+9', () => { mainWindow.webContents.send('shortcut:tab', 9); }) }); // Quit when all windows are closed.