BaseWindow
Create and control windows.
Process: Main
Note
BaseWindow
provides a flexible way to compose multiple web views in a single window. For windows with only a single, full-size web view, theBrowserWindow
class may be a simpler option.
This module cannot be used until the ready
event of the app
module is emitted.
// In the main process.
const { BaseWindow, WebContentsView } = require('electron')
const win = new BaseWindow({ width: 800, height: 600 })
const leftView = new WebContentsView()
leftView.webContents.loadURL('https://electronjs.org')
win.contentView.addChildView(leftView)
const rightView = new WebContentsView()
rightView.webContents.loadURL('https://github.com/electron/electron')
win.contentView.addChildView(rightView)
leftView.setBounds({ x: 0, y: 0, width: 400, height: 600 })
rightView.setBounds({ x: 400, y: 0, width: 400, height: 600 })
Fenêtres parent et enfant
En utilisant l'option parent
, vous pouvez créer des fenêtres enfants :
const { BaseWindow } = require('electron')
const parent = new BaseWindow()
const child = new BaseWindow({ parent })
La fenêtre child
s'affichera toujours devant la fenêtre parent
.
Fenêtres modales
Une fenêtre modale est une fenêtre enfant qui désactive la fenêtre parente. Pour créer une fenêtre modale
, vous devez définir les options parent
et modal
:
const { BaseWindow } = require('electron')
const parent = new BaseWindow()
const child = new BaseWindow({ parent, modal: true })
Avertissement sur les plateformes
- Sur macOS, les fenêtres modales seront affichés comme des feuilles attachées à la fenêtre parent.
- On macOS the child windows will keep the relative position to parent window when parent window moves, while on Windows and Linux child windows will not move.
- On Linux the type of modal windows will be changed to
dialog
. - Sur Linux, beaucoup d'environnements bureau ne peuvent pas cacher une fenêtre modale.
Class: BaseWindow
Create and control windows.
Process: Main
BaseWindow
est un EventEmitter.
Création d'une nouvelle BaseWindow
dont les propriétés natives sont celles définies par les options
.
new BaseWindow([options])
When setting minimum or maximum window size with minWidth
/maxWidth
/
minHeight
/maxHeight
, it only constrains the users. It won't prevent you from
passing a size that does not follow size constraints to setBounds
/setSize
or
to the constructor of BrowserWindow
.
The possible values and behaviors of the type
option are platform dependent.
Les valeurs possibles étant:
- Sous Linux, les types possibles sont
desktop
,dock
,toolbar
,splash
,notification
.- Le type
desktop
place la fenêtre au niveau de la fenêtre de fond de bureau (kCGDesktopWindowLevel - 1). However, note that a desktop window will not receive focus, keyboard, or mouse events. You can still use globalShortcut to receive input sparingly. - The
dock
type creates a dock-like window behavior. - The
toolbar
type creates a window with a toolbar appearance. - The
splash
type behaves in a specific way. It is not draggable, even if the CSS styling of the window's body contains -webkit-app-region: drag. Ce type est couramment utilisé pour les écrans de démarrage. - The
notification
type creates a window that behaves like a system notification.
- Le type
- On macOS, possible types are
desktop
,textured
,panel
.- The
textured
type adds metal gradient appearance (NSWindowStyleMaskTexturedBackground
). - The
desktop
type places the window at the desktop background window level (kCGDesktopWindowLevel - 1
). Note that desktop window will not receive focus, keyboard or mouse events, but you can useglobalShortcut
to receive input sparingly. - The
panel
type enables the window to float on top of full-screened apps by adding theNSWindowStyleMaskNonactivatingPanel
style mask,normally reserved for NSPanel, at runtime. Also, the window will appear on all spaces (desktops).
- The
- On Windows, possible type is
toolbar
.
Événements d’instance
Objects created with new BaseWindow
emit the following events:
Note: Some events are only available on specific operating systems and are labeled as such.
Événement : 'close'
Retourne :
event
Event
Emis lorsque la fenêtre va être fermée. It's emitted before the
beforeunload
and unload
event of the DOM. Calling event.preventDefault()
will cancel the close.
Usually you would want to use the beforeunload
handler to decide whether the
window should be closed, which will also be called when the window is
reloaded. In Electron, returning any value other than undefined
would cancel the
close. Par exemple :
window.onbeforeunload = (e) => {
console.log('I do not want to be closed')
// Unlike usual browsers that a message box will be prompted to users, returning
// a non-void value will silently cancel the close.
// It is recommended to use the dialog API to let the user confirm closing the
// application.
e.returnValue = false
}
Note: There is a subtle difference between the behaviors of window.onbeforeunload = handler
and window.addEventListener('beforeunload', handler)
. It is recommended to always set the event.returnValue
explicitly, instead of only returning a value, as the former works more consistently within Electron.
Événement : 'closed'
Il est emis lorsque la fenêtre est fermée. Après réception de cet événement, vous devez supprimer la référence vers la fenêtre et, bien sur, éviter de la ré-utiliser.
Event: 'session-end' Windows
Émis lorsque la session va se terminer à cause d'un redémarrage, un arrêt forcé ou une déconnexion.
Événement : 'blur'
Émis lorsque la fenêtre perd le focus.
Événement : 'focus'
Émis lorsque la fenêtre obtient le focus.
Événement : 'show'
Émis lorsque la fenêtre est affichée.
Événement : 'hide'
Émis lorsque la fenêtre est masquée.
Événement : 'maximize'
Émis lorsque la fenêtre est agrandie.
Événement : 'unmaximize'
Émis lorsque la fenêtre quitte un état maximisé.
Événement : 'minimize'
Émis lorsque la fenêtre est minimisée.
Événement : 'restore'
Émis lorsque la fenêtre est restaurée à partir d’un état réduit.
Event: 'will-resize' macOS Windows
Retourne :
event
EventnewBounds
Rectangle - Size the window is being resized to.details
Objectedge
(string) - The edge of the window being dragged for resizing. Can bebottom
,left
,right
,top-left
,top-right
,bottom-left
orbottom-right
.
Émis avant que la fenêtre ne soit redimensionnée. Calling event.preventDefault()
will prevent the window from being resized.
Notez que cet événement n'est émis que lorsque la fenêtre est redimensionnée manuellement. Resizing the window with setBounds
/setSize
will not emit this event.
The possible values and behaviors of the edge
option are platform dependent. Les valeurs possibles étant:
- On Windows, possible values are
bottom
,top
,left
,right
,top-left
,top-right
,bottom-left
,bottom-right
. - On macOS, possible values are
bottom
andright
.- The value
bottom
is used to denote vertical resizing. - The value
right
is used to denote horizontal resizing.
- The value
Événement : 'resize'
Émis après que la fenêtre soit redimensionnée.
Event: 'resized' macOS Windows
Émis une fois que la fenêtre a fini d'être redimensionnée.
Généralement émis lorsque la fenêtre a été redimensionnée manuellement. On macOS, resizing the window with setBounds
/setSize
and setting the animate
parameter to true
will also emit this event once resizing has finished.
Event: 'will-move' macOS Windows
Retourne :
event
EventnewBounds
Rectangle - Location the window is being moved to.
Émis juste avant que la fenêtre ne soit déplacée. On Windows, calling event.preventDefault()
will prevent the window from being moved.
Notez bien qu'il ne sera émis que lorsque la fenêtre est déplacée manuellement. Moving the window with setPosition
/setBounds
/center
will not emit this event.
Événement : 'move'
Émis lorsque la fenêtre est déplacée vers une nouvelle position.
Event: 'moved' macOS Windows
Émis une fois lorsque la fenêtre est déplacée vers une nouvelle position.
Note: On macOS this event is an alias of move
.
Événement : 'enter-full-screen'
Émis lorsque la fenêtre passe à un état de plein écran.
Événement : 'leave-full-screen'
Émis lorsque la fenêtre revient d'un état de plein écran.
Événement : 'always-on-top-changed'
Retourne :
event
EventisAlwaysOnTop
boolean
Émis lorsque la fenêtre est définie ou non définie pour toujours afficher au dessus des autres fenêtres.
Event: 'app-command' Windows Linux
Retourne :
event
Eventcommand
string
Emitted when an App Command is invoked. Généralement lié aux touches multimédia du clavier ou aux commandes du navigateur, ainsi que le bouton "Retour" intégré à certaines souris sous Windows.
Commands are lowercased, underscores are replaced with hyphens, and the
APPCOMMAND_
prefix is stripped off.
e.g. APPCOMMAND_BROWSER_BACKWARD
is emitted as browser-backward
.
const { BaseWindow } = require('electron')
const win = new BaseWindow()
win.on('app-command', (e, cmd) => {
// Navigate the window back when the user hits their mouse back button
if (cmd === 'browser-backward') {
// Find the appropriate WebContents to navigate.
}
})
Les commandes d'application suivantes sont explicitement prises en charge sur Linux :
browser-backward
browser-forward
Event: 'swipe' macOS
Retourne :
event
Eventdirection
string
Émis sur un balayage à 3 doigts. Possible directions are up
, right
, down
, left
.
La méthode sous-jacente à cet événement est construite afin de pouvoir gérer les glissements sur trackpad selon le styles des 'anciens macOS, où le contenu sur l'écran ne se déplace pas avec le glissement. Most macOS trackpads are not
configured to allow this kind of swiping anymore, so in order for it to emit properly the
'Swipe between pages' preference in System Preferences > Trackpad > More Gestures
must be
set to 'Swipe with two or three fingers'.
Event: 'rotate-gesture' macOS
Retourne :
event
Eventrotation
Float
Émis lors du mouvement de rotation du trackpad. Émission continue jusqu'à la fin du geste de rotation. The rotation
value on each emission is the angle in degrees rotated since
the last emission. The last emitted event upon a rotation gesture will always be of
value 0
. Les valeurs de rotation dans le sens inverse des aiguilles d'une montre sont positives, tandis que les valeurs dans le sens horaire sont
négatives.
Event: 'sheet-begin' macOS
Émis lorsque la fenêtre ouvre une feuille.
Event: 'sheet-end' macOS
Émis lorsque la fenêtre a fermé une feuille.
Event: 'new-window-for-tab' macOS
Émis lorsque le bouton natif du nouvel onglet est cliqué.
Event: 'system-context-menu' Windows
Retourne :
event
Eventpoint
Point - The screen coordinates the context menu was triggered at
Émis lorsque le menu contextuel du système est déclenché dans la fenêtre, ceci est
normalement uniquement déclenché lorsque l'utilisateur fait un clic droit sur la zone non-client
de votre fenêtre. This is the window titlebar or any area you have declared
as -webkit-app-region: drag
in a frameless window.
Calling event.preventDefault()
will prevent the menu from being displayed.
Méthodes statiques
The BaseWindow
class has the following static methods:
BaseWindow.getAllWindows()
Returns BaseWindow[]
- An array of all opened browser windows.
BaseWindow.getFocusedWindow()
Returns BaseWindow | null
- The window that is focused in this application, otherwise returns null
.
BaseWindow.fromId(id)
id
Integer
Returns BaseWindow | null
- The window with the given id
.
Propriétés d'instance
Objects created with new BaseWindow
have the following properties:
const { BaseWindow } = require('electron')
// In this example `win` is our instance
const win = new BaseWindow({ width: 800, height: 600 })
win.id
Readonly
A Integer
property representing the unique ID of the window. Each ID is unique among all BaseWindow
instances of the entire Electron application.
win.contentView
A View
property for the content view of the window.
win.tabbingIdentifier
macOS Readonly
A string
(optional) property that is equal to the tabbingIdentifier
passed to the BrowserWindow
constructor or undefined
if none was set.
win.autoHideMenuBar
A boolean
property that determines whether the window menu bar should hide itself automatically. Once set, the menu bar will only show when users press the single Alt
key.
If the menu bar is already visible, setting this property to true
won't
hide it immediately.
win.simpleFullScreen
A boolean
property that determines whether the window is in simple (pre-Lion) fullscreen mode.
win.fullScreen
A boolean
property that determines whether the window is in fullscreen mode.
win.focusable
Windows macOS
A boolean
property that determines whether the window is focusable.
win.visibleOnAllWorkspaces
macOS Linux
A boolean
property that determines whether the window is visible on all workspaces.
Note: Always returns false on Windows.
win.shadow
A boolean
property that determines whether the window has a shadow.
win.menuBarVisible
Windows Linux
A boolean
property that determines whether the menu bar should be visible.
Note: If the menu bar is auto-hide, users can still bring up the menu bar by pressing the single Alt
key.
win.kiosk
A boolean
property that determines whether the window is in kiosk mode.
win.documentEdited
macOS
A boolean
property that specifies whether the window’s document has been edited.
The icon in title bar will become gray when set to true
.
win.representedFilename
macOS
A string
property that determines the pathname of the file the window represents,
and the icon of the file will show in window's title bar.
win.title
A string
property that determines the title of the native window.
Note: The title of the web page can be different from the title of the native window.
win.minimizable
macOS Windows
A boolean
property that determines whether the window can be manually minimized by user.
On Linux the setter is a no-op, although the getter returns true
.
win.maximizable
macOS Windows
A boolean
property that determines whether the window can be manually maximized by user.
On Linux the setter is a no-op, although the getter returns true
.
win.fullScreenable
A boolean
property that determines whether the maximize/zoom window button toggles fullscreen mode or
maximizes the window.
win.resizable
A boolean
property that determines whether the window can be manually resized by user.
win.closable
macOS Windows
A boolean
property that determines whether the window can be manually closed by user.
On Linux the setter is a no-op, although the getter returns true
.
win.movable
macOS Windows
A boolean
property that determines Whether the window can be moved by user.
On Linux the setter is a no-op, although the getter returns true
.
win.excludedFromShownWindowsMenu
macOS
A boolean
property that determines whether the window is excluded from the application’s Windows menu. false
by default.
const { Menu, BaseWindow } = require('electron')
const win = new BaseWindow({ height: 600, width: 600 })
const template = [
{
role: 'windowmenu'
}
]
win.excludedFromShownWindowsMenu = true
const menu = Menu.buildFromTemplate(template)
Menu.setApplicationMenu(menu)
win.accessibleTitle
A string
property that defines an alternative title provided only to
accessibility tools such as screen readers. Cette chaîne n'est pas directement
visible par les utilisateurs.
Méthodes d’instance
Objects created with new BaseWindow
have the following instance methods:
Note: Some methods are only available on specific operating systems and are labeled as such.
win.setContentView(view)
view
View
Sets the content view of the window.
win.getContentView()
Returns View - The content view of the window.
win.destroy()
Force closing the window, the unload
and beforeunload
event won't be emitted
for the web page, and close
event will also not be emitted
for this window, but it guarantees the closed
event will be emitted.
win.close()
Essaye de fermer la fenêtre. Ceci a le même effet qu'un utilisateur cliquant manuellement sur le bouton de fermeture de la fenêtre. La page Web, elle, peut cependant annuler la fermeture. See the close event.
win.focus()
Ramène la fenêtre au premier plan.
win.blur()
Retire le focus de la fenêtre.
win.isFocused()
Returns boolean
- Whether the window is focused.
win.isDestroyed()
Returns boolean
- Whether the window is destroyed.
win.show()
Affiche la fenêtre et la ramène au premier plan.
win.showInactive()
Affiche la fenêtre, sans la ramener au premier plan.
win.hide()
Masque la fenêtre.
win.isVisible()
Returns boolean
- Whether the window is visible to the user in the foreground of the app.
win.isModal()
Returns boolean
- Whether current window is a modal window.
win.maximize()
Maximise la fenêtre. Cela affichera également la fenêtre (mais sans lui donner le focus) si elle n'est pas déjà affichée.
win.unmaximize()
Réduit la fenêtre à sa taille initiale.
win.isMaximized()
Returns boolean
- Whether the window is maximized.
win.minimize()
Minimise la fenêtre Sur certaines plates-formes, la fenêtre réduite sera affichée dans le Dock.
win.restore()
Restaure la fenêtre depuis l'état réduit à son état précédent.
win.isMinimized()
Returns boolean
- Whether the window is minimized.
win.setFullScreen(flag)
flag
boolean
Définit si la fenêtre doit être en mode plein écran.
Note: On macOS, fullscreen transitions take place asynchronously. If further actions depend on the fullscreen state, use the 'enter-full-screen' or 'leave-full-screen' events.
win.isFullScreen()
Returns boolean
- Whether the window is in fullscreen mode.
win.setSimpleFullScreen(flag)
macOS
flag
boolean
Entre ou sort du mode plein-écran simple.
Le mode plein-écran simple émule le comportement en plein-écran natif trouvé sur les versions de Mac OS X antérieures à Lion (10.7).
win.isSimpleFullScreen()
macOS
Returns boolean
- Whether the window is in simple (pre-Lion) fullscreen mode.
win.isNormal()
Returns boolean
- Whether the window is in normal state (not maximized, not minimized, not in fullscreen mode).
win.setAspectRatio(aspectRatio[, extraSize])
aspectRatio
Float - The aspect ratio to maintain for some portion of the content view.extraSize
Size (optional) macOS - The extra size not to be included while maintaining the aspect ratio.
Fera que la fenêtre maintiendra un certain rapport hauteur/largeur. La taille supplémentaire permet à un développeur d'avoir de l'espace, spécifié en pixels, non inclus dans les calculs de ratio de l'aspect. Cette API prend déjà en compte la différence entre la taille d'une fenêtre et la taille de son contenu.
Considérons une fenêtre normale avec un lecteur vidéo HD et des commandes associées. Il y a peut-être 15 pixels de contrôles sur le bord gauche, 25 pixels de contrôles sur le bord droit et 50 pixels de contrôles sous le lecteur. In order to maintain a 16:9 aspect ratio (standard aspect ratio for HD @1920x1080) within the player itself we would call this function with arguments of 16/9 and { width: 40, height: 50 }. Le deuxième argument n'a pas d'importance tant que les largeur et hauteur supplémentaires restent dans les limites de la vue du contenu. On ajoutera toute largeur supplémentaire et les zones de hauteur que vous avez dans la vue de contenu globale.
The aspect ratio is not respected when window is resized programmatically with
APIs like win.setSize
.
To reset an aspect ratio, pass 0 as the aspectRatio
value: win.setAspectRatio(0)
.
win.setBackgroundColor(backgroundColor)
backgroundColor
string - Color in Hex, RGB, RGBA, HSL, HSLA or named CSS color format. Le canal alpha est facultatif pour le type hexadécimal.
Examples of valid backgroundColor
values:
- Hex
- #fff (RVB raccourci)
- #ffff (ARGB raccourci )
- #ffffff (RGB)
- #ffffffff (ARGB)
- RGB
rgb\(([\d]+),\s*([\d]+),\s*([\d]+)\)
- e.g. rgb(255, 255, 255)
- RGBA
rgba\(([\d]+),\s*([\d]+),\s*([\d]+),\s*([\d.]+)\)
- e.g. rgba(255, 255, 255, 1.0)
- HSL
hsl\((-?[\d.]+),\s*([\d.]+)%,\s*([\d.]+)%\)
- e.g. hsl(200, 20%, 50%)
- HSLA
hsla\((-?[\d.]+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)
- e.g. hsla(200, 20%, 50%, 0.5)
- Couleur nommée
- Options are listed in SkParseColor.cpp
- Similaire aux mots-clés de CSS Color Module Level 3, mais sensible à la casse.
- e.g.
blueviolet
orred
- e.g.
Définit la couleur de l'arrière-plan de la fenêtre. See Setting backgroundColor
.
win.previewFile(path[, displayName])
macOS
path
string - The absolute path to the file to preview with QuickLook. This is important as Quick Look uses the file name and file extension on the path to determine the content type of the file to open.displayName
string (optional) - The name of the file to display on the Quick Look modal view. This is purely visual and does not affect the content type of the file. Defaults topath
.
Uses Quick Look to preview a file at a given path.
win.closeFilePreview()
macOS
Closes the currently open Quick Look panel.
win.setBounds(bounds[, animate])
bounds
Partial<Rectangle>animate
boolean (optional) macOS
Redimensionne et déplace la fenêtre vers les limites fournies. Toutes les propriétés qui ne sont pas fournies seront par défaut à leurs valeurs actuelles.
const { BaseWindow } = require('electron')
const win = new BaseWindow()
// set all bounds properties
win.setBounds({ x: 440, y: 225, width: 800, height: 600 })
// set a single bounds property
win.setBounds({ width: 100 })
// { x: 440, y: 225, width: 100, height: 600 }
console.log(win.getBounds())
Note: On macOS, the y-coordinate value cannot be smaller than the Tray height. La hauteur du tray a changé au fil du temps et dépend du système d'exploitation, mais elle est comprise entre 20 et 40 px. Passer une valeur inférieure à la hauteur du tray résultera en une fenêtre supprimée du tray.
win.getBounds()
Returns Rectangle - The bounds
of the window as Object
.
Note: On macOS, the y-coordinate value returned will be at minimum the Tray height. For example, calling win.setBounds({ x: 25, y: 20, width: 800, height: 600 })
with a tray height of 38 means that win.getBounds()
will return { x: 25, y: 38, width: 800, height: 600 }
.
win.getBackgroundColor()
Returns string
- Gets the background color of the window in Hex (#RRGGBB
) format.
Note: The alpha value is not returned alongside the red, green, and blue values.
win.setContentBounds(bounds[, animate])
bounds
Rectangleanimate
boolean (optional) macOS
Redimensionne et déplace la zone client de la fenêtre (par exemple la page web) vers les limites fournies.
win.getContentBounds()
Returns Rectangle - The bounds
of the window's client area as Object
.
win.getNormalBounds()
Returns Rectangle - Contains the window bounds of the normal state
Note: whatever the current state of the window : maximized, minimized or in fullscreen, this function always returns the position and size of the window in normal state. In normal state, getBounds and getNormalBounds returns the same Rectangle.
win.setEnabled(enable)
enable
boolean
Active ou désactive la fenêtre.
win.isEnabled()
Returns boolean
- whether the window is enabled.
win.setSize(width, height[, animate])
width
Integerheight
Integeranimate
boolean (optional) macOS
Resizes the window to width
and height
. If width
or height
are below any set minimum size constraints the window will snap to its minimum size.
win.getSize()
Returns Integer[]
- Contains the window's width and height.
win.setContentSize(width, height[, animate])
width
Integerheight
Integeranimate
boolean (optional) macOS
Resizes the window's client area (e.g. the web page) to width
and height
.
win.getContentSize()
Returns Integer[]
- Contains the window's client area's width and height.
win.setMinimumSize(width, height)
width
Integerheight
Integer
Sets the minimum size of window to width
and height
.
win.getMinimumSize()
Returns Integer[]
- Contains the window's minimum width and height.
win.setMaximumSize(width, height)
width
Integerheight
Integer
Sets the maximum size of window to width
and height
.
win.getMaximumSize()
Returns Integer[]
- Contains the window's maximum width and height.
win.setResizable(resizable)
resizable
boolean
Définit si la fenêtre peut être redimensionnée ou pas par l’utilisateur.
win.isResizable()
Returns boolean
- Whether the window can be manually resized by the user.
win.setMovable(movable)
macOS Windows
movable
boolean
Définit si la fenêtre peut être déplacée par l’utilisateur. N'a aucun effet sous Linux.
win.isMovable()
macOS Windows
Returns boolean
- Whether the window can be moved by user.
On Linux always returns true
.
win.setMinimizable(minimizable)
macOS Windows
minimizable
boolean
Définit si la fenêtre peut être minimisée par l’utilisateur. N'a aucun effet sous Linux.
win.isMinimizable()
macOS Windows
Returns boolean
- Whether the window can be manually minimized by the user.
On Linux always returns true
.
win.setMaximizable(maximizable)
macOS Windows
maximizable
boolean
Définit si la fenêtre peut être maximalisée par l’utilisateur. N'a aucun effet sous Linux.
win.isMaximizable()
macOS Windows
Returns boolean
- Whether the window can be manually maximized by user.
On Linux always returns true
.
win.setFullScreenable(fullscreenable)
fullscreenable
boolean
Définit si le bouton agrandir/zoom de la fenêtre active/désactive le mode plein écran ou agrandit la fenêtre.
win.isFullScreenable()
Returns boolean
- Whether the maximize/zoom window button toggles fullscreen mode or maximizes the window.
win.setClosable(closable)
macOS Windows
closable
boolean
Définit si la fenêtre peut être fermée manuellement par l'utilisateur. N'a aucun effet sous Linux.
win.isClosable()
macOS Windows
Returns boolean
- Whether the window can be manually closed by user.
On Linux always returns true
.
win.setHiddenInMissionControl(hidden)
macOS
hidden
boolean
Définit si la fenêtre sera masquée lorsque l'utilisateur uitilise Mission Control.
win.isHiddenInMissionControl()
macOS
Returns boolean
- Whether the window will be hidden when the user toggles into mission control.
win.setAlwaysOnTop(flag[, level][, relativeLevel])
flag
booleanlevel
string (optional) macOS Windows - Values includenormal
,floating
,torn-off-menu
,modal-panel
,main-menu
,status
,pop-up-menu
,screen-saver
, and(Deprecated). The default isdock
floating
whenflag
is true. Thelevel
is reset tonormal
when the flag is false. Note that fromfloating
tostatus
included, the window is placed below the Dock on macOS and below the taskbar on Windows. Frompop-up-menu
to a higher it is shown above the Dock on macOS and above the taskbar on Windows. See the macOS docs for more details.relativeLevel
Integer (optional) macOS - The number of layers higher to set this window relative to the givenlevel
. The default is0
. Note that Apple discourages setting levels higher than 1 abovescreen-saver
.
Définit si la fenêtre doit toujours s'afficher au-dessus des autres fenêtres. Après être définie comme telle, la fenêtre est toujours une fenêtre normale et non pas une fenêtre d'outils ne pouvant pas prendre le focus.
win.isAlwaysOnTop()
Returns boolean
- Whether the window is always on top of other windows.
win.moveAbove(mediaSourceId)
mediaSourceId
string - Window id in the format of DesktopCapturerSource's id. Par exemple "window:1869:0".
Déplace la fenêtre au-dessus de la fenêtre source dans l'ordre du z-order. If the
mediaSourceId
is not of type window or if the window does not exist then
this method throws an error.
win.moveTop()
Déplace la fenêtre sur le dessus (dans l'ordre z) peu importe qu'elle ait le focus ou non
win.center()
Déplace la fenêtre vers le centre de l’écran.
win.setPosition(x, y[, animate])
x
Integery
Integeranimate
boolean (optional) macOS
Moves window to x
and y
.
win.getPosition()
Returns Integer[]
- Contains the window's current position.
win.setTitle(title)
title
string
Changes the title of native window to title
.
win.getTitle()
Returns string
- The title of the native window.
Note: The title of the web page can be different from the title of the native window.
win.setSheetOffset(offsetY[, offsetX])
macOS
offsetY
FloatoffsetX
Float (optional)
Modifie le point d'attachement des feuilles sur macOS. Par défaut, les feuilles sont attachées juste sous le cadre de la fenêtre, mais vous pouvez les afficher sous une barre d'outils affichée. Par exemple :
const { BaseWindow } = require('electron')
const win = new BaseWindow()
const toolbarRect = document.getElementById('toolbar').getBoundingClientRect()
win.setSheetOffset(toolbarRect.height)
win.flashFrame(flag)
History
Version(s) | Changes |
---|---|
None |
|
None | API ADDED |
flag
boolean
Démarre ou arrête de faire clignoter la fenêtre pour attirer l'attention de l'utilisateur.
win.setSkipTaskbar(skip)
macOS Windows
skip
boolean
Fait que la fenêtre ne soit pas affichée dans la barre des tâches.
win.setKiosk(flag)
flag
boolean
Entre ou sort du mode kiosque.
win.isKiosk()
Returns boolean
- Whether the window is in kiosk mode.
win.isTabletMode()
Windows
Returns boolean
- Whether the window is in Windows 10 tablet mode.
Since Windows 10 users can use their PC as tablet, under this mode apps can choose to optimize their UI for tablets, such as enlarging the titlebar and hiding titlebar buttons.
This API returns whether the window is in tablet mode, and the resize
event
can be be used to listen to changes to tablet mode.
win.getMediaSourceId()
Returns string
- Window id in the format of DesktopCapturerSource's id. Par exemple "window:1324:0".
More precisely the format is window:id:other_id
where id
is HWND
on
Windows, CGWindowID
(uint64_t
) on macOS and Window
(unsigned long
) on
Linux. other_id
is used to identify web contents (tabs) so within the same
top level window.
win.getNativeWindowHandle()
Returns Buffer
- The platform-specific handle of the window.
The native type of the handle is HWND
on Windows, NSView*
on macOS, and
Window
(unsigned long
) on Linux.
win.hookWindowMessage(message, callback)
Windows
message
Integercallback
FunctionwParam
Buffer - ThewParam
provided to the WndProclParam
Buffer - ThelParam
provided to the WndProc
Accroche un message de fenêtre. The callback
is called when
the message is received in the WndProc.
win.isWindowMessageHooked(message)
Windows
message
Integer
Returns boolean
- true
or false
depending on whether the message is hooked.
win.unhookWindowMessage(message)
Windows
message
Integer
Décroche le message de fenêtre.
win.unhookAllWindowMessages()
Windows
Décroche tous les messages de fenêtre.
win.setRepresentedFilename(filename)
macOS
filename
string
Définit le chemin d'accès du fichier que la fenêtre représente, et l'icône du fichier s'affichera dans la barre de titre de la fenêtre.
win.getRepresentedFilename()
macOS
Returns string
- The pathname of the file the window represents.
win.setDocumentEdited(edited)
macOS
edited
boolean
Specifies whether the window’s document has been edited, and the icon in title
bar will become gray when set to true
.
win.isDocumentEdited()
macOS
Returns boolean
- Whether the window's document has been edited.
win.setMenu(menu)
Linux Windows
menu
Menu | null
Sets the menu
as the window's menu bar.
win.removeMenu()
Linux Windows
Retire la barre de menu de la fenêtre.
win.setProgressBar(progress[, options])
progress
Double
Définit la valeur de progression dans la barre de progression. La plage valide est [0, 1.0].
Supprime la barre de progression lorsque progress est < 0 ; Et Passe en mode indéterminé lorsque progress > 1.
On Linux platform, only supports Unity desktop environment, you need to specify
the *.desktop
file name to desktopName
field in package.json
. By default,
it will assume {app.name}.desktop
.
Sous Windows, un mode peut être fournit. Accepted values are none
, normal
,
indeterminate
, error
, and paused
. If you call setProgressBar
without a
mode set (but with a value within the valid range), normal
will be assumed.
win.setOverlayIcon(overlay, description)
Windows
overlay
NativeImage | null - the icon to display on the bottom right corner of the taskbar icon. If this parameter isnull
, the overlay is cleareddescription
string - a description that will be provided to Accessibility screen readers
Définit un overlay de 16 x 16 pixels sur l'icône actuelle de la barre des tâches, ceci est généralement utilisé pour transmettre une sorte de statut d'application ou pour notifier passivement l'utilisateur.
win.invalidateShadow()
macOS
Invalide l’ombre de fenêtre afin qu’elle soit recalculée en fonction de la forme de fenêtre actuelle.
BaseWindow
s that are transparent can sometimes leave behind visual artifacts on macOS.
Cette méthode peut être utilisée pour effacer ces artefacts lorsque, par exemple, une animation est réalisée.
win.setHasShadow(hasShadow)
hasShadow
boolean
Définit si la fenêtre doit être ombrée ou non.
win.hasShadow()
Returns boolean
- Whether the window has a shadow.
win.setOpacity(opacity)
Windows macOS
opacity
number - between 0.0 (fully transparent) and 1.0 (fully opaque)
Définit l'opacité de la fenêtre. N'a aucun effet sous Linux. Les valeurs hors de limite sont restreintes dans la plage [0, 1].
win.getOpacity()
Returns number
- between 0.0 (fully transparent) and 1.0 (fully opaque). Sur
Linux, renvoie toujours 1.
win.setShape(rects)
Windows Linux Experimental
rects
Rectangle[] - Sets a shape on the window. Le passage d'une liste vide fait revenir la fenêtre à la forme rectangulaire.
Définir une forme de fenêtre détermine la zone dans la fenêtre où le système permet de dessiner et d'interagir avec l'utilisateur. En dehors de la région donnée, aucun pixel ne sera dessiné et aucun événement de souris ne sera enregistré. Les événements de souris en dehors de la région ne seront pas reçus par cette fenêtre, mais seront transmis à tout ce qui se trouve derrière la fenêtre.
win.setThumbarButtons(buttons)
Windows
buttons
ThumbarButton[]
Returns boolean
- Whether the buttons were added successfully
Ajouter une barre d'outils miniature avec un ensemble de boutons spécifié à l'image de miniature
d'une fenêtre dans la disposition d'un bouton de la barre des tâches. Returns a boolean
object indicates
whether the thumbnail has been added successfully.
Le nombre de boutons dans la barre d'outils miniature ne doit pas dépasser 7 en raison de l'espace limité disponible. Une fois que vous avez configuré la barre d'outils miniature, la barre d'outils ne peut pas être retirée en raison de limitation de la plateforme. Mais vous pouvez appeler l'API avec un tableau vide pour supprimer les boutons.
The buttons
is an array of Button
objects:
Button
Objecticon
NativeImage - The icon showing in thumbnail toolbar.click
Functiontooltip
string (optional) - The text of the button's tooltip.flags
string[] (optional) - Control specific states and behaviors of the button. By default, it is['enabled']
.
The flags
is an array that can include following string
s:
enabled
- The button is active and available to the user.disabled
- The button is disabled. It is present, but has a visual state indicating it will not respond to user action.dismissonclick
- When the button is clicked, the thumbnail window closes immediately.nobackground
- Do not draw a button border, use only the image.hidden
- The button is not shown to the user.noninteractive
- The button is enabled but not interactive; no pressed button state is drawn. This value is intended for instances where the button is used in a notification.
win.setThumbnailClip(region)
Windows
region
Rectangle - Region of the window
Définit la région de la fenêtre à afficher comme image de miniature affichée lors
du survol de la fenêtre dans la barre des tâches. You can reset the thumbnail to be
the entire window by specifying an empty region:
{ x: 0, y: 0, width: 0, height: 0 }
.
win.setThumbnailToolTip(toolTip)
Windows
toolTip
string
Définit l'infobulle qui s'affiche en survolant la vignette de la fenêtre dans la barre des tâches.
win.setAppDetails(options)
Windows
Définit les propriétés du bouton de la barre des tâches de la fenêtre.
Note: relaunchCommand
and relaunchDisplayName
must always be set
together. Si l'une de ces propriétés n'est pas définie, aucune d'elles ne sera utilisable.
win.setIcon(icon)
Windows Linux
icon
NativeImage | string
Change l'icône de la fenêtre.
win.setWindowButtonVisibility(visible)
macOS
visible
boolean
Définit si les boutons feux de circulation de la fenêtre doivent être visibles.
win.setAutoHideMenuBar(hide)
Windows Linux
hide
boolean
Définit si la barre de menus de la fenêtre doit se cacher automatiquement. Once set the
menu bar will only show when users press the single Alt
key.
If the menu bar is already visible, calling setAutoHideMenuBar(true)
won't hide it immediately.
win.isMenuBarAutoHide()
Windows Linux
Returns boolean
- Whether menu bar automatically hides itself.
win.setMenuBarVisibility(visible)
Windows Linux
visible
boolean
Définit si la barre de menu doit être visible. If the menu bar is auto-hide, users can still bring up the menu bar by pressing the single Alt
key.
win.isMenuBarVisible()
Windows Linux
Returns boolean
- Whether the menu bar is visible.
win.setVisibleOnAllWorkspaces(visible[, options])
macOS Linux
visible
boolean
Définit si la fenêtre doit être visible sur tous les espaces de travail.
Note: This API does nothing on Windows.
win.isVisibleOnAllWorkspaces()
macOS Linux
Returns boolean
- Whether the window is visible on all workspaces.
Note: This API always returns false on Windows.
win.setIgnoreMouseEvents(ignore[, options])
ignore
boolean
Fait que la fenêtre ignore tous les événements de la souris.
Tous les événements survenus dans cette fenêtre seront transmis à la fenêtre sous cette fenêtre, mais si cette fenêtre a le focus, elle recevra toujours les événements du clavier .
win.setContentProtection(enable)
macOS Windows
enable
boolean
Empêche le contenu de la fenêtre d'être capturé par d'autres applications.
Sous macOS, cela attribue la valeurNSWindowSharingNone au type de partage de NSWindows .
On Windows it calls SetWindowDisplayAffinity with WDA_EXCLUDEFROMCAPTURE
.
For Windows 10 version 2004 and up the window will be removed from capture entirely,
older Windows versions behave as if WDA_MONITOR
is applied capturing a black window.
win.setFocusable(focusable)
macOS Windows
focusable
boolean
Fait que la fenêtre peut prendre ou non le focus.
Sur macOS, ne supprime pas le focus de la fenêtre.
win.isFocusable()
macOS Windows
Returns boolean
- Whether the window can be focused.
win.setParentWindow(parent)
parent
BaseWindow | null
Sets parent
as current window's parent window, passing null
will turn
current window into a top-level window.
win.getParentWindow()
Returns BaseWindow | null
- The parent window or null
if there is no parent.
win.getChildWindows()
Returns BaseWindow[]
- All child windows.
win.setAutoHideCursor(autoHide)
macOS
autoHide
boolean
Contrôle s'il faut masquer le curseur lors de la saisie.
win.selectPreviousTab()
macOS
Sélectionne l'onglet précédent lorsque les onglets natifs sont activés et qu'il y a d'autres onglets dans la fenêtre.
win.selectNextTab()
macOS
Sélectionne l'onglet suivant lorsque les onglets natifs sont activés et qu'il y a d'autres onglets dans la fenêtre.
win.showAllTabs()
macOS
Affiche ou masque la vue d’ensemble des onglets natifs lorsque ceux-ci sont activés.
win.mergeAllWindows()
macOS
Fusionne toutes les fenêtres en une seule fenêtre avec plusieurs onglets lorsque les onglets natifs sont activés et qu'il y a plus d'une fenêtre ouverte.
win.moveTabToNewWindow()
macOS
Déplace l'onglet actuel dans une nouvelle fenêtre si les onglets natifs sont activés et qu'il y a plus d'un onglet dans la fenêtre actuelle.
win.toggleTabBar()
macOS
Active/désactive la visibilité de la barre d’onglets si les onglets natifs sont activés et qu'il n’y a qu’un seul onglet dans la fenêtre actuelle.
win.addTabbedWindow(baseWindow)
macOS
baseWindow
BaseWindow
Ajoute une fenêtre sous la forme d'un onglet après l'onglet de l'instance de fenêtre.
win.setVibrancy(type)
macOS
type
string | null - Can betitlebar
,selection
,menu
,popover
,sidebar
,header
,sheet
,window
,hud
,fullscreen-ui
,tooltip
,content
,under-window
, orunder-page
. See the macOS documentation for more details.
Adds a vibrancy effect to the window. Passing null
or an empty string
will remove the vibrancy effect on the window.
win.setBackgroundMaterial(material)
Windows
material
stringauto
- Let the Desktop Window Manager (DWM) automatically decide the system-drawn backdrop material for this window. C'est le comportement par défaut.none
- Don't draw any system backdrop.mica
- Draw the backdrop material effect corresponding to a long-lived window.acrylic
- Draw the backdrop material effect corresponding to a transient window.tabbed
- Draw the backdrop material effect corresponding to a window with a tabbed title bar.
Cette méthode définit l'arrière-plan de la fenêtre du navigateur, y compris derrière la zone non-client.
See the Windows documentation for more details.
Note: This method is only supported on Windows 11 22H2 and up.
win.setWindowButtonPosition(position)
macOS
position
Point | null
Définit une position personnalisée pour les boutons de feux de signalisation dans une fenêtre sans cadre.
Passing null
will reset the position to default.
win.getWindowButtonPosition()
macOS
Returns Point | null
- The custom position for the traffic light buttons in
frameless window, null
will be returned when there is no custom position.
win.setTouchBar(touchBar)
macOS
touchBar
TouchBar | null
Définit la disposition de la touchBar pour la fenêtre actuelle. Specifying null
or
undefined
clears the touch bar. Cette méthode n'a d'effet que si la machine
a une touch bar.
Note: The TouchBar API is currently experimental and may change or be removed in future Electron releases.
win.setTitleBarOverlay(options)
Windows Linux
On a Window with Window Controls Overlay already enabled, this method updates the style of the title bar overlay.
On Linux, the symbolColor
is automatically calculated to have minimum accessible contrast to the color
if not explicitly set.