
'finish-launching' is more like a OS X message name, and in atom-shell it means initialization has done, so 'ready' seems to be a better name and more easy to remember. The 'will-finish-launching' event just represents the corresponding message on OS X and is the same with 'ready' on other platforms, so we keep its name to indicate that it's only useful for OS X specified code.
35 lines
939 B
CoffeeScript
35 lines
939 B
CoffeeScript
BrowserWindow = require 'browser-window'
|
|
EventEmitter = require('events').EventEmitter
|
|
|
|
bindings = process.atomBinding 'app'
|
|
|
|
Application = bindings.Application
|
|
Application::__proto__ = EventEmitter.prototype
|
|
|
|
app = new Application
|
|
|
|
app.getHomeDir = ->
|
|
process.env[if process.platform is 'win32' then 'USERPROFILE' else 'HOME']
|
|
|
|
app.setApplicationMenu = (menu) ->
|
|
require('menu').setApplicationMenu menu
|
|
|
|
app.getApplicationMenu = ->
|
|
require('menu').getApplicationMenu()
|
|
|
|
app.commandLine =
|
|
appendSwitch: bindings.appendSwitch,
|
|
appendArgument: bindings.appendArgument
|
|
|
|
if process.platform is 'darwin'
|
|
app.dock =
|
|
bounce: (type='informational') -> bindings.dockBounce type
|
|
cancelBounce: bindings.dockCancelBounce
|
|
setBadge: bindings.dockSetBadgeText
|
|
getBadge: bindings.dockGetBadgeText
|
|
|
|
# Support old event name.
|
|
app.once 'ready', -> app.emit 'finish-launching'
|
|
|
|
# Only one App object pemitted.
|
|
module.exports = app
|