diff --git a/src/_locales/en/messages.json b/src/_locales/en/messages.json index 2975dcf7ba..fc288f75a9 100644 --- a/src/_locales/en/messages.json +++ b/src/_locales/en/messages.json @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "Generate and copy a new random password to the clipboard" }, + "commandLockVaultDesc": { + "message": "Lock the vault" + }, "privateModeMessage": { "message": "Unfortunately this window is not available in private mode for this browser." }, diff --git a/src/background/commands.background.ts b/src/background/commands.background.ts index 7259972573..625eb4cd67 100644 --- a/src/background/commands.background.ts +++ b/src/background/commands.background.ts @@ -44,6 +44,9 @@ export default class CommandsBackground { case 'open_popup': await this.openPopup(); break; + case 'lock_vault': + await this.vaultTimeoutService.lock(true); + break; default: break; } diff --git a/src/content/shortcuts.ts b/src/content/shortcuts.ts index ecdacd89f4..06b3e20523 100644 --- a/src/content/shortcuts.ts +++ b/src/content/shortcuts.ts @@ -35,6 +35,10 @@ document.addEventListener('DOMContentLoaded', (event) => { }); } + Mousetrap.bind('mod+shift+s', () => { + sendMessage('lock_vault'); + }); + function sendMessage(shortcut: string) { const msg: any = { command: 'keyboardShortcutTriggered', diff --git a/src/manifest.json b/src/manifest.json index 718ad3a0e8..5f6e06e1ab 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -118,6 +118,9 @@ "default": "Ctrl+Shift+9" }, "description": "__MSG_commandGeneratePasswordDesc__" + }, + "lock_vault": { + "description": "__MSG_commandLockVaultDesc__" } }, "web_accessible_resources": [