/** * notion-enhancer: tabs * (c) 2021 dragonwocky (https://dragonwocky.me/) * (https://notion-enhancer.github.io/) under the MIT license */ 'use strict'; module.exports = async function ({}, db, __exports, __eval) { const electron = require('electron'); electron.ipcMain.on('notion-enhancer:close-tab', (event, { window, id }) => { electron.webContents.fromId(window).send('notion-enhancer:close-tab', id); }); __eval(` const notionHandleActivate = handleActivate; handleActivate = (relativeUrl) => { const api = require('notion-enhancer/api/index.cjs'), { BrowserWindow } = require('electron'), windows = api.electron.getNotionWindows(), electronWindows = BrowserWindow.getAllWindows(); if (relativeUrl && windows.length) { const win = api.electron.getFocusedNotionWindow() || windows[0]; win.webContents.send('notion-enhancer:open-tab', { notionUrl: \`notion://www.notion.so\$\{relativeUrl\}\`, }); win.show(); win.focus(); } else if (relativeUrl && electronWindows.length && !windows.length) { // enhancer menu is open: prevent override const { createWindow } = api.electron.notionRequire('main/createWindow'), win = createWindow(relativeUrl); win.focus(); } else notionHandleActivate(relativeUrl); }; `); };