Перейти к основному содержанию

screen

Предоставляет информацию о размере экрана, дисплеях, позиции курсора.

Процесс: Главный

Этот модуль нельзя использовать до тех пор, пока событие ready в app не будет готово к использованию.

screen is an EventEmitter.

Note: In the renderer / DevTools, window.screen is a reserved DOM property, so writing let { screen } = require('electron') will not work.

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

// 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
  • newDisplay Display

Возникает при добавлении newDisplay.

Событие: 'display-removed'

Возвращает:

  • Событие типа event
  • oldDisplay Display

Возникает при удалении oldDisplay.

Событие: 'display-metrics-changed'

Возвращает:

  • Событие типа event
  • display Display
  • changedMetrics String[]

Возникает при изменении одной или нескольких метрик в display. changedMetrics является массивом строк, описывающих изменения. Возможные изменения bounds, workArea, scaleFactor и rotation.

Методы

Модуль screen имеет следующие методы:

screen.getCursorScreenPoint()

Возвращает Point

Текущее абсолютное положение указателя мыши.

Note: The return value is a DIP point, not a screen physical point.

screen.getPrimaryDisplay()

Возвращает Display - Основной дисплей.

screen.getAllDisplays()

Возвращает Display[] - Массив доступных в настоящее время дисплеев.

screen.getDisplayNearestPoint(point)

Возвращает Display - Дисплей, ближайший к указанной точке.

screen.getDisplayMatching(rect)

Возвращает Display - Дисплей, который наиболее близко пересекает заданные границы.

screen.screenToDipPoint(point) Windows

Возвращает Point

Преобразует физическую точку экрана в точку DIP экрана. Масштаб DPI выполняется относительно отображения, содержащего физическую точку.

screen.dipToScreenPoint(point) Windows

Возвращает Point

Преобразует точку DIP экрана в физическую точку экрана. Масштаб DPI выполняется относительно отображения, содержащего точку DIP.

screen.screenToDipRect(window, rect) Windows

Возвращает Rectangle

Преобразует физический прямоугольник экрана в DIP-прямоугольник экрана. Шкала DPI выполняется относительно дисплея, ближайшего к window. Если window равен нулю, то масштабирование будет производиться до ближайшего к rect.

screen.dipToScreenRect(window, rect) Windows

Возвращает Rectangle

Преобразовывает DIP-прямоуголник экрана в физический прямоугольник экрана. Шкала DPI выполняется относительно дисплея, ближайшего к window. Если window равен нулю, то масштабирование будет производиться до ближайшего к rect.