2013-09-09 07:35:57 +00:00
|
|
|
|
# app
|
2013-08-14 22:43:35 +00:00
|
|
|
|
|
|
|
|
|
The `app` module is responsible for controlling the application's life time.
|
|
|
|
|
|
|
|
|
|
The example of quitting the whole application when the last window is closed:
|
|
|
|
|
|
|
|
|
|
```javascript
|
|
|
|
|
var app = require('app');
|
|
|
|
|
app.on('window-all-closed', function() {
|
|
|
|
|
app.quit();
|
|
|
|
|
});
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Event: will-finish-launching
|
|
|
|
|
|
2013-12-27 03:08:26 +00:00
|
|
|
|
Emitted when application has done basic startup. On Windows and Linux it is the
|
|
|
|
|
same with `ready` event, on OS X this event represents the
|
|
|
|
|
`applicationWillFinishLaunching` message of `NSApplication`, usually you would
|
|
|
|
|
setup listeners to `open-file` and `open-url` events here, and start the crash
|
|
|
|
|
reporter and auto updater.
|
2013-08-14 22:43:35 +00:00
|
|
|
|
|
2013-12-27 03:08:26 +00:00
|
|
|
|
Under most cases you should just do everything in `ready` event.
|
2013-08-14 22:43:35 +00:00
|
|
|
|
|
2013-12-27 03:08:26 +00:00
|
|
|
|
## Event: ready
|
|
|
|
|
|
2014-05-07 06:34:53 +00:00
|
|
|
|
Emitted when atom-shell has done everything initialization.
|
2013-08-14 22:43:35 +00:00
|
|
|
|
|
|
|
|
|
## Event: window-all-closed
|
|
|
|
|
|
|
|
|
|
Emitted when all windows have been closed.
|
|
|
|
|
|
2013-08-29 14:37:51 +00:00
|
|
|
|
This event is only emitted when the application is not going to quit. If a
|
|
|
|
|
user pressed `Cmd + Q`, or the developer called `app.quit()`, atom-shell would
|
|
|
|
|
first try to close all windows and then emit the `will-quit` event, and in
|
|
|
|
|
this case the `window-all-closed` would not be emitted.
|
2013-08-14 22:43:35 +00:00
|
|
|
|
|
|
|
|
|
## Event: will-quit
|
|
|
|
|
|
|
|
|
|
* `event` Event
|
|
|
|
|
|
2013-08-29 14:37:51 +00:00
|
|
|
|
Emitted when all windows have been closed and the application will quit.
|
|
|
|
|
Calling `event.preventDefault()` will prevent the default behaviour, which is
|
|
|
|
|
terminating the application.
|
2013-08-14 22:43:35 +00:00
|
|
|
|
|
2013-08-29 14:37:51 +00:00
|
|
|
|
See description of `window-all-closed` for the differences between `will-quit`
|
|
|
|
|
and it.
|
2013-08-14 22:43:35 +00:00
|
|
|
|
|
2014-09-25 13:47:54 +00:00
|
|
|
|
## Event: quit
|
|
|
|
|
|
|
|
|
|
Emitted when application is quitting.
|
|
|
|
|
|
2013-08-14 22:43:35 +00:00
|
|
|
|
## Event: open-file
|
|
|
|
|
|
|
|
|
|
* `event` Event
|
|
|
|
|
* `path` String
|
|
|
|
|
|
2013-08-29 14:37:51 +00:00
|
|
|
|
Emitted when user wants to open a file with the application, it usually
|
|
|
|
|
happens when the application is already opened and then OS wants to reuse the
|
|
|
|
|
application to open file.
|
2013-08-14 22:43:35 +00:00
|
|
|
|
|
|
|
|
|
You should call `event.preventDefault()` if you want to handle this event.
|
|
|
|
|
|
|
|
|
|
## Event: open-url
|
|
|
|
|
|
|
|
|
|
* `event` Event
|
|
|
|
|
* `url` String
|
|
|
|
|
|
2013-08-29 14:37:51 +00:00
|
|
|
|
Emitted when user wants to open a URL with the application, this URL scheme
|
|
|
|
|
must be registered to be opened by your application.
|
2013-08-14 22:43:35 +00:00
|
|
|
|
|
|
|
|
|
You should call `event.preventDefault()` if you want to handle this event.
|
|
|
|
|
|
2014-03-05 10:09:44 +00:00
|
|
|
|
## Event: activate-with-no-open-windows
|
|
|
|
|
|
|
|
|
|
Emitted when the application is activated while there is no opened windows. It
|
|
|
|
|
usually happens when user has closed all of application's windows and then
|
|
|
|
|
click on the application's dock icon.
|
|
|
|
|
|
2013-08-14 22:43:35 +00:00
|
|
|
|
## app.quit()
|
|
|
|
|
|
2013-08-29 14:37:51 +00:00
|
|
|
|
Try to close all windows. If all windows are successfully closed, the
|
|
|
|
|
`will-quit` event will be emitted and by default the application would be
|
|
|
|
|
terminated.
|
2013-08-14 22:43:35 +00:00
|
|
|
|
|
2013-08-29 14:37:51 +00:00
|
|
|
|
This method guarantees all `beforeunload` and `unload` handlers are correctly
|
|
|
|
|
executed. It is possible that a window cancels the quitting by returning
|
|
|
|
|
`false` in `beforeunload` handler.
|
2013-08-14 22:43:35 +00:00
|
|
|
|
|
|
|
|
|
## app.terminate()
|
|
|
|
|
|
2013-08-29 14:37:51 +00:00
|
|
|
|
Quit the application directly, it will not try to close all windows so cleanup
|
|
|
|
|
code will not run.
|
2013-08-14 22:43:35 +00:00
|
|
|
|
|
2014-08-15 15:29:36 +00:00
|
|
|
|
## app.getDataPath()
|
|
|
|
|
|
2014-08-17 03:33:55 +00:00
|
|
|
|
Returns the path for storing configuration files, with app name appended.
|
2014-08-15 15:29:36 +00:00
|
|
|
|
|
2014-08-17 03:33:55 +00:00
|
|
|
|
* `%APPDATA%\MyAppName` on Windows
|
|
|
|
|
* `~/.config/MyAppName` on Linux
|
|
|
|
|
* `~/Library/Application Support/MyAppName` on OS X
|
2014-08-15 15:29:36 +00:00
|
|
|
|
|
2013-08-14 22:43:35 +00:00
|
|
|
|
## app.getVersion()
|
|
|
|
|
|
2013-12-05 03:02:09 +00:00
|
|
|
|
Returns the version of loaded application, if no version is found in
|
|
|
|
|
application's `package.json`, the version of current bundle or executable would
|
|
|
|
|
be returned.
|
|
|
|
|
|
|
|
|
|
## app.getName()
|
|
|
|
|
|
|
|
|
|
Returns current application's name, the name in `package.json` would be
|
2013-12-05 03:46:36 +00:00
|
|
|
|
used.
|
2013-12-05 03:02:09 +00:00
|
|
|
|
|
2013-12-05 03:46:36 +00:00
|
|
|
|
Usually the `name` field of `package.json` is a short lowercased name, according
|
|
|
|
|
to the spec of npm modules. So usually you should also specify a `productName`
|
|
|
|
|
field, which is your application's full capitalized name, and it will be
|
|
|
|
|
preferred over `name` by atom-shell.
|
2013-08-14 22:43:35 +00:00
|
|
|
|
|
2014-08-19 13:26:45 +00:00
|
|
|
|
## app.resolveProxy(url, callback)
|
|
|
|
|
|
|
|
|
|
* `url` URL
|
|
|
|
|
* `callback` Function
|
|
|
|
|
|
|
|
|
|
Resolves the proxy information for `url`, the `callback` would be called with
|
|
|
|
|
`callback(proxy)` when the request is done.
|
|
|
|
|
|
2013-08-14 22:43:35 +00:00
|
|
|
|
## app.commandLine.appendSwitch(switch, [value])
|
|
|
|
|
|
|
|
|
|
Append a switch [with optional value] to Chromium's command line.
|
|
|
|
|
|
2013-10-05 05:03:08 +00:00
|
|
|
|
**Note:** This will not affect `process.argv`, and is mainly used by developers
|
|
|
|
|
to control some low-level Chromium behaviors.
|
2013-08-14 22:43:35 +00:00
|
|
|
|
|
|
|
|
|
## app.commandLine.appendArgument(value)
|
|
|
|
|
|
|
|
|
|
Append an argument to Chromium's command line. The argument will quoted properly.
|
|
|
|
|
|
|
|
|
|
**Note:** This will not affect `process.argv`.
|
|
|
|
|
|
|
|
|
|
## app.dock.bounce([type])
|
|
|
|
|
|
2013-08-29 14:37:51 +00:00
|
|
|
|
* `type` String - Can be `critical` or `informational`, the default is
|
|
|
|
|
* `informational`
|
2013-08-14 22:43:35 +00:00
|
|
|
|
|
2013-08-29 14:37:51 +00:00
|
|
|
|
When `critical` is passed, the dock icon will bounce until either the
|
|
|
|
|
application becomes active or the request is canceled.
|
2013-08-14 22:43:35 +00:00
|
|
|
|
|
2013-08-29 14:37:51 +00:00
|
|
|
|
When `informational` is passed, the dock icon will bounce for one second. The
|
|
|
|
|
request, though, remains active until either the application becomes active or
|
|
|
|
|
the request is canceled.
|
2013-08-14 22:43:35 +00:00
|
|
|
|
|
|
|
|
|
An ID representing the request would be returned.
|
|
|
|
|
|
|
|
|
|
**Note:** This API is only available on Mac.
|
|
|
|
|
|
|
|
|
|
## app.dock.cancelBounce(id)
|
|
|
|
|
|
|
|
|
|
* `id` Integer
|
|
|
|
|
|
|
|
|
|
Cancel the bounce of `id`.
|
|
|
|
|
|
|
|
|
|
**Note:** This API is only available on Mac.
|
|
|
|
|
|
|
|
|
|
## app.dock.setBadge(text)
|
|
|
|
|
|
|
|
|
|
* `text` String
|
|
|
|
|
|
|
|
|
|
Sets the string to be displayed in the dock’s badging area.
|
|
|
|
|
|
|
|
|
|
**Note:** This API is only available on Mac.
|
|
|
|
|
|
|
|
|
|
## app.dock.getBadge()
|
|
|
|
|
|
|
|
|
|
Returns the badge string of the dock.
|
|
|
|
|
|
|
|
|
|
**Note:** This API is only available on Mac.
|
2014-06-25 03:55:33 +00:00
|
|
|
|
|
|
|
|
|
## app.dock.hide()
|
|
|
|
|
|
|
|
|
|
Hides the dock icon.
|
|
|
|
|
|
|
|
|
|
**Note:** This API is only available on Mac.
|
|
|
|
|
|
|
|
|
|
## app.dock.show()
|
|
|
|
|
|
|
|
|
|
Shows the dock icon.
|
|
|
|
|
|
|
|
|
|
**Note:** This API is only available on Mac.
|