Retrieve information about screen size, displays, cursor position, etc.
You cannot require or use this module until the ready event of the app
module is emitted.
screen is an EventEmitter.
Note: In the renderer / DevTools, window.screen is a reserved DOM
property, so writing let {screen} = require('electron') will not work.
An example of creating a window that fills the whole screen:
const electron = require('electron')
const {app, BrowserWindow} = electron
let win
app.on('ready', () => {
const {width, height} = electron.screen.getPrimaryDisplay().workAreaSize
win = new BrowserWindow({width, height})
win.loadURL('https://github.com')
})
Another example of creating a window in the external display:
const electron = require('electron')
const {app, BrowserWindow} = require('electron')
let win
app.on('ready', () => {
let displays = electron.screen.getAllDisplays()
let externalDisplay = displays.find((display) => {
return display.bounds.x !== 0 || display.bounds.y !== 0
})
if (externalDisplay) {
win = new BrowserWindow({
x: externalDisplay.bounds.x + 50,
y: externalDisplay.bounds.y + 50
})
win.loadURL('https://github.com')
}
})
The screen module emits the following events:
Returns:
event EventnewDisplay DisplayEmitted when newDisplay has been added.
Returns:
event EventoldDisplay DisplayEmitted when oldDisplay has been removed.
Returns:
event Eventdisplay DisplaychangedMetrics String[]Emitted when one or more metrics change in a display. The changedMetrics is
an array of strings that describe the changes. Possible changes are bounds,
workArea, scaleFactor and rotation.
The screen module has the following methods:
screen.getMenuBarHeight() macOSReturns Integer - The height of the menu bar in pixels.
screen.getPrimaryDisplay()Returns Display - The primary display.
screen.getAllDisplays()Returns Display[] - An array of displays that are currently available.
screen.getDisplayNearestPoint(point)point PointReturns Display - The display nearest the specified point.
screen.getDisplayMatching(rect)rect RectangleReturns Display - The display that most closely
intersects the provided bounds.