Saltar al contenido principal

screen

Recuperar información acerca del tamaño de la pantalla, posiciones del cursor, posiciones, etc.

Proceso: principal

Este módulo no puede ser usado hasta que el evento ready del módulo app es emitido.

screen es un EventEmitter.

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

Un ejemplo de crear una ventana que llene toda la pantalla:

// Retrieve information about screen size, displays, cursor position, etc.
//
// For more info, see:
// https://www.electronjs.org/docs/latest/api/screen

const { app, BrowserWindow, screen } = require('electron/main')

let mainWindow = null

app.whenReady().then(() => {
// 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')
})

Otro ejemplo de crear una ventana el display externo es:

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

[!NOTE] Screen coordinates used by this module are Point structures. There are two kinds of coordinates available to the process:

  • Physical screen points are raw hardware pixels on a display.
  • Device-independent pixel (DIP) points are virtualized screen points scaled based on the DPI (dots per inch) of the display.

Eventos

El módulo screen emite los siguientes eventos:

Evento: 'display-added'

Devuelve:

Emitido cuando newDisplay ha sido añadido.

Evento: 'display-removed'

Devuelve:

Emitido cuando oldDisplay ha sido eliminado.

Evento: 'display-metrics-changed'

Devuelve:

  • event
  • display Display
  • changedMetrics cadena[]

Emitido cuando o más métricos cambian en un display. El changedMetrics es un arreglo de cadenas que describen los cambios. Possible changes are bounds, workArea, scaleFactor and rotation.

Métodos

El módulo screen tiene los siguientes métodos:

screen.getCursorScreenPoint()

Returns Point

La actual y absoluta posición del cursor del mouse.

[!NOTE] The return value is a DIP point, not a screen physical point.

screen.getPrimaryDisplay()

Returns Display - The primary display.

screen.getAllDisplays()

Returns Display[] - An array of displays that are currently available.

screen.getDisplayNearestPoint(point)

Returns Display - The display nearest the specified point.

screen.getDisplayMatching(rect)

Returns Display - The display that most closely intersects the provided bounds.

screen.screenToDipPoint(point) Windows

Returns Point

Convierte un punto físico en la pantalla a un punto DIP de la pantalla. La escala DPI se realiza en relación a la pantalla que contiene el punto físico.

screen.dipToScreenPoint(point) Windows

Returns Point

Convierte un punto DIP de pantalla a un punto físico de la pantalla. La escala DPI se realiza en relación a la pantalla que contiene el punto DIP.

screen.screenToDipRect(window, rect) Windows

Returns Rectangle

Convierte una rect física de pantalla a una rect DIP de pantalla. La escala DPI se realiza en relación a la pantalla más cercana a window. Si window es nulo, el escalamiento se realizará a la pantalla mas cercana a rect.

screen.dipToScreenRect(window, rect) Windows

Returns Rectangle

Convierte una pantalla DIP rect a una rect física de pantalla. La escala DPI se realiza en relación a la pantalla más cercana a window. Si window es nulo, el escalamiento se realizará a la pantalla mas cercana a rect.