I'm working on an app (with electron) and I would like users to be able to exit fullscreen mode when pressing "esc". I tried different methods, in vain. Here is the code who launch the app in a new browser window in fullscreen mode and display and HTML/CSS content :
'use strict';
const electron = require('electron');
// Module to control application life.
const app = electron.app;
// Module to create native browser window.
const BrowserWindow = electron.BrowserWindow;
// Keep a global reference of the window object, if you don't, the window will
// be closed automatically when the JavaScript object is garbage collected.
let mainWindow;
function createWindow () {
// Create the browser window.
mainWindow = new BrowserWindow({fullscreen:true});
// and load the index.html of the app.
mainWindow.loadURL('file://' + __dirname + '/index.html');
// Emitted when the window is closed.
mainWindow.on('closed', function() {
// Dereference the window object, usually you would store windows
// in an array if your app supports multi windows, this is the time
// when you should delete the corresponding element.
mainWindow = null;
});
}
// This method will be called when Electron has finished
// initialization and is ready to create browser windows.
app.on('ready', createWindow);
// Quit when all windows are closed.
app.on('window-all-closed', function () {
// On OS X it is common for applications and their menu bar
// to stay active until the user quits explicitly with Cmd + Q
if (process.platform !== 'darwin') {
app.quit();
}
});
app.on('activate', function () {
// On OS X it's common to re-create a window in the app when the
// dock icon is clicked and there are no other windows open.
if (mainWindow === null) {
createWindow();
}
});
And here is what I'm trying to add to this code to be able to exit full screen but it doesn't work :
app.on('keydown', function(e){
if(e.keyCode === 27){
app.exitFullscreen();
}
});
I also tried with "cancelFullscreen". And "fullscreen:false". Not working.
Thanks a lot for your attention!
Using the F11 key on your computer's keyboard will let you both enter and exit full-screen mode in many applications.
To exit out of fullscreen in most programs, you can press the Esc key. When in an Internet browser, you can press the F11 function key to enter and exit fullscreen mode.
It's quite easy. Add a keyboard listener in render process, and then manipulate the window through the remote
module.
const remote = require("electron").remote;
document.addEventListener("keydown", event => {
switch (event.key) {
case "Escape":
if (remote.getCurrentWindow().isFullScreen()) {
remote.getCurrentWindow().setFullScreen(false);
}
break;
}
});
Here is the solution that worked for me:
function minimizeWindow () {
mainWindow.setFullScreen(false);
console.log(mainWindow);
}
app.on('ready', function() {
const ret = electron.globalShortcut.register('Escape', function(){
console.log('Escape is pressed');
minimizeWindow();
});
console.log(electron.globalShortcut.isRegistered('Escape'));
});
app.on('will-quit', function(){
electron.globalShortcut.unregister('Escape');
electron.globalShortcut.unregisterAll();
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With