mirror of
https://github.com/notion-enhancer/notion-enhancer.git
synced 2025-04-07 05:59:02 +00:00
use keyup listeners instead of a globalShortcut for the enhancements menu toggle
This commit is contained in:
parent
3d64a5e8c8
commit
4886bbbd3e
@ -13,11 +13,18 @@ module.exports = (store, __exports) => {
|
|||||||
notionIpc = require(`${helpers.__notion.replace(
|
notionIpc = require(`${helpers.__notion.replace(
|
||||||
/\\/g,
|
/\\/g,
|
||||||
'/'
|
'/'
|
||||||
)}/app/helpers/notionIpc.js`);
|
)}/app/helpers/notionIpc.js`),
|
||||||
|
{ toKeyEvent } = require('keyboardevent-from-electron-accelerator');
|
||||||
|
|
||||||
// additional hotkeys
|
// additional hotkeys
|
||||||
document.defaultView.addEventListener('keyup', (event) => {
|
document.defaultView.addEventListener('keyup', (event) => {
|
||||||
if (event.code === 'F5') location.reload();
|
if (event.code === 'F5') location.reload();
|
||||||
|
// open menu on hotkey toggle
|
||||||
|
const hotkey = toKeyEvent(store().menu_toggle);
|
||||||
|
let triggered = true;
|
||||||
|
for (let prop in hotkey)
|
||||||
|
if (hotkey[prop] !== event[prop]) triggered = false;
|
||||||
|
if (triggered) electron.ipcRenderer.send('enhancer:open-menu');
|
||||||
});
|
});
|
||||||
|
|
||||||
const attempt_interval = setInterval(enhance, 500);
|
const attempt_interval = setInterval(enhance, 500);
|
||||||
|
@ -10,7 +10,8 @@ const store = require('../../pkg/store.js'),
|
|||||||
helpers = require('../../pkg/helpers.js'),
|
helpers = require('../../pkg/helpers.js'),
|
||||||
fs = require('fs-extra'),
|
fs = require('fs-extra'),
|
||||||
path = require('path'),
|
path = require('path'),
|
||||||
electron = require('electron');
|
electron = require('electron'),
|
||||||
|
{ toKeyEvent } = require('keyboardevent-from-electron-accelerator');
|
||||||
|
|
||||||
window['__start'] = async () => {
|
window['__start'] = async () => {
|
||||||
const buttons = require('./buttons.js')(() => ({
|
const buttons = require('./buttons.js')(() => ({
|
||||||
@ -141,9 +142,22 @@ window['__start'] = async () => {
|
|||||||
document.addEventListener('keyup', (event) => {
|
document.addEventListener('keyup', (event) => {
|
||||||
if (
|
if (
|
||||||
$popup.classList.contains('visible') &&
|
$popup.classList.contains('visible') &&
|
||||||
[13, 27].includes(event.keyCode)
|
['Enter', 'Escape'].includes(event.key)
|
||||||
)
|
)
|
||||||
$popup.classList.remove('visible');
|
$popup.classList.remove('visible');
|
||||||
|
// close window on hotkey toggle
|
||||||
|
console.log();
|
||||||
|
const hotkey = toKeyEvent(
|
||||||
|
store('0f0bf8b6-eae6-4273-b307-8fc43f2ee082', {
|
||||||
|
menu_toggle: modules.loaded
|
||||||
|
.find((m) => m.id === '0f0bf8b6-eae6-4273-b307-8fc43f2ee082')
|
||||||
|
.options.find((o) => o.key === 'menu_toggle').value,
|
||||||
|
}).menu_toggle
|
||||||
|
);
|
||||||
|
let triggered = true;
|
||||||
|
for (let prop in hotkey)
|
||||||
|
if (hotkey[prop] !== event[prop]) triggered = false;
|
||||||
|
if (triggered) electron.remote.getCurrentWindow().close();
|
||||||
});
|
});
|
||||||
let colorpicker_target = null;
|
let colorpicker_target = null;
|
||||||
const $colorpicker = colorjoe
|
const $colorpicker = colorjoe
|
||||||
|
@ -32,6 +32,9 @@ module.exports = (store, __exports) => {
|
|||||||
|
|
||||||
// menu
|
// menu
|
||||||
|
|
||||||
|
electron.ipcMain.on('enhancer:open-menu', (event, arg) => {
|
||||||
|
openExtensionMenu();
|
||||||
|
});
|
||||||
electron.ipcMain.on('enhancer:set-menu-theme', (event, arg) => {
|
electron.ipcMain.on('enhancer:set-menu-theme', (event, arg) => {
|
||||||
if (!enhancer_menu) return;
|
if (!enhancer_menu) return;
|
||||||
enhancer_menu.webContents.send('enhancer:set-menu-theme', arg);
|
enhancer_menu.webContents.send('enhancer:set-menu-theme', arg);
|
||||||
@ -115,17 +118,6 @@ module.exports = (store, __exports) => {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
electron.globalShortcut.register(store().menu_toggle, () => {
|
|
||||||
if (
|
|
||||||
electron.BrowserWindow.getAllWindows()
|
|
||||||
.filter((win) => win.getTitle() !== 'notion-enhancer menu')
|
|
||||||
.some((win) => win.isFocused())
|
|
||||||
) {
|
|
||||||
openExtensionMenu();
|
|
||||||
} else if (enhancer_menu && enhancer_menu.isFocused())
|
|
||||||
enhancer_menu.close();
|
|
||||||
});
|
|
||||||
|
|
||||||
// tray
|
// tray
|
||||||
|
|
||||||
const contextMenu = electron.Menu.buildFromTemplate([
|
const contextMenu = electron.Menu.buildFromTemplate([
|
||||||
|
Loading…
Reference in New Issue
Block a user