electron/docs/api/screen.md
Paul Betts b77ed51594 Use 'atomScreen' for the variable name
Even though it's not screen's fault, it's super easy in the DevTools to write `screen = require('screen')`, then wonder why it doesn't work (because `window.screen` is reserved by the DOM). This makes people who just type in the example more likely to get it right.
2015-02-03 11:32:33 -08:00

2.5 KiB

screen

Gets various info about screen size, displays, cursor position, etc. You should not use this module until the ready event of app module gets emitted.

screen is an EventEmitter.

Make sure to note that in the renderer / DevTools, window.screen is a reserved DOM property, so writing screen = require('screen') won't work. In our examples below, we use atomScreen as the variable name instead.

An example of creating a window that fills the whole screen:

var app = require('app');
var BrowserWindow = require('browser-window');

var mainWindow;

app.on('ready', function() {
  var atomScreen = require('screen');
  var size = atomScreen.getPrimaryDisplay().workAreaSize;
  mainWindow = new BrowserWindow({ width: size.width, height: size.height });
});

Another example of creating a window in the external display:

var app = require('app');
var BrowserWindow = require('browser-window');

var mainWindow;

app.on('ready', function() {
  var atomScreen = require('screen');
  var displays = atomScreen.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,
    });
  }
});

Event: display-added

  • event Event
  • newDisplay Object

Emitted when newDisplay has been added.

Event: display-removed

  • event Event
  • oldDisplay Object

Emitted when oldDisplay has been removed.

Event: display-metrics-changed

  • event Event
  • display Object
  • changedMetricts Array

Emitted when a display has one or more metrics changed, changedMetricts is an array of strings that describe the changes. Possible changes are bounds, workArea, scaleFactor and rotation.

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 Object
    • x Integer
    • y Integer

Returns the display nearest the specified point.

screen.getDisplayMatching(rect)

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

Returns the display that most closely intersects the provided bounds.