docs: ensure all links are on a single line (#42235)

This commit is contained in:
Erick Zhao 2024-05-28 11:15:18 -07:00 committed by GitHub
parent bb4374ee2c
commit 09fb892c6e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
22 changed files with 78 additions and 92 deletions

View file

@ -125,8 +125,8 @@ This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at version 2.0, available at
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
Community Impact Guidelines were inspired by [Mozilla's code of conduct Community Impact Guidelines were inspired by
enforcement ladder](https://github.com/mozilla/diversity). [Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/inclusion).
[homepage]: https://www.contributor-covenant.org [homepage]: https://www.contributor-covenant.org

View file

@ -9,8 +9,8 @@ View these docs in other languages on our [Crowdin](https://crowdin.com/project/
The Electron framework lets you write cross-platform desktop applications The Electron framework lets you write cross-platform desktop applications
using JavaScript, HTML and CSS. It is based on [Node.js](https://nodejs.org/) and using JavaScript, HTML and CSS. It is based on [Node.js](https://nodejs.org/) and
[Chromium](https://www.chromium.org) and is used by the [Visual Studio [Chromium](https://www.chromium.org) and is used by the
Code](https://github.com/Microsoft/vscode/) and many other [apps](https://electronjs.org/apps). [Visual Studio Code](https://github.com/Microsoft/vscode/) and many other [apps](https://electronjs.org/apps).
Follow [@electronjs](https://twitter.com/electronjs) on Twitter for important Follow [@electronjs](https://twitter.com/electronjs) on Twitter for important
announcements. announcements.

View file

@ -1282,8 +1282,7 @@ Returns `Object`:
* `settings` Object * `settings` Object
* `openAtLogin` boolean (optional) - `true` to open the app at login, `false` to remove * `openAtLogin` boolean (optional) - `true` to open the app at login, `false` to remove
the app as a login item. Defaults to `false`. the app as a login item. Defaults to `false`.
* `openAsHidden` boolean (optional) _macOS_ _Deprecated_ - `true` to open the app as hidden. Defaults to `false`. The user can edit this setting from the System Preferences so `app.getLoginItemSettings().wasOpenedAsHidden` should be checked when the app is opened to know the current value. This setting is not available on [MAS build * `openAsHidden` boolean (optional) _macOS_ _Deprecated_ - `true` to open the app as hidden. Defaults to `false`. The user can edit this setting from the System Preferences so `app.getLoginItemSettings().wasOpenedAsHidden` should be checked when the app is opened to know the current value. This setting is not available on [MAS builds][mas-builds] or on macOS 13 and up.
s][mas-builds] or on macOS 13 and up.
* `type` string (optional) _macOS_ - The type of service to add as a login item. Defaults to `mainAppService`. Only available on macOS 13 and up. * `type` string (optional) _macOS_ - The type of service to add as a login item. Defaults to `mainAppService`. Only available on macOS 13 and up.
* `mainAppService` - The primary application. * `mainAppService` - The primary application.
* `agentService` - The property list name for a launch agent. The property list name must correspond to a property list in the apps `Contents/Library/LaunchAgents` directory. * `agentService` - The property list name for a launch agent. The property list name must correspond to a property list in the apps `Contents/Library/LaunchAgents` directory.

View file

@ -20,8 +20,9 @@ In addition, there are some subtle differences on each platform:
On macOS, the `autoUpdater` module is built upon [Squirrel.Mac][squirrel-mac], On macOS, the `autoUpdater` module is built upon [Squirrel.Mac][squirrel-mac],
meaning you don't need any special setup to make it work. For server-side meaning you don't need any special setup to make it work. For server-side
requirements, you can read [Server Support][server-support]. Note that [App requirements, you can read [Server Support][server-support]. Note that
Transport Security](https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html#//apple_ref/doc/uid/TP40009251-SW35) (ATS) applies to all requests made as part of the [App Transport Security](https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html#//apple_ref/doc/uid/TP40009251-SW35)
(ATS) applies to all requests made as part of the
update process. Apps that need to disable ATS can add the update process. Apps that need to disable ATS can add the
`NSAllowsArbitraryLoads` key to their app's plist. `NSAllowsArbitraryLoads` key to their app's plist.

View file

@ -35,8 +35,8 @@ The `contentTracing` module has the following methods:
Returns `Promise<string[]>` - resolves with an array of category groups once all child processes have acknowledged the `getCategories` request Returns `Promise<string[]>` - resolves with an array of category groups once all child processes have acknowledged the `getCategories` request
Get a set of category groups. The category groups can change as new code paths Get a set of category groups. The category groups can change as new code paths
are reached. See also the [list of built-in tracing are reached. See also the
categories](https://chromium.googlesource.com/chromium/src/+/main/base/trace_event/builtin_categories.h). [list of built-in tracing categories](https://chromium.googlesource.com/chromium/src/+/main/base/trace_event/builtin_categories.h).
> **NOTE:** Electron adds a non-default tracing category called `"electron"`. > **NOTE:** Electron adds a non-default tracing category called `"electron"`.
> This category can be used to capture Electron-specific tracing events. > This category can be used to capture Electron-specific tracing events.

View file

@ -145,16 +145,16 @@ debugging purposes.
Prints Chromium's internal logging to the console. Prints Chromium's internal logging to the console.
Setting this variable is the same as passing `--enable-logging` Setting this variable is the same as passing `--enable-logging`
on the command line. For more info, see `--enable-logging` in [command-line on the command line. For more info, see `--enable-logging` in
switches](./command-line-switches.md#--enable-loggingfile). [command-line switches](./command-line-switches.md#--enable-loggingfile).
### `ELECTRON_LOG_FILE` ### `ELECTRON_LOG_FILE`
Sets the file destination for Chromium's internal logging. Sets the file destination for Chromium's internal logging.
Setting this variable is the same as passing `--log-file` Setting this variable is the same as passing `--log-file`
on the command line. For more info, see `--log-file` in [command-line on the command line. For more info, see `--log-file` in
switches](./command-line-switches.md#--log-filepath). [command-line switches](./command-line-switches.md#--log-filepath).
### `ELECTRON_DEBUG_NOTIFICATIONS` ### `ELECTRON_DEBUG_NOTIFICATIONS`

View file

@ -1,9 +1,8 @@
# Chrome Extension Support # Chrome Extension Support
Electron supports a subset of the [Chrome Extensions Electron supports a subset of the [Chrome Extensions API][chrome-extensions-api-index],
API][chrome-extensions-api-index], primarily to support DevTools extensions and primarily to support DevTools extensions and Chromium-internal extensions,
Chromium-internal extensions, but it also happens to support some other but it also happens to support some other extension capabilities.
extension capabilities.
[chrome-extensions-api-index]: https://developer.chrome.com/extensions/api_index [chrome-extensions-api-index]: https://developer.chrome.com/extensions/api_index

View file

@ -82,8 +82,8 @@ Removes all listeners, or those of the specified `channel`.
* `...args` any[] * `...args` any[]
Send an asynchronous message to the main process via `channel`, along with Send an asynchronous message to the main process via `channel`, along with
arguments. Arguments will be serialized with the [Structured Clone arguments. Arguments will be serialized with the [Structured Clone Algorithm][SCA],
Algorithm][SCA], just like [`window.postMessage`][], so prototype chains will not be just like [`window.postMessage`][], so prototype chains will not be
included. Sending Functions, Promises, Symbols, WeakMaps, or WeakSets will included. Sending Functions, Promises, Symbols, WeakMaps, or WeakSets will
throw an exception. throw an exception.
@ -110,8 +110,8 @@ If you want to receive a single response from the main process, like the result
Returns `Promise<any>` - Resolves with the response from the main process. Returns `Promise<any>` - Resolves with the response from the main process.
Send a message to the main process via `channel` and expect a result Send a message to the main process via `channel` and expect a result
asynchronously. Arguments will be serialized with the [Structured Clone asynchronously. Arguments will be serialized with the [Structured Clone Algorithm][SCA],
Algorithm][SCA], just like [`window.postMessage`][], so prototype chains will not be just like [`window.postMessage`][], so prototype chains will not be
included. Sending Functions, Promises, Symbols, WeakMaps, or WeakSets will included. Sending Functions, Promises, Symbols, WeakMaps, or WeakSets will
throw an exception. throw an exception.
@ -160,8 +160,8 @@ If you do not need a response to the message, consider using [`ipcRenderer.send`
Returns `any` - The value sent back by the [`ipcMain`](./ipc-main.md) handler. Returns `any` - The value sent back by the [`ipcMain`](./ipc-main.md) handler.
Send a message to the main process via `channel` and expect a result Send a message to the main process via `channel` and expect a result
synchronously. Arguments will be serialized with the [Structured Clone synchronously. Arguments will be serialized with the [Structured Clone Algorithm][SCA],
Algorithm][SCA], just like [`window.postMessage`][], so prototype chains will not be just like [`window.postMessage`][], so prototype chains will not be
included. Sending Functions, Promises, Symbols, WeakMaps, or WeakSets will included. Sending Functions, Promises, Symbols, WeakMaps, or WeakSets will
throw an exception. throw an exception.
@ -208,8 +208,8 @@ ipcMain.on('port', (e, msg) => {
}) })
``` ```
For more information on using `MessagePort` and `MessageChannel`, see the [MDN For more information on using `MessagePort` and `MessageChannel`, see the
documentation](https://developer.mozilla.org/en-US/docs/Web/API/MessageChannel). [MDN documentation](https://developer.mozilla.org/en-US/docs/Web/API/MessageChannel).
### `ipcRenderer.sendToHost(channel, ...args)` ### `ipcRenderer.sendToHost(channel, ...args)`

View file

@ -86,9 +86,8 @@ async function example () {
} }
``` ```
This method will issue requests from the [default This method will issue requests from the [default session](session.md#sessiondefaultsession).
session](session.md#sessiondefaultsession). To send a `fetch` request from To send a `fetch` request from another session, use [ses.fetch()](session.md#sesfetchinput-init).
another session, use [ses.fetch()](session.md#sesfetchinput-init).
See the MDN documentation for See the MDN documentation for
[`fetch()`](https://developer.mozilla.org/en-US/docs/Web/API/fetch) for more [`fetch()`](https://developer.mozilla.org/en-US/docs/Web/API/fetch) for more
@ -101,11 +100,10 @@ Limitations:
* The `.type` and `.url` values of the returned `Response` object are * The `.type` and `.url` values of the returned `Response` object are
incorrect. incorrect.
By default, requests made with `net.fetch` can be made to [custom By default, requests made with `net.fetch` can be made to [custom protocols](protocol.md)
protocols](protocol.md) as well as `file:`, and will trigger as well as `file:`, and will trigger [webRequest](web-request.md) handlers if present.
[webRequest](web-request.md) handlers if present. When the non-standard When the non-standard `bypassCustomProtocolHandlers` option is set in RequestInit,
`bypassCustomProtocolHandlers` option is set in RequestInit, custom protocol custom protocol handlers will not be called for this request. This allows forwarding an
handlers will not be called for this request. This allows forwarding an
intercepted request to the built-in handler. [webRequest](web-request.md) intercepted request to the built-in handler. [webRequest](web-request.md)
handlers will still be triggered when bypassing custom protocols. handlers will still be triggered when bypassing custom protocols.
@ -167,9 +165,8 @@ will be successful.
Returns [`Promise<ResolvedHost>`](structures/resolved-host.md) - Resolves with the resolved IP addresses for the `host`. Returns [`Promise<ResolvedHost>`](structures/resolved-host.md) - Resolves with the resolved IP addresses for the `host`.
This method will resolve hosts from the [default This method will resolve hosts from the [default session](session.md#sessiondefaultsession).
session](session.md#sessiondefaultsession). To resolve a host from To resolve a host from another session, use [ses.resolveHost()](session.md#sesresolvehosthost-options).
another session, use [ses.resolveHost()](session.md#sesresolvehosthost-options).
## Properties ## Properties

View file

@ -79,9 +79,8 @@ protocol.registerSchemesAsPrivileged([
]) ])
``` ```
A standard scheme adheres to what RFC 3986 calls [generic URI A standard scheme adheres to what RFC 3986 calls [generic URI syntax](https://tools.ietf.org/html/rfc3986#section-3).
syntax](https://tools.ietf.org/html/rfc3986#section-3). For example `http` and For example `http` and `https` are standard schemes, while `file` is not.
`https` are standard schemes, while `file` is not.
Registering a scheme as standard allows relative and absolute resources to Registering a scheme as standard allows relative and absolute resources to
be resolved correctly when served. Otherwise the scheme will behave like the be resolved correctly when served. Otherwise the scheme will behave like the

View file

@ -729,11 +729,10 @@ Limitations:
* The `.type` and `.url` values of the returned `Response` object are * The `.type` and `.url` values of the returned `Response` object are
incorrect. incorrect.
By default, requests made with `net.fetch` can be made to [custom By default, requests made with `net.fetch` can be made to [custom protocols](protocol.md)
protocols](protocol.md) as well as `file:`, and will trigger as well as `file:`, and will trigger [webRequest](web-request.md) handlers if present.
[webRequest](web-request.md) handlers if present. When the non-standard When the non-standard `bypassCustomProtocolHandlers` option is set in RequestInit,
`bypassCustomProtocolHandlers` option is set in RequestInit, custom protocol custom protocol handlers will not be called for this request. This allows forwarding an
handlers will not be called for this request. This allows forwarding an
intercepted request to the built-in handler. [webRequest](web-request.md) intercepted request to the built-in handler. [webRequest](web-request.md)
handlers will still be triggered when bypassing custom protocols. handlers will still be triggered when bypassing custom protocols.

View file

@ -617,8 +617,7 @@ Returns:
Emitted when failed to verify the `certificate` for `url`. Emitted when failed to verify the `certificate` for `url`.
The usage is the same with [the `certificate-error` event of The usage is the same with [the `certificate-error` event of `app`](app.md#event-certificate-error).
`app`](app.md#event-certificate-error).
#### Event: 'select-client-certificate' #### Event: 'select-client-certificate'
@ -632,8 +631,7 @@ Returns:
Emitted when a client certificate is requested. Emitted when a client certificate is requested.
The usage is the same with [the `select-client-certificate` event of The usage is the same with [the `select-client-certificate` event of `app`](app.md#event-select-client-certificate).
`app`](app.md#event-select-client-certificate).
#### Event: 'login' #### Event: 'login'
@ -1850,8 +1848,8 @@ Opens the developer tools for the service worker context.
* `...args` any[] * `...args` any[]
Send an asynchronous message to the renderer process via `channel`, along with Send an asynchronous message to the renderer process via `channel`, along with
arguments. Arguments will be serialized with the [Structured Clone arguments. Arguments will be serialized with the [Structured Clone Algorithm][SCA],
Algorithm][SCA], just like [`postMessage`][], so prototype chains will not be just like [`postMessage`][], so prototype chains will not be
included. Sending Functions, Promises, Symbols, WeakMaps, or WeakSets will included. Sending Functions, Promises, Symbols, WeakMaps, or WeakSets will
throw an exception. throw an exception.

View file

@ -103,10 +103,9 @@ Returns `boolean` - Whether the reload was initiated successfully. Only results
* `...args` any[] * `...args` any[]
Send an asynchronous message to the renderer process via `channel`, along with Send an asynchronous message to the renderer process via `channel`, along with
arguments. Arguments will be serialized with the [Structured Clone arguments. Arguments will be serialized with the [Structured Clone Algorithm][SCA],
Algorithm][SCA], just like [`postMessage`][], so prototype chains will not be just like [`postMessage`][], so prototype chains will not be included.
included. Sending Functions, Promises, Symbols, WeakMaps, or WeakSets will Sending Functions, Promises, Symbols, WeakMaps, or WeakSets will throw an exception.
throw an exception.
The renderer process can handle the message by listening to `channel` with the The renderer process can handle the message by listening to `channel` with the
[`ipcRenderer`](ipc-renderer.md) module. [`ipcRenderer`](ipc-renderer.md) module.

View file

@ -716,8 +716,8 @@ document.getElementById('webview').addEventListener('new-window', () => {
### Deprecated: BrowserWindow `scroll-touch-*` events ### Deprecated: BrowserWindow `scroll-touch-*` events
The `scroll-touch-begin`, `scroll-touch-end` and `scroll-touch-edge` events on The `scroll-touch-begin`, `scroll-touch-end` and `scroll-touch-edge` events on
BrowserWindow are deprecated. Instead, use the newly available [`input-event` BrowserWindow are deprecated. Instead, use the newly available
event](api/web-contents.md#event-input-event) on WebContents. [`input-event` event](api/web-contents.md#event-input-event) on WebContents.
```js ```js
// Deprecated // Deprecated
@ -742,8 +742,8 @@ win.webContents.on('input-event', (_, event) => {
### Behavior Changed: V8 Memory Cage enabled ### Behavior Changed: V8 Memory Cage enabled
The V8 memory cage has been enabled, which has implications for native modules The V8 memory cage has been enabled, which has implications for native modules
which wrap non-V8 memory with `ArrayBuffer` or `Buffer`. See the [blog post which wrap non-V8 memory with `ArrayBuffer` or `Buffer`. See the
about the V8 memory cage](https://www.electronjs.org/blog/v8-memory-cage) for [blog post about the V8 memory cage](https://www.electronjs.org/blog/v8-memory-cage) for
more details. more details.
### API Changed: `webContents.printToPDF()` ### API Changed: `webContents.printToPDF()`
@ -1345,8 +1345,7 @@ const w = new BrowserWindow({
}) })
``` ```
We [recommend moving away from the remote We [recommend moving away from the remote module](https://medium.com/@nornagon/electrons-remote-module-considered-harmful-70d69500f31).
module](https://medium.com/@nornagon/electrons-remote-module-considered-harmful-70d69500f31).
### `protocol.unregisterProtocol` ### `protocol.unregisterProtocol`
@ -1506,12 +1505,11 @@ You can see the original API proposal and reasoning [here](https://github.com/el
### Behavior Changed: Values sent over IPC are now serialized with Structured Clone Algorithm ### Behavior Changed: Values sent over IPC are now serialized with Structured Clone Algorithm
The algorithm used to serialize objects sent over IPC (through The algorithm used to serialize objects sent over IPC (through `ipcRenderer.send`,
`ipcRenderer.send`, `ipcRenderer.sendSync`, `WebContents.send` and related `ipcRenderer.sendSync`, `WebContents.send` and related methods) has been switched from a custom
methods) has been switched from a custom algorithm to V8's built-in [Structured algorithm to V8's built-in [Structured Clone Algorithm][SCA], the same algorithm used to serialize
Clone Algorithm][SCA], the same algorithm used to serialize messages for messages for `postMessage`. This brings about a 2x performance improvement for large messages,
`postMessage`. This brings about a 2x performance improvement for large but also brings some breaking changes in behavior.
messages, but also brings some breaking changes in behavior.
* Sending Functions, Promises, WeakMaps, WeakSets, or objects containing any * Sending Functions, Promises, WeakMaps, WeakSets, or objects containing any
such values, over IPC will now throw an exception, instead of silently such values, over IPC will now throw an exception, instead of silently
@ -2018,8 +2016,8 @@ app.getGPUInfo('basic')
When building native modules for windows, the `win_delay_load_hook` variable in When building native modules for windows, the `win_delay_load_hook` variable in
the module's `binding.gyp` must be true (which is the default). If this hook is the module's `binding.gyp` must be true (which is the default). If this hook is
not present, then the native module will fail to load on Windows, with an error not present, then the native module will fail to load on Windows, with an error
message like `Cannot find module`. See the [native module message like `Cannot find module`.
guide](./tutorial/using-native-node-modules.md) for more. See the [native module guide](./tutorial/using-native-node-modules.md) for more.
### Removed: IA32 Linux support ### Removed: IA32 Linux support

View file

@ -24,8 +24,8 @@ You can run `npm run lint` to show any style issues detected by `cpplint` and
## C++ and Python ## C++ and Python
For C++ and Python, we follow Chromium's [Coding For C++ and Python, we follow Chromium's
Style](https://chromium.googlesource.com/chromium/src/+/refs/heads/main/styleguide/styleguide.md). [Coding Style](https://chromium.googlesource.com/chromium/src/+/refs/heads/main/styleguide/styleguide.md).
There is also a script `script/cpplint.py` to check whether all files conform. There is also a script `script/cpplint.py` to check whether all files conform.
The Python version we are using now is Python 3.9. The Python version we are using now is Python 3.9.

View file

@ -3,8 +3,8 @@
The source code of Electron is separated into a few parts, mostly The source code of Electron is separated into a few parts, mostly
following Chromium on the separation conventions. following Chromium on the separation conventions.
You may need to become familiar with [Chromium's multi-process You may need to become familiar with
architecture](https://dev.chromium.org/developers/design-documents/multi-process-architecture) [Chromium's multi-process architecture](https://dev.chromium.org/developers/design-documents/multi-process-architecture)
to understand the source code better. to understand the source code better.
## Structure of Source Code ## Structure of Source Code

View file

@ -26,8 +26,8 @@ of the most powerful utilities in any Electron Developer's tool belt.
## Main Process ## Main Process
Debugging the main process is a bit trickier, since you cannot open Debugging the main process is a bit trickier, since you cannot open
developer tools for them. The Chromium Developer Tools can [be used developer tools for them. The Chromium Developer Tools can
to debug Electron's main process][node-inspect] thanks to a closer collaboration [be used to debug Electron's main process][node-inspect] thanks to a closer collaboration
between Google / Chrome and Node.js, but you might encounter oddities like between Google / Chrome and Node.js, but you might encounter oddities like
`require` not being present in the console. `require` not being present in the console.

View file

@ -24,8 +24,8 @@ If you prefer the manual approach, there are 2 ways to distribute your applicati
### With prebuilt binaries ### With prebuilt binaries
To distribute your app manually, you need to download Electron's [prebuilt To distribute your app manually, you need to download Electron's
binaries](https://github.com/electron/electron/releases). Next, the folder [prebuilt binaries](https://github.com/electron/electron/releases). Next, the folder
containing your app should be named `app` and placed in Electron's resources containing your app should be named `app` and placed in Electron's resources
directory as shown in the following examples. directory as shown in the following examples.

View file

@ -6,10 +6,9 @@ hide_title: false
--- ---
After creating an [application distribution](application-distribution.md), the After creating an [application distribution](application-distribution.md), the
app's source code are usually bundled into an [ASAR app's source code are usually bundled into an [ASAR archive](https://github.com/electron/asar),
archive](https://github.com/electron/asar), which is a simple extensive archive which is a simple extensive archive format designed for Electron apps. By bundling the app
format designed for Electron apps. By bundling the app we can mitigate issues we can mitigate issues around long path names on Windows, speed up `require` and conceal your source
around long path names on Windows, speed up `require` and conceal your source
code from cursory inspection. code from cursory inspection.
The bundled app runs in a virtual file system and most APIs would just work The bundled app runs in a virtual file system and most APIs would just work

View file

@ -55,8 +55,8 @@ If you're not using an integrated build pipeline like Forge, you
are likely using [`@electron/packager`][], which includes [`@electron/osx-sign`][] and are likely using [`@electron/packager`][], which includes [`@electron/osx-sign`][] and
[`@electron/notarize`][]. [`@electron/notarize`][].
If you're using Packager's API, you can pass [in configuration that both signs If you're using Packager's API, you can pass
and notarizes your application](https://electron.github.io/packager/main/modules.html). [in configuration that both signs and notarizes your application](https://electron.github.io/packager/main/modules.html).
If the example below does not meet your needs, please see [`@electron/osx-sign`][] and If the example below does not meet your needs, please see [`@electron/osx-sign`][] and
[`@electron/notarize`][] for the many possible configuration options. [`@electron/notarize`][] for the many possible configuration options.
@ -129,9 +129,9 @@ be found in the [Electron Forge Code Signing Tutorial](https://www.electronforge
If you're not using an integrated build pipeline like Forge, you If you're not using an integrated build pipeline like Forge, you
are likely using [`@electron/packager`][], which includes [`@electron/windows-sign`][]. are likely using [`@electron/packager`][], which includes [`@electron/windows-sign`][].
If you're using Packager's API, you can pass [in configuration that signs If you're using Packager's API, you can pass
your application](https://electron.github.io/packager/main/modules.html). If the [in configuration that signs your application](https://electron.github.io/packager/main/modules.html).
example below does not meet your needs, please see [`@electron/windows-sign`][] If the example below does not meet your needs, please see [`@electron/windows-sign`][]
for the many possible configuration options. for the many possible configuration options.
```js @ts-nocheck ```js @ts-nocheck

View file

@ -130,9 +130,8 @@ this for you.
#### [Electron Forge](https://electronforge.io) #### [Electron Forge](https://electronforge.io)
If you're using Electron Forge, adjust `packagerConfig` for macOS support, and the configuration for If you're using Electron Forge, adjust `packagerConfig` for macOS support, and the configuration for
the appropriate Linux makers for Linux support, in your [Forge the appropriate Linux makers for Linux support, in your [Forge configuration](https://www.electronforge.io/configuration)
configuration](https://www.electronforge.io/configuration) _(please note the following example only _(please note the following example only shows the bare minimum needed to add the configuration changes)_:
shows the bare minimum needed to add the configuration changes)_:
```json ```json
{ {

View file

@ -158,9 +158,8 @@ This module allows you to detect ahead of time whether or not the notification w
### Linux ### Linux
Notifications are sent using `libnotify`, which can show notifications on any Notifications are sent using `libnotify`, which can show notifications on any
desktop environment that follows [Desktop Notifications desktop environment that follows [Desktop Notifications Specification][notification-spec],
Specification][notification-spec], including Cinnamon, Enlightenment, Unity, including Cinnamon, Enlightenment, Unity, GNOME, and KDE.
GNOME, and KDE.
[notification-spec]: https://developer-old.gnome.org/notification-spec/ [notification-spec]: https://developer-old.gnome.org/notification-spec/
[app-user-model-id]: https://learn.microsoft.com/en-us/windows/win32/shell/appids [app-user-model-id]: https://learn.microsoft.com/en-us/windows/win32/shell/appids