Aller au contenu principal

screen

Récupère les informations sur la taille, l'écran, la position du curseur, etc.

Process: Main

Ce module ne peut pas être utilisé tant que l'événement ready du module app n'est pas émis.

screen est un EventEmitter.

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

Un exemple de création d'une fenêtre qui prendra tout l'écran :

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

Un autre exemple de création d'une fenêtre dans l'écran externe :

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.

Événements

Le module screen émet les événements suivants :

Événement : 'display-added'

Retourne :

Émis lorsque newDisplay a été ajouté.

Événement : 'display-removed'

Retourne :

Émis lorsque oldDisplay a été retiré.

Événement 'display-metrics-changed'

Retourne :

  • event Event
  • display Display
  • changedMetrics string[]

Émis lorsqu’un ou plusieurs métrics changent dans un display. changedMetrics est un tableau de chaîne de caractères décrivant les modifications. Possible changes are bounds, workArea, scaleFactor and rotation.

Méthodes

Le module screen dispose des méthodes suivantes :

screen.getCursorScreenPoint()

Returns Point

La position absolue du pointeur de la souris.

[!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

Convertit un point physique de l'écran en un point DIP (Density-independent Pixels) de l'écran. L'échelle DPI (Dots (or Pixels) Per Inch) est calculée par rapport à l'écran contenant le point physique.

screen.dipToScreenPoint(point) Windows

Returns Point

Convertit un point DIP de l'écran en un point physique de l'écran. L'échelle DPI est calculée par rapport à l'affichage contenant le point DIP.

screen.screenToDipRect(window, rect) Windows

Returns Rectangle

Convertit un rect physique de l'écran en un rect DIP de l'écran. L'échelle des DPI est calculée par rapport à l'affichage le plus proche de window. Si window est null, la mise à l'échelle sera calculée par rapport à l'affichage le plus proche de rect.

screen.dipToScreenRect(window, rect) Windows

Returns Rectangle

Convertit un rect DIP de l'écran en rect physique de l'écran. L'échelle des DPI est calculée par rapport à l'affichage le plus proche de window. Si window est null, la mise à l'échelle sera calculée par rapport à l'affichage le plus proche de rect.