From e49d1722ac51ce0ac633a86f3e1301868e8b1560 Mon Sep 17 00:00:00 2001 From: Gray Suitcase <41382894+PickledChair@users.noreply.github.com> Date: Wed, 29 Dec 2021 16:53:17 +0900 Subject: [PATCH] =?UTF-8?q?Mac:=20=E3=83=8D=E3=82=A4=E3=83=86=E3=82=A3?= =?UTF-8?q?=E3=83=96=E3=81=AE=E4=B8=89=E8=89=B2=E3=83=9C=E3=82=BF=E3=83=B3?= =?UTF-8?q?=EF=BC=88=E6=9C=80=E5=B0=8F=E5=8C=96=E3=83=BB=E6=9C=80=E5=A4=A7?= =?UTF-8?q?=E5=8C=96=E3=83=BB=E9=96=89=E3=81=98=E3=82=8B=E3=83=9C=E3=82=BF?= =?UTF-8?q?=E3=83=B3=EF=BC=89=E3=82=92=E4=BD=BF=E3=81=86=E3=82=88=E3=81=86?= =?UTF-8?q?=E3=81=AB=E5=A4=89=E6=9B=B4=20(#621)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * use native traffic light on mac * update Vuex.spec.ts for test * make disable dark mode for macOS * fix quote * trivial change * artifact_name -> macos_artifact_name * hard-coding mac app name * ダークモード無効化をアプリ側で対応 * npm run fmt * Mac の場合だけライトモード固定にするように変更 * Macでlightモード指定している理由をコメントに記載 --- src/background.ts | 21 ++++++++++++++++++++- src/components/MenuBar.vue | 13 ++++++++++--- src/plugins/ipcMessageReceiverPlugin.ts | 8 ++++++++ src/store/type.ts | 15 +++++++++++++++ src/store/ui.ts | 16 ++++++++++++++++ src/type/ipc.d.ts | 10 ++++++++++ tests/unit/store/Vuex.spec.ts | 1 + 7 files changed, 80 insertions(+), 4 deletions(-) diff --git a/src/background.ts b/src/background.ts index dc1d0c3655..ca0143f043 100644 --- a/src/background.ts +++ b/src/background.ts @@ -5,7 +5,15 @@ import dotenv from "dotenv"; import treeKill from "tree-kill"; import Store from "electron-store"; -import { app, protocol, BrowserWindow, dialog, Menu, shell } from "electron"; +import { + app, + protocol, + BrowserWindow, + dialog, + Menu, + shell, + nativeTheme, +} from "electron"; import { createProtocol } from "vue-cli-plugin-electron-builder/lib"; import installExtension, { VUEJS3_DEVTOOLS } from "electron-devtools-installer"; @@ -441,6 +449,8 @@ async function createWindow() { width: 800, height: 600, frame: false, + titleBarStyle: "hidden", + trafficLightPosition: { x: 6, y: 4 }, minWidth: 320, show: false, webPreferences: { @@ -461,8 +471,17 @@ async function createWindow() { } if (isDevelopment) win.webContents.openDevTools(); + // Macではdarkモードかつウィンドウが非アクティブのときに閉じるボタンなどが見えなくなるので、lightモードに固定 + if (isMac) nativeTheme.themeSource = "light"; + win.on("maximize", () => win.webContents.send("DETECT_MAXIMIZED")); win.on("unmaximize", () => win.webContents.send("DETECT_UNMAXIMIZED")); + win.on("enter-full-screen", () => + win.webContents.send("DETECT_ENTER_FULLSCREEN") + ); + win.on("leave-full-screen", () => + win.webContents.send("DETECT_LEAVE_FULLSCREEN") + ); win.on("always-on-top-changed", () => { win.webContents.send( win.isAlwaysOnTop() ? "DETECT_PINNED" : "DETECT_UNPINNED" diff --git a/src/components/MenuBar.vue b/src/components/MenuBar.vue index 5101266494..efa5356b6c 100644 --- a/src/components/MenuBar.vue +++ b/src/components/MenuBar.vue @@ -1,6 +1,9 @@