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.screenis a reserved DOM property, so writinglet { screen } = require('electron')will not work.
Un ejemplo de crear una ventana que llene toda la pantalla:
- main.js
// 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:
eventEventnewDisplayDisplay
Emitido cuando newDisplay ha sido añadido.
Evento: 'display-removed'
Devuelve:
eventEventoldDisplayDisplay
Emitido cuando oldDisplay ha sido eliminado.
Evento: 'display-metrics-changed'
Devuelve:
eventEventdisplayDisplaychangedMetricscadena[]
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)
pointPoint
Returns Display - The display nearest the specified point.
screen.getDisplayMatching(rect)
rectRectangle
Returns Display - The display that most closely intersects the provided bounds.
screen.screenToDipPoint(point) Windows Linux
pointPoint
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.
Not currently supported on Wayland - if used there it will return the point passed in with no changes.
screen.dipToScreenPoint(point) Windows Linux
pointPoint
Returns Point
Converts a screen DIP point to a screen physical point. The DPI scale is performed relative to the display containing the DIP point.
Not currently supported on Wayland.
screen.screenToDipRect(window, rect) Windows
windowBrowserWindow | nullrectRectangle
Returns Rectangle
Converts a screen physical rect to a screen DIP rect. The DPI scale is performed relative to the display nearest to window. If window is null, scaling will be performed to the display nearest to rect.
screen.dipToScreenRect(window, rect) Windows
windowBrowserWindow | nullrectRectangle
Returns Rectangle
Converts a screen DIP rect to a screen physical rect. The DPI scale is performed relative to the display nearest to window. If window is null, scaling will be performed to the display nearest to rect.