3.5 KiB
screen
Retrieve information about screen size, displays, cursor position, etc.
You cannot not use this module until the ready
event of the app
module is
emitted (by invoking or requiring it).
screen
is an EventEmitter.
Note: In the renderer / DevTools, window.screen
is a reserved DOM
property, so writing var screen = require('electron').screen
will not work.
In our examples below, we use electronScreen
as the variable name instead.
An example of creating a window that fills the whole screen:
const electron = require('electron');
const app = electron.app;
const BrowserWindow = electron.BrowserWindow;
var mainWindow;
app.on('ready', function() {
var electronScreen = electron.screen;
var size = electronScreen.getPrimaryDisplay().workAreaSize;
mainWindow = new BrowserWindow({ width: size.width, height: size.height });
});
Another example of creating a window in the external display:
const electron = require('electron');
const app = electron.app;
const BrowserWindow = electron.BrowserWindow;
var mainWindow;
app.on('ready', function() {
var electronScreen = electron.screen;
var displays = electronScreen.getAllDisplays();
var externalDisplay = null;
for (var i in displays) {
if (displays[i].bounds.x != 0 || displays[i].bounds.y != 0) {
externalDisplay = displays[i];
break;
}
}
if (externalDisplay) {
mainWindow = new BrowserWindow({
x: externalDisplay.bounds.x + 50,
y: externalDisplay.bounds.y + 50
});
}
});
The Display
object
The Display
object represents a physical display connected to the system. A
fake Display
may exist on a headless system, or a Display
may correspond to
a remote, virtual display.
display
objectid
Integer - Unique identifier associated with the display.rotation
Integer - Can be 0, 1, 2, 3, each represents screen rotation in clock-wise degrees of 0, 90, 180, 270.scaleFactor
Number - Output device's pixel scale factor.touchSupport
String - Can beavailable
,unavailable
,unknown
.bounds
Objectsize
ObjectworkArea
ObjectworkAreaSize
Object
Events
The screen
module emits the following events:
Event: 'display-added'
Returns:
event
EventnewDisplay
Object
Emitted when newDisplay
has been added.
Event: 'display-removed'
Returns:
event
EventoldDisplay
Object
Emitted when oldDisplay
has been removed.
Event: 'display-metrics-changed'
Returns:
event
Eventdisplay
ObjectchangedMetrics
Array
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
.
Methods
The screen
module has the following methods:
screen.getCursorScreenPoint()
Returns the current absolute position of the mouse pointer.
screen.getPrimaryDisplay()
Returns the primary display.
screen.getAllDisplays()
Returns an array of displays that are currently available.
screen.getDisplayNearestPoint(point)
point
Objectx
Integery
Integer
Returns the display nearest the specified point.
screen.getDisplayMatching(rect)
rect
Objectx
Integery
Integerwidth
Integerheight
Integer
Returns the display that most closely intersects the provided bounds.