diff --git a/app/src/electron.js b/app/src/electron.js index f16a21b0f..b72f2e1ed 100644 --- a/app/src/electron.js +++ b/app/src/electron.js @@ -229,6 +229,9 @@ ipcMain.on('window-action', async (event, arg) => { case 'paste': mainWindow.webContents.paste(); break; + case 'selectAll': + mainWindow.webContents.selectAll(); + break; } }); diff --git a/app/src/mainMenuDefinition.js b/app/src/mainMenuDefinition.js index 7efa484ec..16f0b63d1 100644 --- a/app/src/mainMenuDefinition.js +++ b/app/src/mainMenuDefinition.js @@ -48,6 +48,7 @@ module.exports = ({ editMenu }) => [ { command: 'edit.cut' }, { command: 'edit.copy' }, { command: 'edit.paste' }, + { command: 'edit.selectAll' }, ], } : null, diff --git a/packages/web/src/commands/stdCommands.ts b/packages/web/src/commands/stdCommands.ts index 58bafc62f..f98ffc43b 100644 --- a/packages/web/src/commands/stdCommands.ts +++ b/packages/web/src/commands/stdCommands.ts @@ -835,6 +835,16 @@ registerCommand({ onClick: () => getElectron().send('window-action', 'paste'), }); +registerCommand({ + id: 'edit.selectAll', + category: 'Edit', + name: 'Select All', + keyText: 'CtrlOrCommand+A', + systemCommand: true, + testEnabled: () => getElectron() != null, + onClick: () => getElectron().send('window-action', 'selectAll'), +}); + const electron = getElectron(); if (electron) { electron.addEventListener('run-command', (e, commandId) => runCommand(commandId));