app
Contrôle le cycle de vie des événements de votre application.
Processus : Main
L’exemple suivant montre comment quitter l’application lorsque la dernière fenêtre est fermée :
const { app } = require('electron')
app.on('window-all-closed', () => {
app.quit()
})
Événements
L'objet app
émet les événements suivants :
Événement : 'will-finish-launching'
Émis lorsque l'application a terminé son démarrage de base. Sur Windows et Linux, l'événement will-finish-launching
est le même que l'événement ready
. Sur macOS, cet événement représente la notification applicationWillFinishLaunching
de NSApplication
. Vous allez habituellement mettre en place des listeners pour les événements open-file
et open-url
ici, et lancer le reporteur d'incident et la mise à jour automatique.
Dans la plupart des cas, vous devriez pouvoir tout faire dans l'évènement ready
.
Événement : 'ready'
Retourne :
event
EventlaunchInfo
Record<string, any> | NotificationResponse macOS
Émis lorsqu'Electron a terminé l’initialisation. On macOS, launchInfo
holds the userInfo
of the NSUserNotification
or information from UNNotificationResponse
that was used to open the application, if it was launched from Notification Center. You can also call app.isReady()
to check if this event has already fired and app.whenReady()
to get a Promise that is fulfilled when Electron is initialized.
Événement : 'window-all-closed'
Émis lorsque toutes les fenêtres ont été fermées.
Si vous n'être pas abonné à cet événement et que toutes les fenêtres sont fermées, le comportement par défaut consiste à quitter l'application. Toutefois, si vous vous abonnez, vous pouvez contrôler le fait que l'application se ferme ou non. Si l'utilisateur appuie sur Cmd + Q
, ou le développeur appelle app.quit()
, Electron essaie d'abord de fermer toutes les fenêtres et puis émet l'événement will-quit
et dans ce cas, l'événement window-all-closed
ne sera pas émis.
Événement : 'before-quit'
Retourne :
event
Event
Émis avant que l'application ne commence à fermer ses fenêtres. Appeler event.preventDefault()
empêchera le comportement par défaut, qui est de terminer l'application.
Remarque : Si l'application a été quittée par autoUpdater.quitAndInstall()
, puis before-quit
est émise après émettant un événement close
sur toutes les fenêtres et les fermant.
Note: Sous Windows, cet événement ne sera pas émit si l'application est fermée à cause d'un extinction du système/re-démarrage ou une déconnexion de l'utilisateur.
Événement : 'will-quit'
Retourne :
event
Event
Émis lorsque toutes les fenêtres ont été fermées et que l'application va se fermer. Appeler event.preventDefault()
empêchera le comportement par défaut, qui est de terminer l'application.
Consultez la description de l’événement window-all-closed
pour voir les différences entre les événements will-quit
et window-all-closed
.
Note: Sous Windows, cet événement ne sera pas émit si l'application est fermée à cause d'un extinction du système/re-démarrage ou une déconnexion de l'utilisateur.
Événement : 'quit'
Retourne :
event
EventexitCode
Integer
Émis lorsque l'application se quitte.
Note: Sous Windows, cet événement ne sera pas émit si l'application est fermée à cause d'un extinction du système/re-démarrage ou une déconnexion de l'utilisateur.
Événement : 'open-file' macOS
Retourne :
event
Eventpath
string
Émis lorsque l’utilisateur souhaite ouvrir un fichier avec l’application. L’événement open-file
est habituellement émis lorsque l’application est déjà ouvert et le système d’exploitation souhaite réutiliser l’application pour ouvrir le fichier. open-file
est également émis lorsqu’un fichier est déposé sur le dock et l’application n’est pas encore en cours d’exécution. Assurez-vous d’écouter l’événement open-file
très tôt dans le démarrage votre l’application pour gérer ce cas (même avant que l’événement ready
soit émis).
Vous devrez appeler event.preventDefault()
si vous souhaitez gérer cet événement.
Sur Windows, vous devrez analyser process.argv
(dans le main process) pour obtenir le chemin d'accès.
Événement : 'open-url' macOS
Retourne :
event
Eventurl
string
Émis lorsque l’utilisateur souhaite ouvrir une URL avec l’application. Le fichier de votre application Info.plist
doit définir le schéma d'URL dans la touche CFBundleURLTypes
et définir NSPrincipalClass
à AtomApplication
.
Vous devrez appeler event.preventDefault()
si vous souhaitez gérer cet événement.
Événement : 'activate' macOS
Retourne :
event
EventhasVisibleWindows
boolean
Émis lorsque l'application est activée. Différentes actions peuvent déclencher cet événement, comme le lancement de l’application pour la première fois, essayer de relancer l’application lorsqu’elle est déjà en cours d’exécution, ou en cliquant sur l'icône du dock de l’application ou de l’icône de la barre des tâches.
Événement : 'did-become-active' macOS
Retourne :
event
Event
Émis lorsque l'application est activée. Contrairement à l'événement activate
, l'événement did-become-active
est émit à chaque fois que l'application devient active, et pas seulement sur l'icône du Dock de l'application ou quand l'application est relancée.
Événement : 'continue-activity' macOS
Retourne :
event
Eventtype
string - A string identifying the activity. Mappé surNSUserActivity.activityType
.userInfo
inconnu - Contient l'état spécifique de l'application stocké par l'activité sur un autre appareil.- Objet
details
webpageURL
string (optional) - A string identifying the URL of the webpage accessed by the activity on another device, if available.
Émis au cours de la procédure de transfert quand une activité depuis un périphérique différent veut reprendre. Vous devrez appeler event.preventDefault()
si vous souhaitez gérer cet événement.
Une activité d'utilisateur peut être poursuivie seulement dans une application qui a le même identifiant d'équipe développeur que l'application d'origine de la source d'activité et qui prend en charge le type d'activité. La prise en charge d’activité types est spécifiée dans le Info.plist
de l'application sous la clé NSUserActivityType
.
Événement: 'wil-continue-activity' macOS
Retourne :
event
Eventtype
string - A string identifying the activity. Mappé surNSUserActivity.activityType
.
Émis au cours de la procédure de transfert quand une activité depuis un périphérique différent veut reprendre. Vous devrez appeler event.preventDefault()
si vous souhaitez gérer cet événement.
Événement : 'continue-activity-error' macOS
Retourne :
event
Eventtype
string - A string identifying the activity. Mappé surNSUserActivity.activityType
.error
string - A string with the error's localized description.
Émis au cours de la procédure de transfert quand une activité depuis un périphérique différent n'arrive pas à reprendre.
Événement : 'activity-was-continued' macOS
Retourne :
event
Eventtype
string - A string identifying the activity. Mappé surNSUserActivity.activityType
.userInfo
inconnu - Contient l'état spécifique de l'application stocké par l'activité.
Émis au cours de la procédure de transfertaprès qu'une activité depuis un périphérique différent a bien repris.
Événement : 'update-activity-state' macOS
Retourne :
event
Eventtype
string - A string identifying the activity. Mappé surNSUserActivity.activityType
.userInfo
inconnu - Contient l'état spécifique de l'application stocké par l'activité.
Émis lorsque la procédure de transfert va être repris par un autre appareil. Si vous avez besoin de mettre à jour l'état à transférer, vous devez appeler event.preventDefault()
immédiatement, construire un nouveau dictionnaire userInfo
et appeler app.updateCurrentActivity()
en suivant. Sinon, l'opération échouera et continue-activity-error
sera appelée.
Événement : 'new-window-for-tab' macOS
Retourne :
event
Event
Émis lorsque l'utilisateur clique sur le bouton natif de nouvel onglet de macOS. Le bouton de nouvel onglet n'est visible que si la BrowserWindow actuelle
possède un tabbingIdentifier
Événement : 'browser-window-blur'
Retourne :
event
Eventwindow
BrowserWindow
Émis lorsqu'un browserWindow perd le focus.
Événement : 'browser-window-focus'
Retourne :
event
Eventwindow
BrowserWindow
Émis lorsqu'un browserWindow gagne le focus.
Événement : 'browser-window-created'
Retourne :
event
Eventwindow
BrowserWindow
Émis lorsqu'un nouveau browserWindow est créé.
Événement : 'web-contents-created'
Retourne :
event
EventwebContents
WebContents
Émis lorsqu'un nouveau webContents est créé.
Événement 'certificate-error'
Retourne :
event
EventwebContents
WebContentsurl
stringerror
string - The error codecertificate
Certificatecallback
FunctionisTrusted
boolean - Whether to consider the certificate as trusted
isMainFrame
boolean
Émis lorsque la vérification du certificate
pour l'url
a échouée. Pour approuver le certificat, vous devez empêcher le comportement par défaut avec event.preventDefault()
et appeler callback(true)
.
const { app } = require('electron')
app.on('certificate-error', (event, webContents, url, error, certificate, callback) => {
if (url === 'https://github.com') {
// Logique de vérification.
event.preventDefault()
callback(true)
} else {
callback(false)
}
})
Événement : 'select-client-certificate'
Retourne :
event
EventwebContents
WebContentsurl
URLcertificateList
Certificate[]callback
Functioncertificate
Certificate (facultatif)
Émis lorsqu'un certificat client est demandé.
L' url
correspondant à l’entrée de navigation demande le certificat client et le callback
peut être appelée avec une entrée filtrée dans la liste. L’utilisation de event.preventDefault()
empêche l’application d’utiliser le premier certificat du store.
const { app } = require('electron')
app.on('select-client-certificate', (event, webContents, url, list, callback) => {
event.preventDefault()
callback(list[0])
})
Événement : 'login'
Retourne :
event
EventwebContents
WebContents- Objet
authenticationResponseDetails
url
URL
- Objet
authInfo
isProxy
booleanscheme
stringhost
stringport
Integerrealm
string
callback
Functionusername
string (optional)password
string (optional)
Émis lorsque webContents
veut faire une authentification normale.
Le comportement par défaut est d'annuler toutes les authentifications. Pour remplacer cela vous devez empêcher le comportement par défaut avec event.preventDefault()
et appeler callback(username, password)
avec les identifiants.
const { app } = require('electron')
app.on('login', (event, webContents, details, authInfo, callback) => {
event.preventDefault()
callback('username', 'secret')
})
Si callback
est appelé sans nom d'utilisateur ou mot de passe, la demande d'authentification sera annulée et l'erreur d'authentification sera renvoyée à la page .
Événement : 'gpu-info-update'
Émis chaque fois qu'il y a une mise à jour d'informations GPU.
Événement : 'gpu-process-crashed' Deprecated
Retourne :
event
Eventkilled
boolean
Émis lorsque le processus GPU plante ou est tué.
Deprecated: Cet événement est remplacé par l'événement child-process-gone
qui contient plus d'informations à propos de la raison du plantage du processus enfant. Ceci n'est pas toujours causé par un plantage. Le booléen killed
peut être remplacé par la vérification de reason === 'killed'
lorsque vous passez à l'utilisation de cet événement.
Événement : 'renderer-process-crashed' Deprecated
Retourne :
event
EventwebContents
WebContentskilled
boolean
Émis lorsque le processus de rendu de webContents
plante ou est tué.
Deprecated: Cet événement est remplacé par l'événement render-process-gone
qui contient plus d'informations à propos de la raison du plantage du processus enfant. Ceci n'est pas toujours causé par un plantage. Le booléen killed
peut être remplacé par la vérification de reason === 'killed'
lorsque vous passez à l'utilisation de cet événement.
Événement : 'render-process-gone'
Retourne :
event
EventwebContents
WebContents- Objet
details
reason
string - The reason the render process is gone. Valeurs possibles :- `` de sortie propre - Processus s'est terminé avec le code de sortie zéro
anormal-exit
- Le Processus s'est terminé avec un code de sortie différent de zérokilled
- Le processus a reçu un SIGTERM ou a été tué autrement de l'extérieurcrashed
- Processus s'est plantéoom
- Le processus est tombé à cours de mémoirelaunch-failed
- Le processus ne s'est pas lancé avec succèsintegrity-failure
- Les vérifications d'intégrité du code Windows ont échouées
exitCode
Integer - Le code de sortie du proces, sauf sireason
estlaunch-failed
, dans ce cas làexitCode
sera specifique per plateforme.
Émis lorsque le processus de rendu plante de manière inattendue. C'est normalement dans les cas où il s'est planté ou qu'il a été tué.
Événement : 'child-process-gone'
Retourne :
event
Event- Objet
details
type
string - Process type. Une des valeurs suivantes:Utility
Zygote
Sandbox helper
GPU
Pepper Plugin
Pepper Plugin Broker
Unknown
reason
string - The reason the child process is gone. Valeurs possibles :- `` de sortie propre - Processus s'est terminé avec le code de sortie zéro
anormal-exit
- Le Processus s'est terminé avec un code de sortie différent de zérokilled
- Le processus a reçu un SIGTERM ou a été tué autrement de l'extérieurcrashed
- Processus s'est plantéoom
- Le processus est tombé à cours de mémoirelaunch-failed
- Le processus ne s'est pas lancé avec succèsintegrity-failure
- Les vérifications d'intégrité du code Windows ont échouées
exitCode
number - The exit code for the process (e.g. status from waitpid if on posix, from GetExitCodeProcess on Windows).serviceName
string (optional) - The non-localized name of the process.name
string (optional) - The name of the process. Exemples pour l'utilitaire :Audio Service
,Content Decryption Module Service
,Network Service
,Video Capture
, etc.
Émis lorsque le processus enfant plante de manière inattendue. C'est normalement dans les cas où il s'est planté ou qu'il a été tué. Cela n'inclut pas le processus de rendu.
Événement : 'accessibility-support-changed' macOS Windows
Retourne :
event
EventaccessibilitySupportEnabled
boolean -true
when Chrome's accessibility support is enabled,false
otherwise.
Émis lorsque le support de l’accessibilité du Chrome change. Cet événement se déclenche lorsque les technologies d’assistance, tels que les lecteurs d’écran sont activés ou désactivés. Voir https://www.chromium.org/developers/design-documents/accessibility pour plus de détails.
Évènement : 'session-created'
Retourne :
session
Session
Émis lorsque Electron vient de créer une nouvelle session
.
const { app } = require('electron')
app.on('session-created', (session) => {
console.log(session)
})
Évènement : 'second-instance'
Retourne :
event
Eventargv
string[] - An array of the second instance's command line argumentsworkingDirectory
string - The second instance's working directoryadditionalData
unknown - A JSON object of additional data passed from the second instance
Cet événement sera émis dans l'instance principale de votre application quand une seconde instance a été exécutée et appelle app.requestSingleInstanceLock()
.
argv
est un tableau des arguments de la ligne de commande de la seconde instance, et workingDirectory
est son répertoire de travail actuel. Les applications répondent habituellement à cela en faisant de leur fenêtre principale, une fenêtre centrée et non réduite au minimum.
Note: Si la seconde instance a été lancée par un utilisateur différent du premier, le tableau argv
ne va pas inclure les arguments.
Cet évènement est garanti d'être émis après que l'évènement ready
de app
soit émis.
remarque : des arguments de ligne de commande supplémentaires peuvent être ajoutés par Chromium, tels que --original-process-start-time
.
Méthodes
L'objet app
dispose des méthodes suivantes :
Remarque : Certaines méthodes sont seulement disponibles sur des systèmes d'exploitation spécifiques et sont étiquetés comme tels.
app.quit()
Essayez de fermer toutes les fenêtres. L’événement before-quit
sera émis d’abord. Si toutes les fenêtres sont fermées avec succès, l’événement will-quit
sera émis et mettra fin à l’application par défaut.
Cette méthode garantit que tous les écouteurs d’événements de beforeunload
et unload
seront correctement exécutées. Il est possible qu’une fenêtre annule la fermeture en retournant false
dans l'écouteur d’événement beforeunload
.
app.exit([exitCode])
exitCode
Integer (facultatif)
Sort immédiatement avec exitCode
. exitCode
est par défaut à 0.
Toutes les fenêtres seront fermées immédiatement sans demander à l'utilisateur, et les événements before-quit
et will-quit
ne seront pas émis.
app.relaunch([options])
Relance l’application lorsque l’instance en cours se termine.
Par défaut, la nouvelle instance utilisera le même répertoire de travail et les mêmes arguments de la ligne de commande avec l'instance actuelle. Si args
est spécifié, args
sera passé comme argument de ligne de commande à la place. Lorsque execPath
est spécifié, execPath
sera exécuté pour redémarrer à la de l’application actuelle.
Notez bien que cette méthode ne ferme pas l'application, vous devez appeler app.quit
ou app.exit
après avoir appelé app.relaunch
pour faire redémarrer votre application.
Quand app.relaunch
est appelé plusieurs fois, plusieurs instances vont être appelées après que l'instance actuelle soit fermée.
Voici un exemple qui redémarre une nouvelle instance immédiatement en ajoutant un nouvel argument de ligne de commande à la nouvelle instance :
const { app } = require('electron') app.relaunch({ args: process.argv.slice(1).concat(['--relaunch']) }) app.exit(0)
app.isReady()
Returns boolean
- true
if Electron has finished initializing, false
otherwise. Voir également app.whenReady()
.
app.whenReady()
Returns Promise<void>
- Remplie quand Electron est initialisé. Peut astucieusement remplacer la vérification de app.isReady()
et l'abonnement à l'événement ready
si l'application n'est pas encore prête.
app.focus([options])
Sous Linux, donne le focus à la première fenêtre visible. Sur macOS, fait de l'application l'application active. Sous Windows, donne le focus à la première fenêtre de l'application.
Il vaut mieux utiliser l'option steal
aussi parcimonieusement que possible.
app.hide()
macOS
Masque toutes les fenêtres de l'application sans les minimiser.
app.show()
macOS
Affiche les fenêtres de l'application après qu'elles aient été occultées. Ne leur pas automatiquement le focus. .
chemin app.setAppLogsPath([path])
path
string (optional) - A custom path for your logs. Doit être absolu.
Définit ou crée un répertoire qui peut être manipulé par app.getPath()
ou app.setPath(pathName, newPath)
.
Calling app.setAppLogsPath()
without a path
parameter will result in this directory being set to ~/Library/Logs/YourAppName
on macOS, and inside the userData
directory on Linux and Windows.
app.getAppPath()
Returns string
- The current application directory.
app.getPath(name)
name
string - You can request the following paths by the name:home
Répertoire d'accueil de l'utilisateur.appData
Répertoire de données par utilisateur de l'application, pointant par défaut sur:%APPDATA%
sur Windows$XDG_CONFIG_HOME
ou~/.config
sur Linux~/Library/Application Support
sur macOS
userData
Le dossier pour stocker les fichiers de configuration de votre application, qui par défaut est le dossierappData
avec le nom de votre application.cache
temp
Dossier temporaire.exe
Le fichier exécutable actuel.module
La bibliothèque delibchromiumcontent
.desktop
Le dossier du Bureau de l’utilisateur actuel.documents
Dossier "Mes Documents" d'un utilisateur.downloads
Dossier pour les téléchargements de l’utilisateur.music
Dossier de musique de l’utilisateur.pictures
Dossier des images de l’utilisateur.videos
Dossier des vidéos de l’utilisateur.recent
Dossier des fichiers récents de l'utilisateur (Windows seulement).logs
Répertoire du dossier de log de votre application.crashDumps
Dossier où les rapports d'incidents sont stockés.
Returns string
- A path to a special directory or file associated with name
. En cas d'échec, une Error
sera levée.
Si app.getPath('logs')
est appelé sans que app.setAppLogsPath()
soit appelé en premier, un répertoire de logs par défaut sera créé équivalent à un appel app.setAppLogsPath()
sans paramètre path
.
app.getFileIcon(path[, options])
path
string
Returns Promise<NativeImage>
- fulfilled with the app's icon, which is a NativeImage.
Récupère une icône associée à un chemin.
On Windows, there a 2 kinds of icons:
- Icônes associées à certaines extensions de fichier, comme
.mp3
,.png
, etc. - Icônes à l’intérieur du fichier lui-même, comme les
.exe
,.dll
,.ico
.
On Linux and macOS, icons depend on the application associated with file mime type.
app.setPath(name, path)
name
stringpath
string
Remplace le chemin path
par un répertoire spécial ou un fichier associé à name
. Si le chemin spécifie un répertoire qui n'existe pas, une Erreur
est levée. Dans ce cas, le répertoire doit être créé avec fs.mkdirSync
ou similaire.
Vous pouvez remplacer uniquement les chemins d’un name
défini dans app.getPath
.
Par défaut, les cookies et la cache des pages web seront stockés dans le répertoire userData
. Si vous voulez changer cet emplacement, vous devez remplacer le chemin userData
avant que l'événement ready
du module app
soit émis.
app.getVersion()
Returns string
- The version of the loaded application. Si aucune version n'est trouvée dans le fichier package.json
de l'application, la version du bundle courant ou de l'exécutable est renvoyée.
app.getName()
Returns string
- The current application's name, which is the name in the application's package.json
file.
Habituellement, le champ name
de package.json
est un nom court en minuscule, selon la spécification des modules npm. Vous devriez dans la plupart des cas renseigner également un champ productName
, qui contient le nom complet et capitalisé de votre application, et qui sera préféré à name
par Electron.
app.setName(name)
name
string
Remplace le nom de l'application actuelle.
Note: This function overrides the name used internally by Electron; it does not affect the name that the OS uses.
app.getLocale()
Returns string
- The current application locale, fetched using Chromium's l10n_util
library. Les valeurs de retour possibles sont documentées ici.
To set the locale, you'll want to use a command line switch at app startup, which may be found here.
Note: When distributing your packaged app, you have to also ship the locales
folder.
Note: On Windows, you have to call it after the ready
events gets emitted.
app.getLocaleCountryCode()
Returns string
- User operating system's locale two-letter ISO 3166 country code. La valeur est tirée des API natives d'OS.
Note: When unable to detect locale country code, it returns empty string.
app.addRecentDocument(path)
macOS Windows
path
string
Ajoute le path
à la liste des documents récents.
Cette liste est gérée par l'OS. Cette liste est gérée par l'Os. Sous Windows, vous pouvez scruter la liste à partir de la barre des tâches et sur macOS à partir du menu du dock.
app.clearRecentDocuments()
macOS Windows
Efface la liste des documents récents.
app.setAsDefaultProtocolClient(protocol[, path, args])
protocol
string - The name of your protocol, without://
. Par exemple, si vous souhaitez que votre application gère les lienselectron://
, appelez cette méthode avecelectron
comme paramètre.path
string (facultatif) Windows -Chemin vers l'exécutable d'Electron. Par défautprocess.execPath
args
string[] (facultatif) Windows - Arguments transmis à l'exécutable. Par défaut, un tableau vide
Returns boolean
- Si l'appel a réussi.
Définit l'exécutable courant comme gestionnaire par défaut pour un protocole (alias le schéma URI). Il vous permet d'intégrer votre application plus profondément dans le système d'exploitation. Une fois enregistré, tous les liens avec votre-protocole://
seront ouverts avec l'exécutable courant. L'ensemble du lien, y compris le protocole, sera transmis à votre application comme paramètre.
Remarque: Sur macOS, vous ne pouvez enregistrer que les protocoles qui ont été ajoutés à votre application info.plist
, qui ne peut pas être modifié au moment de l'exécution. Cependant, vous pouvez changer le fichier pendant la construction via Electron Forge, Electron Packager, ou en modifiant info.plist
avec un éditeur de texte. Veuillez vous référer à la documentation d'Apple pour plus de détails.
Remarque : Dans un environnement Windows Store (lorsque empaqueté en tant qu'appx
) cette API retournera true
pour tous les appels, mais la clé de registre qu'elle définit ne sera pas accessible par d'autres applications. Afin d'enregistrer votre application Windows Store comme gestionnaire de protocole par défaut, vous devez déclarer le protocole dans votre manifest.
L'API utilise le registre Windows et LSSetDefaultHandlerForURLScheme
en interne.
app.removeAsDefaultProtocolClient(protocol[, path, args])
macOS Windows
protocol
string - The name of your protocol, without://
.path
string (facultatif) Windows -process.execPath
par défautargs
string[] (facultatif) Windows - Un tableau vide par défaut
Returns boolean
- Si l'appel a réussi.
Cette méthode vérifie si l'exécutable courant est le gestionnaire par défaut pour un protocole (aka le schéma URI). Si c'est le cas, cela supprimera l'application comme gestionnaire par défaut.
app.isDefaultProtocolClient(protocol[, path, args])
protocol
string - The name of your protocol, without://
.path
string (facultatif) Windows -process.execPath
par défautargs
string[] (facultatif) Windows - Un tableau vide par défaut
Retourne boolean
- Si l'exécutable actuel et le gestionnaire par défaut d'un protocole (schéma URI).
Remarque: Sur macOS, vous pouvez utiliser cette méthode pour vérifier si l'application a bien été enregistré comme gestionnaire de protocole par défaut pour un protocole. Vous pouvez également confirmer cela en vérifiant ~/Library/Preferences/com.apple.LaunchServices.plist
sur votre machine macOS. Veuillez vous référer à la documentation d'Apple pour plus de détails.
L'API utilise le registre Windows et LSCopyDefaultHandlerForURLScheme
en interne.
app.getApplicationNameForProtocol(url)
url
string - une URL avec le nom du protocole à vérifier. Contrairement aux autre méthodes de cette famille, celle-ci accepte un URL en entier, y compris://
au minimum (par exemple :https://
).
Retourne string
- Nom de l'application qui gère le protocole, ou un <0>String</0> vide s'il n'y a pas de gestionnaire. Par exemple, si Electron est le gestionnaire par défaut de l'URL, il pourrait s'agit de Electron
sur Windows et Mac. Par contre, ne vous fiez pas au format précis qui ne garantit pas de ne pas changer. Attendez-vous à un format différent sur Linux, probablement avec un préfixe .desktop
.
Cette méthode retourne le nom de l'application du gestionnaire par défaut pour le protocole d'une URL (schéma d'URI).
app.getApplicationInfoForProtocol(url)
macOS Windows
url
string - une URL avec le nom du protocole à vérifier. Contrairement aux autre méthodes de cette famille, celle-ci accepte un URL en entier, y compris://
au minimum (par exemple :https://
).
Retourne Promise<Object>
- Résoudre avec un objet contenant les éléments suivants :
icon
NativeImage - l’icône d’affichage de l’application qui gère le protocole.path
string - installation path of the app handling the protocol.name
string - nom complet de l’application qui gère le protocole.
This method returns a promise that contains the application name, icon and path of the default handler for the protocol (aka URI scheme) of a URL.
app.setUserTasks(tasks)
Windows
tasks
Task[] - Tableau d'objetsTask
Ajoute tâches
à la catégorie Tâches de la liste de sauts sur Windows.
tasks
est un tableau d’objets Task
.
Returns boolean
- Si l'appel a réussi.
Remarque : Si vous souhaitez personnaliser encore plus la JumpList, utilisez app.setJumpList(categories)
à la place.
app.getJumpListSettings()
Windows
Retourne Object
:
minItems
Integer - Le nombre minimum d'éléments qui seront affichés dans la JumpList (pour une description plus détaillée de cette valeur, voir les documentations MSDN).removedItems
JumpListItem[] - Tableau des objetsJumpListItem
qui correspondent aux éléments que l'utilisateur a explicitement retirés des catégories personnalisées dans la liste de saut de . Ces éléments ne doivent pas être ajoutés de nouveau à la JumpList dans l'appel suivant àapp.setJumpList()
, Windows n'affichera aucune catégorie personnalisée qui contient les éléments supprimés.
app.setJumpList(categories)
Windows
catégories
JumpListCategory[] |null
- Tableau d'objetsJumpListCategory
.
Retourne string
Définit ou supprime une JumpList personnalisée pour l'application et renvoie l'une des chaînes de caractères suivantes :
ok
- Tout s'est bien passé.error
- Une ou plusieurs erreurs se sont produites, activez la journalisation de la durée d'exécution pour déterminer la cause probable.invalidSeparatorError
- An attempt was made to add a separator to a custom category in the Jump List. Separators are only allowed in the standardTasks
category.fileTypeRegistrationError
- Tentative d'ajout d'un lien de fichier dans la JumpList pour un type de fichier que l'application n'est pas enregistrée pour gérer.customCategoryAccessDeniedError
- Les catégories personnalisées ne peuvent pas être ajoutées à la JumpList en raison de la confidentialité de l'utilisateur ou des paramètres de politique de groupe.
Si cetagories
est null
, la JumpList personnalisée précédemment définie (si existante) sera remplacée par la JumpList standard de l'application (gérée par Windows).
Remarque : Si un objet JumpListCategory
n'a ni de type
ni de propriété name
définie le type
est donc supposé être tasks
. Si la propriété name
est définie mais que le type
est omis, alors le type
est assumé être custom
.
Remarque : Les utilisateurs peuvent supprimer des éléments des catégories personnalisées, et Windows n'autorisera pas l'ajout d'un élément supprimé dans une catégorie personnalisée avant le prochain appel réussi à app.setJumpList(categories)
. Toute tentative de réajouter un élément supprimé à une catégorie personnalisée plus tôt, cela entraînera l'omission de toute la catégorie personnalisée dans la JumpList. La liste des éléments supprimés peut être obtenue à l'aide de app.getJumpListSettings()
.
Remarque: La longueur maximale de la propriété description
d’un élément d'une JumpList est de 260 caractères. Au-delà de cette limite, l'élément ne sera ni ajouté à la liste ni affiché.
Voici un exemple très simple de la création d'une JumpList personnalisé :
const { app } = require('electron')
app.setJumpList([
{
type: 'custom',
name: 'Recent Projects',
items: [
{ type: 'file', path: 'C:\\Projects\\project1.proj' },
{ type: 'file', path: 'C:\\Projects\\project2.proj' }
]
},
{ // has a name so `type` is assumed to be "custom"
name: 'Tools',
items: [
{
type: 'task',
title: 'Tool A',
program: process.execPath,
args: '--run-tool-a',
icon: process.execPath,
iconIndex: 0,
description: 'Runs Tool A'
},
{
type: 'task',
title: 'Tool B',
program: process.execPath,
args: '--run-tool-b',
icon: process.execPath,
iconIndex: 0,
description: 'Runs Tool B'
}
]
},
{ type: 'frequent' },
{ // has no name and no type so `type` is assumed to be "tasks"
items: [
{
type: 'task',
title: 'New Project',
program: process.execPath,
args: '--new-project',
description: 'Create a new project.'
},
{ type: 'separator' },
{
type: 'task',
title: 'Recover Project',
program: process.execPath,
args: '--recover-project',
description: 'Recover Project'
}
]
}
])
app.requestSingleInstanceLock([additionalData])
additionalData
Record<any, any> (optional) - A JSON object containing additional data to send to the first instance.
Retourne boolean
La valeur renvoyée par cette méthode indique si cette instance de votre application a obtenu le verrou ou non. S'il n'a pas réussi à obtenir le verrou vous pouvez supposer qu'une autre instance de votre application est déjà en cours d'exécution avec le verrou et quitter immédiatement.
I.e. This method returns true
if your process is the primary instance of your application and your app should continue loading. Elle renvoie false
si votre process devrait quitter immédiatement, puisqu'il a envoyé ses paramètres à une instance qui possède déjà le verrou.
Sur macOS, le système impose automatiquement une instance unique lorsque les utilisateurs essaient d'ouvrir une seconde instance de votre application dans Finder, et les événements open-file
et open-url
seront émis pour cela. Cependant, lorsque les utilisateurs démarrent votre application en ligne de commande , le mécanisme d'instance unique du système sera contourné, et vous devez utiliser cette méthode pour assurer une seule instance.
Un exemple d'activation de la fenêtre de l'instance primaire lorsqu'une seconde instance démarre :
const { app } = require('electron')
let myWindow = null
const additionalData = { myKey: 'myValue' }
const gotTheLock = app.requestSingleInstanceLock(additionalData)
if (!gotTheLock) {
app.quit()
} else {
app.on('second-instance', (event, commandLine, workingDirectory, additionalData) => {
// Print out data received from the second instance.
console.log(additionalData)
// Someone tried to run a second instance, we should focus our window.
if (myWindow) {
if (myWindow.isMinimized()) myWindow.restore()
myWindow.focus()
}
})
// Créer myWindow, charger le reste de l'app, etc...
app.whenReady().then(() => {
myWindow = createWindow()
})
}
app.hasSingleInstanceLock()
Retourne boolean
Cette méthode retourne un booléen indiquant si cette instance de votre application détient actuellement le verrou d'instance unique. Vous pouvez demander le verrou avec app.requestSingleInstanceLock()
et le débloquer avec app.releaseSingleInstanceLock()
app.releaseSingleInstanceLock()
Releases all locks that were created by requestSingleInstanceLock
. This will allow multiple instances of the application to once again run side by side.
app.setUserActivity(type, userInfo[, webpageURL])
macOS
type
string - Identifie de façon unique l'activité. Mappé surNSUserActivity.activityType
.userInfo
n'importe quel - état spécifique à l'application à stocker pour utilisation par un autre appareil.webpageURL
string (optional) - The webpage to load in a browser if no suitable app is installed on the resuming device. Le schéma doit êtrehttp
ouhttps
.
Créée un NSUserActivity
et le défini en tant qu'activité courante. Après cela, l'activité devient éligible à la fonction Handoff sur l'autre périphérique.
app.getCurrentActivityType()
macOS
Retourne string
- le type de l’activité en cours d’exécution.
app.invalidateCurrentActivity()
macOS
Invalide l'activité Handoff courante de l'utilisateur.
app.resignCurrentActivity()
macOS
Marque l'activité actuelle de l'utilisateur Handoff comme inactive sans l'invalider.
app.updateCurrentActivity(type, userInfo)
macOS
type
string - Identifie de façon unique l'activité. Mappé surNSUserActivity.activityType
.userInfo
n'importe quel - état spécifique à l'application à stocker pour utilisation par un autre appareil.
Modifie l'activité en cours si son type correspond à type
, en fusionnant les entrées de userInfo
dans son dictionnaire userInfo
courant.
app.setAppUserModelId(id)
Windows
id
string
Change le Application User Model ID à id
.
app.setActivationPolicy(policy)
macOS
policy
string - Can be 'regular', 'accessory', or 'prohibited'.
Sets the activation policy for a given app.
Activation policy types:
- 'regular' - The application is an ordinary app that appears in the Dock and may have a user interface.
- 'accessory' - The application doesn’t appear in the Dock and doesn’t have a menu bar, but it may be activated programmatically or by clicking on one of its windows.
- 'prohibited' - The application doesn’t appear in the Dock and may not create windows or be activated.
app.importCertificate(options, callback)
Linux
- Objet
options
certificate
string - Chemin pour le fichier pkcs12.password
string - La Passphrase pour le certificat.
callback
Functionresult
Integer - Résultat de l'importation.
Importe le certificat au format pkcs12 dans l'entrepôt de certificats de la plateforme. callback
est appelé avec le retour result
de l'opération d'import, une valeur 0
indique un succès alors que toute autre valeur signale un problème, telle que décrite par la net_error_list de Chromium.
app.configureHostResolver(options)
- Objet
options
enableBuiltInResolver
boolean (optional) - Whether the built-in host resolver is used in preference to getaddrinfo. When enabled, the built-in resolver will attempt to use the system's DNS settings to do DNS lookups itself. Enabled by default on macOS, disabled by default on Windows and Linux.secureDnsMode
string (optional) - Can be "off", "automatic" or "secure". Configure le mode DNS-overHTTP. When "off", no DoH lookups will be performed. When "automatic", DoH lookups will be performed first if DoH is available, and insecure DNS lookups will be performed as a fallback. When "secure", only DoH lookups will be performed. Par défaut, "automatique".secureDnsServers
string[] (optional) - A list of DNS-over-HTTP server templates. See RFC8484 § 3 for details on the template format. Most servers support the POST method; the template for such servers is simply a URI. Note that for some DNS providers, the resolver will automatically upgrade to DoH unless DoH is explicitly disabled, even if there are no DoH servers provided in this list.enableAdditionalDnsQueryTypes
boolean (optional) - Controls whether additional DNS query types, e.g. HTTPS (DNS type 65) will be allowed besides the traditional A and AAAA queries when a request is being made via insecure DNS. Has no effect on Secure DNS which always allows additional types. Defaults to true.
Configures host resolution (DNS and DNS-over-HTTPS). By default, the following resolvers will be used, in order:
- DNS-over-HTTPS, if the DNS provider supports it, then
- the built-in resolver (enabled on macOS only by default), then
- the system's resolver (e.g.
getaddrinfo
).
This can be configured to either restrict usage of non-encrypted DNS (secureDnsMode: "secure"
), or disable DNS-over-HTTPS (secureDnsMode:
"off"
). It is also possible to enable or disable the built-in resolver.
To disable insecure DNS, you can specify a secureDnsMode
of "secure"
. If you do so, you should make sure to provide a list of DNS-over-HTTPS servers to use, in case the user's DNS configuration does not include a provider that supports DoH.
app.configureHostResolver({
secureDnsMode: 'secure',
secureDnsServers: [
'https://cloudflare-dns.com/dns-query'
]
})
Cette API doit être appelée après l'émission de l'événement ready
.
app.disableHardwareAcceleration()
Désactive l'accélération matérielle pour l'application courante.
Cette méthode peut seulement être appelée avant que app soit prêt.
app.disableDomainBlockingFor3DAPIs()
By default, Chromium disables 3D APIs (e.g. WebGL) until restart on a per domain basis if the GPU processes crashes too frequently. Cette fonction désactive ce comportement.
Cette méthode peut seulement être appelée avant que app soit prêt.
app.getAppMetrics()
Retourne ProcessMetric[]
: Tableau d'objets ProcessMetric
correspondant aux statistiques d'utilisation de la mémoire et du processeur de tous les processus associés à l'application.
app.getGPUFeatureStatus()
Returns GPUFeatureStatus
- L'état des fonctions graphiques de chrome://gpu/
.
Remarque : Cette information n'est utilisable qu'après l'émission de l'événement gpu-info-update
.
app.getGPUInfo(infoType)
infoType
string - Peut êtrebasique
oucomplete
.
Retourne Promise<unknown>
Si infoType
vaut complete
: La Promise est remplie avec Object
contenant toutes les informations sur le GPU, comme pour l'objet GPUInfo de Chromium. Cela inclut les informations de version et driver montrées sur la page chrome://gpu
.
Si infoType
vaut basic
: La Promise est remplie avec Object
contenant moins d'attributs que si l'on utilise complete
. Voilà un exemple de réponse basique :
{
auxAttributes:
{
amdSwitchable: true,
canSupportThreadedTextureMailbox: false,
directComposition: false,
directRendering: true,
glResetNotificationStrategy: 0,
inProcessGpu: true,
initializationTime: 0,
jpegDecodeAcceleratorSupported: false,
optimus: false,
passthroughCmdDecoder: false,
sandboxed: false,
softwareRendering: false,
supportsOverlays: false,
videoDecodeAcceleratorFlags: 0
},
gpuDevice:
[{ active: true, deviceId: 26657, vendorId: 4098 },
{ active: false, deviceId: 3366, vendorId: 32902 }],
machineModelName: 'MacBookPro',
machineModelVersion: '11.5'
}
basic
devrait être priorisé si vous n'avez besoin que d'informations basiques telles que vendorId
ou driverId
.
app.setBadgeCount([count])
Linux macOS
count
Integer (optional) - If a value is provided, set the badge to the provided value otherwise, on macOS, display a plain white dot (e.g. unknown number of notifications). Sous Linux, si aucune valeur n'est fournie, le badge ne s'affichera pas.
Returns boolean
- Si l'appel a réussi.
Sets the counter badge for current app. Setting the count to 0
will hide the badge.
Sur macOS, il s'affiche sur l'icône du dock. Sous Linux, il ne fonctionne que pour le lanceur Unity.
Remarque : Le lanceur Unity nécessite un fichier .desktop
pour fonctionner. Pour plus d’informations, lisez la documentation d’intégration Unity.
app.getBadgeCount()
Linux macOS
Retourne Integer
- La valeur actuelle affichée sur le badge du compteur.
app.isUnityRunning()
Linux
Retourne boolean
- Si l'environnement de bureau actuel est Unity launcher.
app.getLoginItemSettings([options])
macOS Windows
Si vous avez fourni des options path
et args
à app.setLoginItemSettings
, vous devez passer les mêmes arguments ici pour que openAtLogin
soit défini correctement.
Retourne Object
:
openAtLogin
boolean -true
si l'application est configurée pour démarrer à l'ouverture de session.openAsHidden
boolean macOS -true
si l'application est configurée pour s'ouvrir comme cachée à l'ouverture de session. Ce paramètre n'est pas disponible sur les MAS builds.wasOpenedAtLogin
boolean macOS -true
si l'application est automatiquement ouverte à l'ouverture de session. Ce paramètre n'est pas disponible sur les MAS builds.wasOpenedAsHidden
boolean macOS -true
si l'application est ouverte comme un programme caché à l'ouverture de session. Cela indique que l'application ne devrait pas ouvrir la moindre fenêtre au démarrage. Ce paramètre n'est pas disponible sur les MAS builds.restoreState
boolean macOS -true
si l'application est ouverte comme un programme qui devrait restaurer l'état de la session précédente à l'ouverture de session. Cela indique que l'application devrait restaurer les fenêtres qui étaient ouvertes lorsque celle-ci a été précédemment fermée. Ce paramètre n'est pas disponible sur les MAS builds.executableWillLaunchAtLogin
boolean Windows -true
if app is set to open at login and its run key is not deactivated. This differs fromopenAtLogin
as it ignores theargs
option, this property will be true if the given executable would be launched at login with any arguments.launchItems
Object[] Windowsname
string Windows - name value of a registry entry.path
string Windows - The executable to an app that corresponds to a registry entry.args
string[] Windows - the command-line arguments to pass to the executable.scope
string Windows - one ofuser
ormachine
. Indicates whether the registry entry is underHKEY_CURRENT USER
orHKEY_LOCAL_MACHINE
.enabled
boolean Windows -true
if the app registry key is startup approved and therefore shows asenabled
in Task Manager and Windows settings.
app.setLoginItemSettings(settings)
macOS Windows
- Objet
settings
openAtLogin
boolean (optional) -true
to open the app at login,false
to remove the app as a login item. Par défaut,faux
.openAsHidden
boolean (facultatif) macOS -true
pour ouvrir l’application comme cachée.false
par défaut. L'utilisateur peut éditer ce paramètre depuis les Préférences Système, alorsapp.getLoginItemSettings().wasOpenedAsHidden
va être vérifié lorsque l'app sera ouverte pour connaître la valeur actuelle. Ce paramètre n'est pas disponible sur les MAS builds.path
string (optional) Windows - The executable to launch at login. Par défautprocess.execPath
.args
string[] (optional) Windows - The command-line arguments to pass to the executable. Par défaut, un tableau vide. Take care to wrap paths in quotes.enabled
boolean (optional) Windows -true
will change the startup approved registry key andenable / disable
the App in Task Manager and Windows Settings. Par défaut,true
.name
string (optional) Windows - value name to write into registry. Defaults to the app's AppUserModelId(). Configurer les paramètres de l'application lors de l'ouverture de session.
Pour fonctionner avec autoUpdater
d'Electron sur Windows, qui utilise Squirrel, vous aurez besoin de configurer le chemin de démarrage de Update.exe et de lui passer les arguments qui définissent le nom de votre application. Par exemple :
const appFolder = path.dirname(process.execPath)
const updateExe = path.resolve(appFolder, '..', 'Update.exe')
const exeName = path.basename(process.execPath)
app.setLoginItemSettings({
openAtLogin: true,
path: updateExe,
args: [
'--processStart', `"${exeName}"`,
'--process-start-args', `"--hidden"`
]
})
app.isAccessibilitySupportEnabled()
macOS Windows
Retourne boolean
- true
si le support des fonctionnalités d'accessibilité de Chrome est activé, false
sinon. Cette API retournera true
si les technologies d'assistance, comme les lecteurs d'écran, sont détectées. Voir https://www.chromium.org/developers/design-documents/accessibility pour de plus amples informations.
app.setAccessibilitySupportEnabled(enabled)
macOS Windows
enabled
boolean - Active ou désactive le rendu de l'arbre d'accessibilité
Active manuellement le support de l'accessibilité de Chrome, permettant de mettre à disposition des utilisateurs les commutateurs d'accessibilité dans les paramètres de l'application. Consultez les documents d'accessibilité de Chromium pour plus de détails. Désactivé par défaut.
Cette API doit être appelée après l'émission de l'événement ready
.
Note: Rendering accessibility tree can significantly affect the performance of your app. Il ne doit pas être activé par défaut.
app.showAboutPanel()
Show the app's about panel options. These options can be overridden with app.setAboutPanelOptions(options)
.
app.setAboutPanelOptions(options)
- Objet
options
applicationName
string (optional) - Nom de l'application.applicationVersion
string (optional) - Version de l'application.copyright
string (optional) - Information copyright.version
string (facultatif) macOS - Le numéro de version de l'application.crédits
string (facultatif) macOS Windows - Crédits.auteurs
string[] (facultatif) Linux - Liste des auteurs d'applications.site web
string (facultatif) Linux - Le site web de l'application.iconPath
string (optional) Linux Windows - Path to the app's icon in a JPEG or PNG file format. Sous Linux, sera affiché en 64x64 pixels tout en conservant le ratio.
Configure les options de la fenêtre À propos de. This will override the values defined in the app's .plist
file on macOS. Voir la documentation Apple pour de plus amples informations. Sous Linux, les valeurs doivent être définies pour être affichées ; il n'y a pas de valeurs par défaut.
Si vous ne définissez pas credits
mais vous souhaitez quand même les afficher dans votre app, AppKit cherchera un fichier nommé "Credits.html", "Credits.rtf", et "Credits.rtfd", dans cet ordre, dans le bundle retourné par la méthode la classe main de NSBundle. Le premier fichier trouvé est utilisé, et si aucun n'est trouvé, la zone info est laissée vide. Consultez la documentation Apple pour plus d'informations.
app.isEmojiPanelSupported()
Retourne boolean
- que la version actuelle de l'OS autorise ou non les sélecteurs natifs d'émojis.
app.showEmojiPanel()
macOS Windows
Montrer le sélecteur d'émoji natif de la plateforme.
app.startAccessingSecurityScopedResource(bookmarkData)
mas
bookmarkData
string - Les données de marque-page encodées en base64 renvoyées par les méthodesdialog.showOpenDialog
oùdialog.showSaveDialog
.
Retourne Fonction
- Cette fonction doit être appelée une fois que vous avez fini d'accéder au fichier de sécurité utilisé. If you do not remember to stop accessing the bookmark, kernel resources will be leaked and your app will lose its ability to reach outside the sandbox completely, until your app is restarted.
// Commence à accéder au fichier.
const stopAccessingSecurityScopedResource = app.startAccessingSecurityScopedResource(data)
// You can now access the file outside of the sandbox 🎉
// Remember to stop accessing the file once you've finished with it.
stopAccessingSecurityScopedResource()
Commencez à accéder à une ressource périmée de sécurité. Avec cette méthode, les applications Electron qui sont empaquetées pour le Mac App Store peuvent atteindre en dehors de leur sandbox pour accéder aux fichiers choisis par l'utilisateur. Voir la documentation de Apple pour une description du fonctionnement de ce système.
app.enableSandbox()
Active le mode "full sandbox" dans l'application. This means that all renderers will be launched sandboxed, regardless of the value of the sandbox
flag in WebPreferences.
Cette méthode peut seulement être appelée avant que app soit prêt.
app.isInApplicationsFolder()
macOS
Returns boolean
- Whether the application is currently running from the systems Application folder. Use in combination with app.moveToApplicationsFolder()
app.moveToApplicationsFolder([options])
macOS
Returns boolean
- Whether the move was successful. Please note that if the move is successful, your application will quit and relaunch.
No confirmation dialog will be presented by default. If you wish to allow the user to confirm the operation, you may do so using the dialog
API.
NOTE: Cette méthode renvoie des erreurs si quelque chose d'autre qu'une erreur utilisateur fait échouer le déplacement. Par exemple, si l'utilisateur annule la boîte de dialogue d'autorisation, cette méthode renvoie false. Si nous ne réussissons pas à effectuer la copie, alors cette méthode lancera une erreur. Le message contenu dans l'erreur devrait être suffisamment informatif pour que vous puissiez déterminer précisément quel est le problème.
Par défaut, si une application du même nom que celle qui a été déplacée existe dans le répertoire Applications et est pas en cours d'exécution, l'application existante sera mise à la corbeille et l'application active sera déplacée à sa place. If it is running, the pre-existing running app will assume focus and the previously active app will quit itself. Ce comportement peut être modifié en fournissant le gestionnaire de conflits facultatif, où le booléen retourné par le gestionnaire détermine si le conflit de déplacement est résolu avec le comportement par défaut. c'est-à-dire que retourner false
ne garantira aucune action supplémentaire, retourner true
entraînera le comportement par défaut et la méthode continuera.
Par exemple :
app.moveToApplicationsFolder({
ConftHandler: (conflictType) => {
if (conflictType === 'exiss') {
dialogue de retour. howMessageBoxSync({
type: 'question',
boutons: ['Halter le déplacement', 'Continuer le déplacement'],
defaultId: 0,
message : 'Une application de ce nom existe déjà'
}) === 1
}
}
})
Cela signifierait que si une application existe déjà dans le répertoire de l'utilisateur, si l'utilisateur choisit de "Continuer le déplacement", alors la fonction continuera avec son comportement par défaut et l'application existante sera mise à la corbeille et l'application active sera déplacée à sa place.
app.isSecureKeyboardEntryEnabled()
macOS
Returns boolean
- whether Secure Keyboard Entry
is enabled.
Par défaut cette API retournera false
.
app.setSecureKeyboardEntryEnabled(enabled)
macOS
enabled
boolean - Enable or disableSecure Keyboard Entry
Set the Secure Keyboard Entry
is enabled in your application.
By using this API, important information such as password and other sensitive information can be prevented from being intercepted by other processes.
See Apple's documentation for more details.
Note: Enable Secure Keyboard Entry
only when it is needed and disable it when it is no longer needed.
Propriétés
app.accessibilitySupportEnabled
macOS Windows
A boolean
property that's true
if Chrome's accessibility support is enabled, false
otherwise. Cette propriété sera true
si l'utilisation de technologies d'assistance, telles que les lecteurs d'écran, a été détectée. Définir cette propriété à true
active manuellement la prise en charge de l'accessibilité de Chrome, permettant aux développeurs d'exposer le basculement d'accessibilité aux utilisateurs dans les paramètres de l'application.
See Chromium's accessibility docs for more details. Désactivé par défaut.
Cette API doit être appelée après l'émission de l'événement ready
.
Note: Rendering accessibility tree can significantly affect the performance of your app. Il ne doit pas être activé par défaut.
app.applicationMenu
Une propriété Menu | null
qui renvoie Menu
si on a été défini et null
autrement. Les utilisateurs peuvent passer un Menu pour définir cette propriété.
app.badgeCount
Linux macOS
An Integer
property that returns the badge count for current app. Setting the count to 0
will hide the badge.
On macOS, setting this with any nonzero integer shows on the dock icon. On Linux, this property only works for Unity launcher.
Remarque : Le lanceur Unity nécessite un fichier .desktop
pour fonctionner. Pour plus d’informations, lisez la documentation d’intégration Unity.
Note: On macOS, you need to ensure that your application has the permission to display notifications for this property to take effect.
app.commandLine
Readonly
Un objet CommandLine
qui vous permet de lire et de manipuler les arguments de ligne de commande que Chromium utilise.
app.dock
macOS Readonly
A Dock
| undefined
object that allows you to perform actions on your app icon in the user's dock on macOS.
app.isPackaged
Readonly
Une propriété boolean
qui renvoie true
si l'application est packagée, false
sinon. Pour de nombreuses applications, cette propriété peut être utilisée pour distinguer les environnements de développement et de production.
nom de l'application
Une propriété string
qui indique le nom de l'application courante, qui est le nom dans le fichier package.json
de l'application.
Habituellement, le champ name
de package.json
est un nom court en minuscule, selon la spécification des modules npm. Vous devriez dans la plupart des cas renseigner également un champ productName
, qui contient le nom complet et capitalisé de votre application, et qui sera préféré à name
par Electron.
format@@0 app.userAgentFallback
Une string
qui est la chaîne d'agent utilisateur que Electron utilisera comme solution de repli global.
C'est l'agent utilisateur qui sera utilisé quand aucun agent utilisateur n'est défini au niveau webContents
ou session
. Il est utile pour s'assurer que l'ensemble de votre application a le même agent utilisateur. Définissez une valeur personnalisée dès que possible dans l'initialisation de votre application pour vous assurer que votre valeur remplacée est utilisée.
app.runningUnderRosettaTranslation
macOS Readonly Deprecated
A boolean
which when true
indicates that the app is currently running under the Rosetta Translator Environment.
You can use this property to prompt users to download the arm64 version of your application when they are running the x64 version under Rosetta incorrectly.
Deprecated: This property is superceded by the runningUnderARM64Translation
property which detects when the app is being translated to ARM64 in both macOS and Windows.
app.runningUnderARM64Translation
Readonly macOS Windows
A boolean
which when true
indicates that the app is currently running under an ARM64 translator (like the macOS Rosetta Translator Environment or Windows WOW).
You can use this property to prompt users to download the arm64 version of your application when they are running the x64 version under Rosetta incorrectly.