From 5600ba2e28d64461d4cec000452c05085922ef74 Mon Sep 17 00:00:00 2001 From: Dr_rOot Date: Sun, 24 May 2020 17:04:08 +0800 Subject: [PATCH] fix: full screen mode no traffic light #663 --- src/main/Application.js | 24 ++++++++++++++++++++++-- src/main/ui/WindowManager.js | 8 ++++++++ 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/src/main/Application.js b/src/main/Application.js index cc099290f..75841546a 100644 --- a/src/main/Application.js +++ b/src/main/Application.js @@ -21,9 +21,16 @@ import TouchBarManager from './ui/TouchBarManager' import TrayManager from './ui/TrayManager' import DockManager from './ui/DockManager' import ThemeManager from './ui/ThemeManager' -import { AUTO_SYNC_TRACKER_INTERVAL, AUTO_CHECK_UPDATE_INTERVAL } from '@shared/constants' +import { + APP_RUN_MODE, + AUTO_SYNC_TRACKER_INTERVAL, + AUTO_CHECK_UPDATE_INTERVAL +} from '@shared/constants' import { checkIsNeedRun } from '@shared/utils' -import { convertTrackerDataToComma, fetchBtTrackerFromSource } from '@shared/utils/tracker' +import { + convertTrackerDataToComma, + fetchBtTrackerFromSource +} from '@shared/utils/tracker' export default class Application extends EventEmitter { constructor () { @@ -280,12 +287,25 @@ export default class Application extends EventEmitter { this.windowManager.on('window-resized', (data) => { this.storeWindowState(data) }) + this.windowManager.on('window-moved', (data) => { this.storeWindowState(data) }) + this.windowManager.on('window-closed', (data) => { this.storeWindowState(data) }) + + this.windowManager.on('enter-full-screen', (window) => { + this.dockManager.show() + }) + + this.windowManager.on('leave-full-screen', (window) => { + const mode = this.configManager.getUserConfig('run-mode') + if (mode !== APP_RUN_MODE.STANDARD) { + this.dockManager.hide() + } + }) } storeWindowState (data = {}) { diff --git a/src/main/ui/WindowManager.js b/src/main/ui/WindowManager.js index 3d6862d91..431079749 100644 --- a/src/main/ui/WindowManager.js +++ b/src/main/ui/WindowManager.js @@ -105,6 +105,14 @@ export default class WindowManager extends EventEmitter { } }) + window.on('enter-full-screen', () => { + this.emit('enter-full-screen', window) + }) + + window.on('leave-full-screen', () => { + this.emit('leave-full-screen', window) + }) + this.handleWindowState(page, window) this.handleWindowClose(pageOptions, page, window)