#160 patch opening by notion://url on linux + tab bugfixes

This commit is contained in:
dragonwocky 2020-10-15 12:19:21 +11:00
parent 6a9f9bf79a
commit 4b464ca87c
5 changed files with 23 additions and 16 deletions

View File

@ -18,7 +18,7 @@ module.exports = (store, __exports) => {
document.defaultView.addEventListener('keyup', (event) => {
// additional hotkeys
if (event.code === 'F5') location.reload();
if (event.key === 'F5') location.reload();
// open menu on hotkey toggle
const hotkey = toKeyEvent(store().menu_toggle);
let triggered = true;
@ -49,7 +49,6 @@ module.exports = (store, __exports) => {
triggered = true;
for (let prop in close_tab_keybinding)
if (close_tab_keybinding[prop] !== event[prop]) triggered = false;
console.log(triggered, event);
if (triggered) electron.ipcRenderer.sendToHost('enhancer:close-tab');
}
});

View File

@ -118,7 +118,7 @@ window['__start'] = async () => {
const $popup = document.querySelector('#popup');
document.addEventListener('keyup', (event) => {
if (event.code === 'F5') location.reload();
if (event.key === 'F5') location.reload();
// further-configuration popup
if (
$popup.classList.contains('visible') &&
@ -126,12 +126,13 @@ window['__start'] = async () => {
)
$popup.classList.remove('visible');
// close window on hotkey toggle
console.log();
const hotkey = toKeyEvent(coreStore().menu_toggle);
let triggered = true;
for (let prop in hotkey)
if (hotkey[prop] !== event[prop]) triggered = false;
if (triggered) electron.remote.getCurrentWindow().close();
if (triggered || ((event.ctrlKey || event.metaKey) && event.key === 'w'))
electron.remote.getCurrentWindow().close();
console.log(event.ctrlKey, event.key);
// focus search
const meta =
!(event.ctrlKey || event.metaKey) && !event.altKey && !event.shiftKey;

View File

@ -108,14 +108,20 @@ module.exports = (store, __exports) => {
document
.querySelectorAll('.dragged-over')
.forEach((el) => el.classList.remove('dragged-over'));
document
.querySelectorAll('.slideIn')
.forEach((el) => el.classList.remove('slideIn'));
const from = getTab(this.views.tabs[+this.$dragging]),
to = getTab(event.target);
if (!from[1].classList.contains('new') && from[0] !== to[0])
to[1].parentElement.insertBefore(from[1], to[1]);
from[1].classList.remove('slideIn');
this.$dragging = null;
document
.querySelector('#tabs')
.appendChild(document.querySelector('.tab.new'));
});
document.addEventListener('keyup', (event) => {
if (!electron.remote.getCurrentWindow().isFocused()) return;
// switch between tabs via key modifier
const select_tab_modifier = toKeyEvent(
store('e1692c29-475e-437b-b7ff-3eee872e1a42').select_modifier
@ -139,8 +145,8 @@ module.exports = (store, __exports) => {
triggered = true;
for (let prop in close_tab_keybinding)
if (close_tab_keybinding[prop] !== event[prop]) triggered = false;
console.log(triggered, event);
if (triggered) this.closeTab(this.views.current.id);
if (triggered && document.querySelector('.tab.current .close'))
document.querySelector('.tab.current .close').click();
});
}
@ -219,7 +225,7 @@ module.exports = (store, __exports) => {
? idToNotionURL(store().default_page)
: this.views.current.$el().src
);
this.views.html[id].getWebContents().openDevTools();
// this.views.html[id].getWebContents().openDevTools();
}
});
}
@ -297,8 +303,8 @@ module.exports = (store, __exports) => {
this.newTab();
break;
case 'enhancer:close-tab':
if (event.target.id == this.views.current.id)
this.closeTab(+event.target.id);
if (document.querySelector('.tab.current .close'))
document.querySelector('.tab.current .close').click();
break;
}
}

0
repo/core/systemMenu.js Normal file
View File

View File

@ -33,7 +33,7 @@ module.exports = (store, __exports) => {
// menu
electron.ipcMain.on('enhancer:open-menu', (event, arg) => {
openExtensionMenu();
openEnhancerMenu();
});
electron.ipcMain.on('enhancer:set-menu-theme', (event, arg) => {
if (!enhancer_menu) return;
@ -81,13 +81,13 @@ module.exports = (store, __exports) => {
};
}
function openExtensionMenu() {
function openEnhancerMenu() {
if (enhancer_menu) return enhancer_menu.show();
const window_state = require(`${helpers.__notion.replace(
/\\/g,
'/'
)}/app/node_modules/electron-window-state/index.js`)({
file: 'menu-windowstate.json',
file: 'enhancerMenu.windowState.json',
path: helpers.__data,
defaultWidth: 275,
defaultHeight: 600,
@ -106,7 +106,7 @@ module.exports = (store, __exports) => {
width: window_state.width,
height: window_state.height,
webPreferences: {
preload: path.resolve(`${__dirname}/menu.js`),
preload: path.resolve(`${__dirname}/enhancerMenu.js`),
nodeIntegration: true,
session: electron.session.fromPartition('persist:notion'),
},
@ -116,6 +116,7 @@ module.exports = (store, __exports) => {
window_state.saveState(enhancer_menu);
enhancer_menu = null;
});
// enhancer_menu.webContents.openDevTools();
}
// tray
@ -165,7 +166,7 @@ module.exports = (store, __exports) => {
type: 'normal',
label: 'Enhancements',
accelerator: store().menu_toggle,
click: openExtensionMenu,
click: openEnhancerMenu,
},
{
type: 'normal',