Nefarious Pomegranate Magnate

    electron-localshortcut
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/electron-localshortcut package

    3.2.1 • Public • Published

    electron-localshortcut

    A module to register/unregister a keyboard shortcut locally to a BrowserWindow instance, without using a Menu.

    This is built to circumvent this Electron issue.

    Travis Build Status NPM module NPM downloads Greenkeeper badge

    Installation

    npm install --save electron-localshortcut

    Usage

        const electronLocalshortcut = require('electron-localshortcut');
        const BrowserWindow = require('electron').BrowserWindow;
     
        const win = new BrowserWindow();
        win.loadUrl('https://github.com');
        win.show();
     
        electronLocalshortcut.register(win, 'Ctrl+A', () => {
            console.log('You pressed ctrl & A');
        });
     
        electronLocalshortcut.register(win, 'Ctrl+B', () => {
            console.log('You pressed ctrl & B');
        });
     
        electronLocalshortcut.register(win, ['Ctrl+R', 'F5'], () => {
            console.log('You pressed ctrl & R or F5');
        });
     
        console.log(
            electronLocalshortcut.isRegistered(win, 'Ctrl+A')
        );      // true
     
        electronLocalshortcut.unregister(win, 'Ctrl+A');
        electronLocalshortcut.unregisterAll(win);

    App shortcuts.

    If you omit the window argument of isRegistered, unregisterAll, unregister and register methods, the shortcut is registered as an app shortcut. It is active when any window of the app is focused.

    They differ from native global-shortcuts because they doesn't interfere with other apps running on the same machine.

    Shortcut behaviour.

    If you register a shortcut for a window, this module unregister the shortcut when the window is hidden, unfocused or minimized, and automatically restore them when the window is restored and focused again.

    If you register an app shortcut, this module unregister the shortcut when all windows of your app are hidden, unfocused or minimized, and automatically restore it when any window of your app is restored and focused again.

    API

    disableAll

    Disable all of the shortcuts registered on the BrowserWindow instance. Registered shortcuts no more works on the window instance, but the module keep a reference on them. You can reactivate them later by calling enableAll method on the same window instance.

    Parameters

    • win BrowserWindow BrowserWindow instance

    Returns Undefined

    enableAll

    Enable all of the shortcuts registered on the BrowserWindow instance that you had previously disabled calling disableAll method.

    Parameters

    • win BrowserWindow BrowserWindow instance

    Returns Undefined

    unregisterAll

    Unregisters all of the shortcuts registered on any focused BrowserWindow instance. This method does not unregister any shortcut you registered on a particular window instance.

    Parameters

    • win BrowserWindow BrowserWindow instance

    Returns Undefined

    register

    Registers the shortcut acceleratoron the BrowserWindow instance.

    Parameters

    • win BrowserWindow BrowserWindow instance to register. This argument could be omitted, in this case the function register the shortcut on all app windows.
    • accelerator (String | Array<String>) the shortcut to register
    • callback Function This function is called when the shortcut is pressed and the window is focused and not minimized.

    Returns Undefined

    unregister

    Unregisters the shortcut of accelerator registered on the BrowserWindow instance.

    Parameters

    • win BrowserWindow BrowserWindow instance to unregister. This argument could be omitted, in this case the function unregister the shortcut on all app windows. If you registered the shortcut on a particular window instance, it will do nothing.
    • accelerator (String | Array<String>) the shortcut to unregister

    Returns Undefined

    isRegistered

    Returns true or false depending on whether the shortcut accelerator is registered on window.

    Parameters

    • win BrowserWindow BrowserWindow instance to check. This argument could be omitted, in this case the function returns whether the shortcut accelerator is registered on all app windows. If you registered the shortcut on a particular window instance, it return false.
    • accelerator String the shortcut to check

    Returns Boolean if the shortcut accelerator is registered on window.

    License

    The MIT License (MIT)

    Copyright (c) 2017 Andrea Parodi

    Install

    npm i electron-localshortcut

    DownloadsWeekly Downloads

    39,613

    Version

    3.2.1

    License

    MIT

    Unpacked Size

    17.5 kB

    Total Files

    4

    Last publish

    Collaborators

    • parroit