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

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é supprimé.

Événement 'display-metrics-changed'

Retourne :

  • event Event
  • display Display
  • changedMetrics string[]

Émis lorsqu’un ou plusieurs mesures changent dans un display. changedMetrics est un tableau de chaîne de caractères décrivant les modifications. Les modifications possibles sont bounds, workArea, scaleFactor et rotation.

Méthodes

Le module screen dispose des méthodes suivantes :

screen.getCursorScreenPoint()

Retourne Point

La position absolue du pointeur de la souris.

[!Note: La valeur de retour est un point DIP et non pas un point physique d'écran.

screen.getPrimaryDisplay()

Retourne Display - L'écran principal.

screen.getAllDisplays()

Retourne Display[] - Un tableau des écrans qui sont actuellement disponibles.

screen.getDisplayNearestPoint(point)

Retourne Display - L'écran le plus proche du point spécifié.

screen.getDisplayMatching(rect)

Retourne Display - L'écran qui correspond le plus aux limites d'intersection données.

screen.screenToDipPoint(point) Windows Linux

Retourne Point

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

Pas actuellement pris en charge sur Wayland - si elle y est utilisée, elle retournera le point passé sans aucun changement.

screen.dipToScreenPoint(point) Windows Linux

Retourne 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.

Non pris en charge actuellement sur Wayland.

screen.screenToDipRect(window, rect) Windows

Retourne Rectangle

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

screen.dipToScreenRect(window, rect) Windows

Retourne Rectangle

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