screen
screenモジュールは、画面サイズ、ディスプレイ、カーソル位置などの情報を読み取ります。appモジュールのreadyイベントが出力されるまで、このモジュールは使うべきではありません。
screenは EventEmitterです。
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はリモートや仮想ディスプレイに相当するかもしれません。
displayobjectidInteger - ディスプレイに紐づいた一意な識別子です。rotationInteger - 0, 1, 2, 3を設定でき、それぞれは時計回りで、0, 90, 180, 270度の画面の回転を示します。scaleFactorNumber - 出力装置のピクセルスケールファクターtouchSupportString -available,unavailable,unknownを設定できます。boundsObjectsizeObjectworkAreaObjectworkAreaSizeObject
イベント
screenモジュールは次のイベントを出力します:
イベント: 'display-added'
返り値:
eventEventnewDisplayObject
newDisplayが追加されたときに出力されます。
イベント: 'display-removed'
返り値:
eventEventoldDisplayObject
oldDisplayが削除されたときに出力されます。
イベント: 'display-metrics-changed'
返り値:
eventEventdisplayObjectchangedMetricsArray
displayで1つ以上のメトリックが変わったときに出力されます。changedMetricsは変更を説明する文字列の配列です。変更内容にはboundsとworkArea, scaleFactor、 rotationがあり得ます。
メソッド
screenモジュールは次のメソッドを持ちます:
screen.getCursorScreenPoint()
現在のマウスの絶対位置を返します。
screen.getPrimaryDisplay()
プライマリディスプレイを返します。
screen.getAllDisplays()
現在利用可能なディスプレイの配列を返します。
screen.getDisplayNearestPoint(point)
pointObjectxIntegeryInteger
指定したポイントに近いディスプレイを返します。
screen.getDisplayMatching(rect)
rectObjectxIntegeryIntegerwidthIntegerheightInteger
提供された範囲と、もっとも重複しているディスプレイを返します。