screen

screenモジュールは、画面サイズ、ディスプレイ、カーソル位置などの情報を読み取ります。appモジュールのreadyイベントが出力されるまで、このモジュールは使うべきではありません。

screenEventEmitterです。

Note: レンダラ―/デベロッパーツールで、window.screenはDOMプロパティで予約されているので、var screen = require('electron').screenと書いても動作しません。下の例では、代わりに変数名でelectronScreenを使用しています。

画面全体にウィンドウを作成する例:

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

外部ディスプレイにウィンドウを作成する別の例:

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 オブジェクト

Displayオブジェクトはシステムに接続された物理ディスプレイを示します。ヘッドレスシステムでは、擬似Displayがあるかもしれませんし、Displayはリモートや仮想ディスプレイに相当するかもしれません。

  • display object
    • id Integer - ディスプレイに紐づいた一意な識別子です。
    • rotation Integer - 0, 1, 2, 3を設定でき、それぞれは時計回りで、0, 90, 180, 270度の画面の回転を示します。
    • scaleFactor Number - 出力装置のピクセルスケールファクター
    • touchSupport String - available, unavailable, unknownを設定できます。
    • bounds Object
    • size Object
    • workArea Object
    • workAreaSize Object

イベント

screenモジュールは次のイベントを出力します:

イベント: 'display-added'

返り値:

  • event Event
  • newDisplay Object

newDisplayが追加されたときに出力されます。

イベント: 'display-removed'

返り値:

  • event Event
  • oldDisplay Object

oldDisplayが削除されたときに出力されます。

イベント: 'display-metrics-changed'

返り値:

  • event Event
  • display Object
  • changedMetrics Array

displayで1つ以上のメトリックが変わったときに出力されます。changedMetricsは変更を説明する文字列の配列です。変更内容にはboundsworkArea, scaleFactorrotationがあり得ます。

メソッド

screenモジュールは次のメソッドを持ちます:

screen.getCursorScreenPoint()

現在のマウスの絶対位置を返します。

screen.getPrimaryDisplay()

プライマリディスプレイを返します。

screen.getAllDisplays()

現在利用可能なディスプレイの配列を返します。

screen.getDisplayNearestPoint(point)

  • point Object
    • x Integer
    • y Integer

指定したポイントに近いディスプレイを返します。

screen.getDisplayMatching(rect)

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

提供された範囲と、もっとも重複しているディスプレイを返します。