Как отключить полноэкранный режим на электронном окне (linux) - PullRequest
0 голосов
/ 05 ноября 2019

Это только четыре атрибута, упомянутые в документах.

(1) minimizable

(2) maximizable

(3) fullscreen

(4) fullscreenable

Хотя первые два указывают, что они не реализованы в Linux, последние два предназначены только для Mac.

Итак, как мне запретить пользователю занимать окно в полноэкранном режиме в Linux? И какой смысл иметь свойства максимальной высоты и максимальной ширины (я не могу перетаскивать и изменять их размеры, но могу развернуть окно)?

Код:

const { app, BrowserWindow,Menu } = require('electron');
const path = require('path');

require('electron-reload')(__dirname, {
  electron: path.join(__dirname,'..', 'node_modules', '.bin', 'electron')
});

// Handle creating/removing shortcuts on Windows when installing/uninstalling.
if (require('electron-squirrel-startup')) { // eslint-disable-line global-require
  app.quit();
}


let mainWindow;

const createWindow = () => {
  mainWindow = new BrowserWindow({
    width: 550,
    height: 500,
    skipTaskbar: true,
    maxWidth:1000,
    maxHeight:800,
    show:false,
    fullscreenable:false,
    fullscreen: false,
    maximizable: false
  });

  mainWindow.loadURL({url});

  mainWindow.once('ready-to-show', () => {
    mainWindow.show()
  })


  mainWindow.on('closed', () => {
    mainWindow = null;
  });
};

app.on('ready', createWindow);

app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') {
    app.quit();
  }
});

app.on('activate', () => {
  if (mainWindow === null) {
    createWindow();
  }
});


1 Ответ

0 голосов
/ 05 ноября 2019

Действительно, как сказано в документах, maximizable не был реализован в Linux .

Я не нашел "правильного" решения, но есть обходной путь.

Вы должны быть в состоянии прослушать событие maximize, а затем вызвать метод unmaximize (я не вижу никаких предупреждений об этом событии или методе для Linux, поэтому они должны быть доступны). По сути, вы бы «отменили» максимизацию.

mainWindow.on('maximize', () => {
  mainWindow.unmaximize()
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...