Commit 2d7dba965d21cf17cf96b29032c8aa1e027e73c9
Handle fullscreen state without accessing remote.window
First step of getting remote out of the codebase.Daan Wynen committed on 3/6/2021, 10:11:18 PM
Parent: fe4e56b2dea67a6b17e1545cc56ea259702342b1
Files changed
lib/fullscreen.js | changed |
lib/window.js | changed |
lib/fullscreen.js | ||
---|---|---|
@@ -1,14 +1,14 @@ | ||
1 | 1 … | const electron = require('electron') |
2 | 2 … | const { Value } = require('mutant') |
3 | 3 … | |
4 | 4 … | module.exports = function () { |
5 | - const win = electron.remote.getCurrentWindow() | |
6 | - const isFullScreen = Value(win.isFullScreen()) | |
7 | - win.on('enter-full-screen', () => { | |
5 … | + const isFullScreen = Value(false) | |
6 … | + // receive the OS window state from the main process | |
7 … | + electron.ipcRenderer.on('enter-full-screen', () => { | |
8 | 8 … | isFullScreen.set(true) |
9 | 9 … | }) |
10 | - win.on('leave-full-screen', () => { | |
10 … | + electron.ipcRenderer.on('leave-full-screen', () => { | |
11 | 11 … | isFullScreen.set(false) |
12 | 12 … | }) |
13 | 13 … | return isFullScreen |
14 | 14 … | } |
lib/window.js | ||
---|---|---|
@@ -10,8 +10,16 @@ | ||
10 | 10 … | enableRemoteModule: true, |
11 | 11 … | } |
12 | 12 … | }, opts)) |
13 | 13 … | |
14 … | + // have to forward the OS window state to the renderer because it cannot | |
15 … | + // access directly | |
16 … | + window.on('enter-full-screen', (event, alwaysOnTop) => { | |
17 … | + window.webContents.send("enter-full-screen"); | |
18 … | + }) | |
19 … | + window.on('leave-full-screen', (event, alwaysOnTop) => { | |
20 … | + window.webContents.send("leave-full-screen"); | |
21 … | + }) | |
14 | 22 … | electron.ipcMain.on('ready-to-show', handleReadyToShow) |
15 | 23 … | |
16 | 24 … | window.webContents.on('dom-ready', function () { |
17 | 25 … | window.webContents.executeJavaScript(` |
Built with git-ssb-web