mirror of
https://github.com/notion-enhancer/notion-enhancer.git
synced 2025-04-09 15:09:02 +00:00
#160 patch opening by notion://url on linux + tab bugfixes
This commit is contained in:
parent
6a9f9bf79a
commit
4b464ca87c
@ -18,7 +18,7 @@ module.exports = (store, __exports) => {
|
|||||||
|
|
||||||
document.defaultView.addEventListener('keyup', (event) => {
|
document.defaultView.addEventListener('keyup', (event) => {
|
||||||
// additional hotkeys
|
// additional hotkeys
|
||||||
if (event.code === 'F5') location.reload();
|
if (event.key === 'F5') location.reload();
|
||||||
// open menu on hotkey toggle
|
// open menu on hotkey toggle
|
||||||
const hotkey = toKeyEvent(store().menu_toggle);
|
const hotkey = toKeyEvent(store().menu_toggle);
|
||||||
let triggered = true;
|
let triggered = true;
|
||||||
@ -49,7 +49,6 @@ module.exports = (store, __exports) => {
|
|||||||
triggered = true;
|
triggered = true;
|
||||||
for (let prop in close_tab_keybinding)
|
for (let prop in close_tab_keybinding)
|
||||||
if (close_tab_keybinding[prop] !== event[prop]) triggered = false;
|
if (close_tab_keybinding[prop] !== event[prop]) triggered = false;
|
||||||
console.log(triggered, event);
|
|
||||||
if (triggered) electron.ipcRenderer.sendToHost('enhancer:close-tab');
|
if (triggered) electron.ipcRenderer.sendToHost('enhancer:close-tab');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -118,7 +118,7 @@ window['__start'] = async () => {
|
|||||||
|
|
||||||
const $popup = document.querySelector('#popup');
|
const $popup = document.querySelector('#popup');
|
||||||
document.addEventListener('keyup', (event) => {
|
document.addEventListener('keyup', (event) => {
|
||||||
if (event.code === 'F5') location.reload();
|
if (event.key === 'F5') location.reload();
|
||||||
// further-configuration popup
|
// further-configuration popup
|
||||||
if (
|
if (
|
||||||
$popup.classList.contains('visible') &&
|
$popup.classList.contains('visible') &&
|
||||||
@ -126,12 +126,13 @@ window['__start'] = async () => {
|
|||||||
)
|
)
|
||||||
$popup.classList.remove('visible');
|
$popup.classList.remove('visible');
|
||||||
// close window on hotkey toggle
|
// close window on hotkey toggle
|
||||||
console.log();
|
|
||||||
const hotkey = toKeyEvent(coreStore().menu_toggle);
|
const hotkey = toKeyEvent(coreStore().menu_toggle);
|
||||||
let triggered = true;
|
let triggered = true;
|
||||||
for (let prop in hotkey)
|
for (let prop in hotkey)
|
||||||
if (hotkey[prop] !== event[prop]) triggered = false;
|
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
|
// focus search
|
||||||
const meta =
|
const meta =
|
||||||
!(event.ctrlKey || event.metaKey) && !event.altKey && !event.shiftKey;
|
!(event.ctrlKey || event.metaKey) && !event.altKey && !event.shiftKey;
|
@ -108,14 +108,20 @@ module.exports = (store, __exports) => {
|
|||||||
document
|
document
|
||||||
.querySelectorAll('.dragged-over')
|
.querySelectorAll('.dragged-over')
|
||||||
.forEach((el) => el.classList.remove('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]),
|
const from = getTab(this.views.tabs[+this.$dragging]),
|
||||||
to = getTab(event.target);
|
to = getTab(event.target);
|
||||||
if (!from[1].classList.contains('new') && from[0] !== to[0])
|
if (!from[1].classList.contains('new') && from[0] !== to[0])
|
||||||
to[1].parentElement.insertBefore(from[1], to[1]);
|
to[1].parentElement.insertBefore(from[1], to[1]);
|
||||||
from[1].classList.remove('slideIn');
|
|
||||||
this.$dragging = null;
|
this.$dragging = null;
|
||||||
|
document
|
||||||
|
.querySelector('#tabs')
|
||||||
|
.appendChild(document.querySelector('.tab.new'));
|
||||||
});
|
});
|
||||||
document.addEventListener('keyup', (event) => {
|
document.addEventListener('keyup', (event) => {
|
||||||
|
if (!electron.remote.getCurrentWindow().isFocused()) return;
|
||||||
// switch between tabs via key modifier
|
// switch between tabs via key modifier
|
||||||
const select_tab_modifier = toKeyEvent(
|
const select_tab_modifier = toKeyEvent(
|
||||||
store('e1692c29-475e-437b-b7ff-3eee872e1a42').select_modifier
|
store('e1692c29-475e-437b-b7ff-3eee872e1a42').select_modifier
|
||||||
@ -139,8 +145,8 @@ module.exports = (store, __exports) => {
|
|||||||
triggered = true;
|
triggered = true;
|
||||||
for (let prop in close_tab_keybinding)
|
for (let prop in close_tab_keybinding)
|
||||||
if (close_tab_keybinding[prop] !== event[prop]) triggered = false;
|
if (close_tab_keybinding[prop] !== event[prop]) triggered = false;
|
||||||
console.log(triggered, event);
|
if (triggered && document.querySelector('.tab.current .close'))
|
||||||
if (triggered) this.closeTab(this.views.current.id);
|
document.querySelector('.tab.current .close').click();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -219,7 +225,7 @@ module.exports = (store, __exports) => {
|
|||||||
? idToNotionURL(store().default_page)
|
? idToNotionURL(store().default_page)
|
||||||
: this.views.current.$el().src
|
: 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();
|
this.newTab();
|
||||||
break;
|
break;
|
||||||
case 'enhancer:close-tab':
|
case 'enhancer:close-tab':
|
||||||
if (event.target.id == this.views.current.id)
|
if (document.querySelector('.tab.current .close'))
|
||||||
this.closeTab(+event.target.id);
|
document.querySelector('.tab.current .close').click();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
0
repo/core/systemMenu.js
Normal file
0
repo/core/systemMenu.js
Normal file
@ -33,7 +33,7 @@ module.exports = (store, __exports) => {
|
|||||||
// menu
|
// menu
|
||||||
|
|
||||||
electron.ipcMain.on('enhancer:open-menu', (event, arg) => {
|
electron.ipcMain.on('enhancer:open-menu', (event, arg) => {
|
||||||
openExtensionMenu();
|
openEnhancerMenu();
|
||||||
});
|
});
|
||||||
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;
|
||||||
@ -81,13 +81,13 @@ module.exports = (store, __exports) => {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
function openExtensionMenu() {
|
function openEnhancerMenu() {
|
||||||
if (enhancer_menu) return enhancer_menu.show();
|
if (enhancer_menu) return enhancer_menu.show();
|
||||||
const window_state = require(`${helpers.__notion.replace(
|
const window_state = require(`${helpers.__notion.replace(
|
||||||
/\\/g,
|
/\\/g,
|
||||||
'/'
|
'/'
|
||||||
)}/app/node_modules/electron-window-state/index.js`)({
|
)}/app/node_modules/electron-window-state/index.js`)({
|
||||||
file: 'menu-windowstate.json',
|
file: 'enhancerMenu.windowState.json',
|
||||||
path: helpers.__data,
|
path: helpers.__data,
|
||||||
defaultWidth: 275,
|
defaultWidth: 275,
|
||||||
defaultHeight: 600,
|
defaultHeight: 600,
|
||||||
@ -106,7 +106,7 @@ module.exports = (store, __exports) => {
|
|||||||
width: window_state.width,
|
width: window_state.width,
|
||||||
height: window_state.height,
|
height: window_state.height,
|
||||||
webPreferences: {
|
webPreferences: {
|
||||||
preload: path.resolve(`${__dirname}/menu.js`),
|
preload: path.resolve(`${__dirname}/enhancerMenu.js`),
|
||||||
nodeIntegration: true,
|
nodeIntegration: true,
|
||||||
session: electron.session.fromPartition('persist:notion'),
|
session: electron.session.fromPartition('persist:notion'),
|
||||||
},
|
},
|
||||||
@ -116,6 +116,7 @@ module.exports = (store, __exports) => {
|
|||||||
window_state.saveState(enhancer_menu);
|
window_state.saveState(enhancer_menu);
|
||||||
enhancer_menu = null;
|
enhancer_menu = null;
|
||||||
});
|
});
|
||||||
|
// enhancer_menu.webContents.openDevTools();
|
||||||
}
|
}
|
||||||
|
|
||||||
// tray
|
// tray
|
||||||
@ -165,7 +166,7 @@ module.exports = (store, __exports) => {
|
|||||||
type: 'normal',
|
type: 'normal',
|
||||||
label: 'Enhancements',
|
label: 'Enhancements',
|
||||||
accelerator: store().menu_toggle,
|
accelerator: store().menu_toggle,
|
||||||
click: openExtensionMenu,
|
click: openEnhancerMenu,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'normal',
|
type: 'normal',
|
||||||
|
Loading…
Reference in New Issue
Block a user