Coding With Fun
Home Docker Django Node.js Articles Python pip guide FAQ Policy

Electron screen module


May 25, 2021 Electron


Table of contents


screen module retrieves the size of the screen, displays the mouse position, etc. This app be used ready the ready event of the app module is triggered.

screen is an EventEmitter .

Note: In the rendering process / developer toolbar, window.screen is a preset value of the DOM property, so writing var screen = require('electron').screen this way will not work. I n our example below, we replace electronScreen with a variable name . As an example, create a window full of real screens:

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 });
});

In another example, create a window outside the secondary page:

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
    });
  }
});

Display object

Display objects represent material connections to the system. A fake Display may exist in a headless system, or a Display may be equivalent to a remote, virtual display.

  • display object
    • id Integer - unique sex symbol associated with display.
    • rotation Integer - can be 0, 1, 2, 3, each representing the degree of screen rotation 0, 90, 180, 270.
    • scaleFactor Number - Output device's pixel scale factor.
    • touchSupport String - can be available unavailable unknown .
    • bounds Object
    • size Object
    • workArea Object
    • workAreaSize Object

Event

screen module has the following events:

Event: 'display-added'

Return:

  • event Event
  • newDisplay Object

Events are newDisplay is added

Event: 'display-removed'

Return:

  • event Event
  • oldDisplay Object

An event is oldDisplay is moved out

Event: 'display-metrics-changed'

Return:

  • event Event
  • display Object
  • changedMetrics Array

An event is display when one or more metrics in a display change. changedMetrics is an array used to describe this change. Possible bounds workArea scaleFactor and rotation .

Method

screen module has the following methods:

screen.getCursorScreenPoint()

Returns the absolute path of the current mouse .

screen.getPrimaryDisplay()

Return to the most important display.

screen.getAllDisplays()

Returns an array of displays that are currently available.

screen.getDisplayNearestPoint(point)

  • point Object
    • x Integer
    • y Integer

Returns the display closest to the specified point.

screen.getDisplayMatching(rect)

  • rect Object
    • x Integer
    • y Integer
    • width Integer
    • height Integer

Returns the display that is most closely related to the provided boundary range.