Reinstate docs for app.makeSingleInstance()
Since this method is mentioned in breaking-changes.md, we need the docs to prevent create-typescript-definitions from failing with "error TS2339: Property 'makeSingleInstance' does not exist on type 'App'." The reinstated docs are marked with deprecation warnings that refer the reader to the new API calls.
This commit is contained in:
parent
13877ce2c8
commit
bdae243552
1 changed files with 74 additions and 0 deletions
|
@ -758,6 +758,71 @@ app.setJumpList([
|
||||||
])
|
])
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### `app.makeSingleInstance(callback)` *(Deprecated)*
|
||||||
|
|
||||||
|
* `callback` Function
|
||||||
|
* `argv` String[] - An array of the second instance's command line arguments
|
||||||
|
* `workingDirectory` String - The second instance's working directory
|
||||||
|
|
||||||
|
Returns `Boolean`.
|
||||||
|
|
||||||
|
**Deprecated**: This method has been deprecated and is scheduled for removal.
|
||||||
|
Please use `app.requestSingleInstanceLock()` instead.
|
||||||
|
|
||||||
|
This method makes your application a Single Instance Application - instead of
|
||||||
|
allowing multiple instances of your app to run, this will ensure that only a
|
||||||
|
single instance of your app is running, and other instances signal this
|
||||||
|
instance and exit.
|
||||||
|
|
||||||
|
`callback` will be called by the first instance with `callback(argv, workingDirectory)`
|
||||||
|
when a second instance has been executed. `argv` is an Array of the second instance's
|
||||||
|
command line arguments, and `workingDirectory` is its current working directory. Usually
|
||||||
|
applications respond to this by making their primary window focused and
|
||||||
|
non-minimized.
|
||||||
|
|
||||||
|
The `callback` is guaranteed to be executed after the `ready` event of `app`
|
||||||
|
gets emitted.
|
||||||
|
|
||||||
|
This method returns `false` if your process is the primary instance of the
|
||||||
|
application and your app should continue loading. And returns `true` if your
|
||||||
|
process has sent its parameters to another instance, and you should immediately
|
||||||
|
quit.
|
||||||
|
|
||||||
|
On macOS the system enforces single instance automatically when users try to open
|
||||||
|
a second instance of your app in Finder, and the `open-file` and `open-url`
|
||||||
|
events will be emitted for that. However when users start your app in command
|
||||||
|
line the system's single instance mechanism will be bypassed and you have to
|
||||||
|
use this method to ensure single instance.
|
||||||
|
|
||||||
|
An example of activating the window of primary instance when a second instance
|
||||||
|
starts:
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
const {app} = require('electron')
|
||||||
|
let myWindow = null
|
||||||
|
|
||||||
|
const isSecondInstance = app.makeSingleInstance((commandLine, workingDirectory) => {
|
||||||
|
// Someone tried to run a second instance, we should focus our window.
|
||||||
|
if (myWindow) {
|
||||||
|
if (myWindow.isMinimized()) myWindow.restore()
|
||||||
|
myWindow.focus()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
if (isSecondInstance) {
|
||||||
|
app.quit()
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create myWindow, load the rest of the app, etc...
|
||||||
|
app.on('ready', () => {
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
### `app.releaseSingleInstance()`
|
||||||
|
|
||||||
|
Releases all locks that were created by `makeSingleInstance`. This will allow
|
||||||
|
multiple instances of the application to once again run side by side.
|
||||||
|
|
||||||
### `app.requestSingleInstanceLock()`
|
### `app.requestSingleInstanceLock()`
|
||||||
|
|
||||||
Returns `Boolean`
|
Returns `Boolean`
|
||||||
|
@ -818,6 +883,15 @@ holding the single instance lock. You can request the lock with
|
||||||
`app.requestSingleInstanceLock()` and release with
|
`app.requestSingleInstanceLock()` and release with
|
||||||
`app.releaseSingleInstanceLock()`
|
`app.releaseSingleInstanceLock()`
|
||||||
|
|
||||||
|
### `app.releaseSingleInstance()` *(Deprecated)*
|
||||||
|
|
||||||
|
Releases all locks that were created by `makeSingleInstance`. This will allow
|
||||||
|
multiple instances of the application to once again run side by side.
|
||||||
|
|
||||||
|
**Deprecated**: This method has been deprecated and is scheduled for removal.
|
||||||
|
Please use the `app.requestSingleInstanceLock()` and `app.releaseSingleInstanceLock()`
|
||||||
|
methods instead.
|
||||||
|
|
||||||
### `app.releaseSingleInstanceLock()`
|
### `app.releaseSingleInstanceLock()`
|
||||||
|
|
||||||
Releases all locks that were created by `requestSingleInstanceLock`. This will
|
Releases all locks that were created by `requestSingleInstanceLock`. This will
|
||||||
|
|
Loading…
Add table
Reference in a new issue