Header menu logo fable-electron-docs-api

screen Type

⚠ Process Availability: Main ✔ | Renderer ❌ | Utility ❌ | Exported ✔

Retrieve information about screen size, displays, cursor position, etc.Process: MainThis module cannot be used until the ready event of the app module is emitted.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://www.electronjs.org/docs/latest/api/screenconst { app, BrowserWindow, screen } = require('electron/main')let mainWindow = nullapp.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')})Another example of creating a window in the external display:const { app, BrowserWindow, screen } = require('electron')let winapp.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.

Static members

Static member Description

screen.dipToScreenPoint point

Full Usage: screen.dipToScreenPoint point

Parameters:
Returns: Point
Modifiers: inline

⚠ OS Compatibility: WIN ✔ | MAC ❌ | LIN ✔ | MAS ❌

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.

point : Point
Returns: Point

screen.dipToScreenRect (window, rect)

Full Usage: screen.dipToScreenRect (window, rect)

Parameters:
Returns: Rectangle
Modifiers: inline

⚠ OS Compatibility: WIN ✔ | MAC ❌ | LIN ❌ | MAS ❌

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.

window : Option<BrowserWindow>
rect : Rectangle
Returns: Rectangle

screen.getAllDisplays ()

Full Usage: screen.getAllDisplays ()

Returns: Display[]
Modifiers: inline

An array of displays that are currently available.

Returns: Display[]

screen.getCursorScreenPoint ()

Full Usage: screen.getCursorScreenPoint ()

Returns: Point
Modifiers: inline

The current absolute position of the mouse pointer.> [!NOTE] The return value is a DIP point, not a screen physical point.

Returns: Point

screen.getDisplayMatching rect

Full Usage: screen.getDisplayMatching rect

Parameters:
Returns: Display
Modifiers: inline

The display that most closely intersects the provided bounds.

rect : Rectangle
Returns: Display

screen.getDisplayNearestPoint point

Full Usage: screen.getDisplayNearestPoint point

Parameters:
Returns: Display
Modifiers: inline

The display nearest the specified point.

point : Point
Returns: Display

screen.getPrimaryDisplay ()

Full Usage: screen.getPrimaryDisplay ()

Returns: Display
Modifiers: inline

The primary display.

Returns: Display

screen.offDisplayAdded handler

Full Usage: screen.offDisplayAdded handler

Parameters:
Modifiers: inline

Emitted when newDisplay has been added.

handler : IOnDisplayAdded -> unit

screen.offDisplayAdded handler

Full Usage: screen.offDisplayAdded handler

Parameters:
Modifiers: inline

Emitted when newDisplay has been added.

handler : Event -> Display -> unit

screen.offDisplayMetricsChanged handler

Full Usage: screen.offDisplayMetricsChanged handler

Parameters:
Modifiers: inline

Emitted when one or more metrics change in a display. The changedMetrics is an array of strings that describe the changes. Possible changes are bounds, workArea, scaleFactor and rotation.

handler : IOnDisplayMetricsChanged -> unit

screen.offDisplayMetricsChanged handler

Full Usage: screen.offDisplayMetricsChanged handler

Parameters:
Modifiers: inline

Emitted when one or more metrics change in a display. The changedMetrics is an array of strings that describe the changes. Possible changes are bounds, workArea, scaleFactor and rotation.

handler : Event -> Display -> string[] -> unit

screen.offDisplayRemoved handler

Full Usage: screen.offDisplayRemoved handler

Parameters:
Modifiers: inline

Emitted when oldDisplay has been removed.

handler : IOnDisplayRemoved -> unit

screen.offDisplayRemoved handler

Full Usage: screen.offDisplayRemoved handler

Parameters:
Modifiers: inline

Emitted when oldDisplay has been removed.

handler : Event -> Display -> unit

screen.onDisplayAdded handler

Full Usage: screen.onDisplayAdded handler

Parameters:
Modifiers: inline

Emitted when newDisplay has been added.

handler : IOnDisplayAdded -> unit

screen.onDisplayAdded handler

Full Usage: screen.onDisplayAdded handler

Parameters:
Modifiers: inline

Emitted when newDisplay has been added.

handler : Event -> Display -> unit

screen.onDisplayMetricsChanged handler

Full Usage: screen.onDisplayMetricsChanged handler

Parameters:
Modifiers: inline

Emitted when one or more metrics change in a display. The changedMetrics is an array of strings that describe the changes. Possible changes are bounds, workArea, scaleFactor and rotation.

handler : IOnDisplayMetricsChanged -> unit

screen.onDisplayMetricsChanged handler

Full Usage: screen.onDisplayMetricsChanged handler

Parameters:
Modifiers: inline

Emitted when one or more metrics change in a display. The changedMetrics is an array of strings that describe the changes. Possible changes are bounds, workArea, scaleFactor and rotation.

handler : Event -> Display -> string[] -> unit

screen.onDisplayRemoved handler

Full Usage: screen.onDisplayRemoved handler

Parameters:
Modifiers: inline

Emitted when oldDisplay has been removed.

handler : IOnDisplayRemoved -> unit

screen.onDisplayRemoved handler

Full Usage: screen.onDisplayRemoved handler

Parameters:
Modifiers: inline

Emitted when oldDisplay has been removed.

handler : Event -> Display -> unit

screen.onceDisplayAdded handler

Full Usage: screen.onceDisplayAdded handler

Parameters:
Modifiers: inline

Emitted when newDisplay has been added.

handler : IOnDisplayAdded -> unit

screen.onceDisplayAdded handler

Full Usage: screen.onceDisplayAdded handler

Parameters:
Modifiers: inline

Emitted when newDisplay has been added.

handler : Event -> Display -> unit

screen.onceDisplayMetricsChanged handler

Full Usage: screen.onceDisplayMetricsChanged handler

Parameters:
Modifiers: inline

Emitted when one or more metrics change in a display. The changedMetrics is an array of strings that describe the changes. Possible changes are bounds, workArea, scaleFactor and rotation.

handler : IOnDisplayMetricsChanged -> unit

screen.onceDisplayMetricsChanged handler

Full Usage: screen.onceDisplayMetricsChanged handler

Parameters:
Modifiers: inline

Emitted when one or more metrics change in a display. The changedMetrics is an array of strings that describe the changes. Possible changes are bounds, workArea, scaleFactor and rotation.

handler : Event -> Display -> string[] -> unit

screen.onceDisplayRemoved handler

Full Usage: screen.onceDisplayRemoved handler

Parameters:
Modifiers: inline

Emitted when oldDisplay has been removed.

handler : IOnDisplayRemoved -> unit

screen.onceDisplayRemoved handler

Full Usage: screen.onceDisplayRemoved handler

Parameters:
Modifiers: inline

Emitted when oldDisplay has been removed.

handler : Event -> Display -> unit

screen.screenToDipPoint point

Full Usage: screen.screenToDipPoint point

Parameters:
Returns: Point
Modifiers: inline

⚠ OS Compatibility: WIN ✔ | MAC ❌ | LIN ✔ | MAS ❌

Converts a screen physical point to a screen DIP point. The DPI scale is performed relative to the display containing the physical point.Not currently supported on Wayland - if used there it will return the point passed in with no changes.

point : Point
Returns: Point

screen.screenToDipRect (window, rect)

Full Usage: screen.screenToDipRect (window, rect)

Parameters:
Returns: Rectangle
Modifiers: inline

⚠ OS Compatibility: WIN ✔ | MAC ❌ | LIN ❌ | MAS ❌

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.

window : Option<BrowserWindow>
rect : Rectangle
Returns: Rectangle

Type something to start searching.