screen
画面サイズ、ディスプレイ、カーソルの位置などについての情報を取得します。
プロセス: Main
app
モジュールの ready
イベントが発生するまでは、このモジュールは使用できません。
screen
は EventEmitter です。
注意: レンダラー / デベロッパー ツールでは、window.screen
は予約された DOM プロパティなので、let { screen } = require('electron')
と書くことはできません。
以下は画面全体を埋めるウインドウを作成する例です。
- main.js
// Retrieve information about screen size, displays, cursor position, etc.
//
// For more info, see:
// https://electronjs.org/docs/api/screen
const { app, BrowserWindow } = require('electron')
let mainWindow = null
app.whenReady().then(() => {
// We cannot require the screen module until the app is ready.
const { screen } = require('electron')
// Create a window that fills the screen's available work area.
const primaryDisplay = screen.getPrimaryDisplay()
const { width, height } = primaryDisplay.workAreaSize
mainWindow = new BrowserWindow({ width, height })
mainWindow.loadURL('https://electronjs.org')
})
以下は外部ディスプレイにウィンドウを作成するもう一つの例です。
const { app, BrowserWindow, screen } = require('electron')
let win
app.whenReady().then(() => {
const displays = screen.getAllDisplays()
const externalDisplay = displays.find((display) => {
return display.bounds.x !== 0 || display.bounds.y !== 0
})
if (externalDisplay) {
win = new BrowserWindow({
x: externalDisplay.bounds.x + 50,
y: externalDisplay.bounds.y + 50
})
win.loadURL('https://github.com')
}
})
イベント
screen
モジュールには以下のイベントがあります。
イベント: 'display-added'
戻り値:
event
EventnewDisplay
Display
newDisplay
が追加されたときに発生します。
イベント: 'display-removed'
戻り値:
event
EventoldDisplay
Display
oldDisplay
が削除されたときに発生します。
イベント: 'display-metrics-changed'
戻り値:
event
Eventdisplay
DisplaychangedMetrics
string[]
display
内の一つ以上の寸法が変化したときに発生します。 changedMetrics
は、変化を示す文字列の配列です。 bounds
、workArea
、scaleFactor
、rotation
に変化できます。
メソッド
screen
モジュールには以下のメソッドがあります。
screen.getCursorScreenPoint()
戻り値 Point
マウスポインタの現在の絶対位置。
注: 戻り値は DIP ポイント単位です。画面の物理ポイント単位ではありません。
screen.getPrimaryDisplay()
戻り値 Display - 主要なディスプレイ。
screen.getAllDisplays()
戻り値 Display[] - 現在利用可能な display の配列。
screen.getDisplayNearestPoint(point)
point
Point
戻り値 Display - 指定した point に最も近い display。
screen.getDisplayMatching(rect)
rect
Rectangle
戻り値 Display - 指定した矩形に最も近い display。
screen.screenToDipPoint(point)
Windows
point
Point
戻り値 Point
スクリーン上の物理的な点をスクリーン上の DIP な点に変換します。 DPI スケールは、物理的な点のあるディスプレイに対して相対的なものになります。
screen.dipToScreenPoint(point)
Windows
point
Point
戻り値 Point
スクリーン上の DIP な点をスクリーン上の物理的な点に変換します。 DPI スケールは、DIP な点のあるディスプレイに対して相対的なものになります。
screen.screenToDipRect(window, rect)
Windows
window
BrowserWindow | nullrect
Rectangle
戻り値 Rectangle
スクリーンの物理矩形をスクリーンのの DIP 矩形に変換します。 DPI スケールは window
に近いディスプレイと相対的に計算されます。 window
が null の場合、スケールは rect
に近いディスプレイと相対的に計算されます。
screen.dipToScreenRect(window, rect)
Windows
window
BrowserWindow | nullrect
Rectangle
戻り値 Rectangle
スクリーンの DIP 矩形をスクリーンのの物理矩形に変換します。 DPI スケールは window
に近いディスプレイと相対的に計算されます。 window
が null の場合、スケールは rect
に近いディスプレイと相対的に計算されます。