From c9a9b2a3a90dad9830c453d05540a116ddce1be3 Mon Sep 17 00:00:00 2001 From: an-lee Date: Wed, 10 Jan 2024 19:52:03 +0800 Subject: [PATCH] fix browserview failed to hide in story view --- enjoy/src/main.ts | 6 +++++- enjoy/src/main/window.ts | 17 ++++++++++++++--- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/enjoy/src/main.ts b/enjoy/src/main.ts index db8ef45b..53944ae6 100644 --- a/enjoy/src/main.ts +++ b/enjoy/src/main.ts @@ -1,4 +1,4 @@ -import { app, BrowserWindow, protocol, net } from "electron"; +import { app, BrowserWindow, globalShortcut, protocol, net } from "electron"; import path from "path"; import settings from "@main/settings"; import "@main/i18n"; @@ -50,6 +50,10 @@ app.on("ready", async () => { }); mainWindow.init(); + + globalShortcut.register("CommandOrControl+Shift+I", () => { + mainWindow.win.webContents.toggleDevTools(); + }); }); // Quit when all windows are closed, except on macOS. There, it's common diff --git a/enjoy/src/main/window.ts b/enjoy/src/main/window.ts index 94822662..16ebb4a8 100644 --- a/enjoy/src/main/window.ts +++ b/enjoy/src/main/window.ts @@ -21,7 +21,7 @@ import { AudibleProvider, TedProvider } from "@main/providers"; import { FfmpegDownloader } from "@main/ffmpeg"; log.initialize({ preload: true }); -const logger = log.scope("WINDOW"); +const logger = log.scope("window"); const audibleProvider = new AudibleProvider(); const tedProvider = new TedProvider(); @@ -147,7 +147,15 @@ main.init = () => { const view = mainWindow.getBrowserView(); if (!view) return; - view.setBounds({ x: 0, y: 0, width: 0, height: 0 }); + const bounds = view.getBounds(); + logger.debug("current view bounds", bounds); + + view.setBounds({ + x: -bounds.width, + y: -bounds.height, + width: 0, + height: 0, + }); }); ipcMain.handle( @@ -161,8 +169,11 @@ main.init = () => { height: number; } ) => { + const view = mainWindow.getBrowserView(); + if (!view) return; + logger.debug("view-show", bounds); - mainWindow.getBrowserView()?.setBounds(bounds); + view.setBounds(bounds); } );