Disable full screen mode on Linux (#3151)

This commit is contained in:
Devin Binnie
2024-09-24 09:47:38 -04:00
committed by GitHub
parent 92a0eff603
commit ddecc42233
3 changed files with 45 additions and 33 deletions

View File

@@ -231,7 +231,7 @@ export function createTemplate(config: Config, updateManager: UpdateManager) {
]); ]);
} }
const viewSubMenu = [{ const viewSubMenu: Electron.MenuItemConstructorOptions[] = [{
label: localizeMessage('main.menus.app.view.find', 'Find..'), label: localizeMessage('main.menus.app.view.find', 'Find..'),
accelerator: 'CmdOrCtrl+F', accelerator: 'CmdOrCtrl+F',
click() { click() {
@@ -250,11 +250,17 @@ export function createTemplate(config: Config, updateManager: UpdateManager) {
session.defaultSession.clearCache(); session.defaultSession.clearCache();
ViewManager.reload(); ViewManager.reload();
}, },
}, { }];
if (process.platform !== 'linux') {
viewSubMenu.push({
role: 'togglefullscreen', role: 'togglefullscreen',
label: localizeMessage('main.menus.app.view.fullscreen', 'Toggle Full Screen'), label: localizeMessage('main.menus.app.view.fullscreen', 'Toggle Full Screen'),
accelerator: isMac ? 'Ctrl+Cmd+F' : 'F11', accelerator: isMac ? 'Ctrl+Cmd+F' : 'F11',
}, separatorItem, { });
}
viewSubMenu.push(separatorItem, {
label: localizeMessage('main.menus.app.view.actualSize', 'Actual Size'), label: localizeMessage('main.menus.app.view.actualSize', 'Actual Size'),
role: 'resetZoom', role: 'resetZoom',
accelerator: 'CmdOrCtrl+0', accelerator: 'CmdOrCtrl+0',
@@ -284,7 +290,7 @@ export function createTemplate(config: Config, updateManager: UpdateManager) {
}, separatorItem, { }, separatorItem, {
label: localizeMessage('main.menus.app.view.devToolsSubMenu', 'Developer Tools'), label: localizeMessage('main.menus.app.view.devToolsSubMenu', 'Developer Tools'),
submenu: devToolsSubMenu, submenu: devToolsSubMenu,
}]; });
if (process.platform !== 'darwin' && process.platform !== 'win32') { if (process.platform !== 'darwin' && process.platform !== 'win32') {
viewSubMenu.push(separatorItem); viewSubMenu.push(separatorItem);

View File

@@ -74,7 +74,7 @@ export class MainWindow extends EventEmitter {
const windowOptions: BrowserWindowConstructorOptions = Object.assign({}, this.savedWindowState, { const windowOptions: BrowserWindowConstructorOptions = Object.assign({}, this.savedWindowState, {
title: app.name, title: app.name,
fullscreenable: true, fullscreenable: process.platform !== 'linux',
show: false, // don't start the window until it is ready and only if it isn't hidden show: false, // don't start the window until it is ready and only if it isn't hidden
paintWhenInitiallyHidden: true, // we want it to start painting to get info from the webapp paintWhenInitiallyHidden: true, // we want it to start painting to get info from the webapp
minWidth: MINIMUM_WINDOW_WIDTH, minWidth: MINIMUM_WINDOW_WIDTH,
@@ -231,6 +231,10 @@ export class MainWindow extends EventEmitter {
}; };
private shouldStartFullScreen = () => { private shouldStartFullScreen = () => {
if (process.platform === 'linux') {
return false;
}
if (global?.args?.fullscreen !== undefined) { if (global?.args?.fullscreen !== undefined) {
return global.args.fullscreen; return global.args.fullscreen;
} }

View File

@@ -982,6 +982,7 @@ class SettingsPage extends React.PureComponent<Props, State> {
</FormCheck>, </FormCheck>,
); );
if (process.platform !== 'linux') {
options.push( options.push(
<FormCheck <FormCheck
key='inputStartInFullScreen' key='inputStartInFullScreen'
@@ -1008,6 +1009,7 @@ class SettingsPage extends React.PureComponent<Props, State> {
</FormText> </FormText>
</FormCheck>, </FormCheck>,
); );
}
options.push( options.push(
<div <div