Parse squirrel event from process.argv

This commit is contained in:
Kevin Sawicki 2014-11-13 14:25:39 -08:00
parent 44181457c5
commit d7d678c082
2 changed files with 19 additions and 16 deletions

View File

@ -14,6 +14,10 @@ process.on 'uncaughtException', (error={}) ->
nslog(error.stack) if error.stack?
start = ->
if process.platform is 'win32'
handleSquirrelEvents = require './squirrel-events'
return if handleSquirrelEvents()
args = parseCommandLine()
addPathToOpen = (event, pathToOpen) ->
@ -32,10 +36,6 @@ start = ->
setupCrashReporter()
app.on 'ready', ->
if process.platform is 'win32'
handleSquirrelEvents = require './squirrel-events'
return if handleSquirrelEvents(args)
app.removeListener 'open-file', addPathToOpen
app.removeListener 'open-url', addUrlToOpen

View File

@ -13,15 +13,18 @@ removeShortcut = ->
ChildProcess.execFile updateDotExe, ['--removeShortcut', exeName], ->
app.quit()
module.exports = (args) ->
if args['squirrel-install'] or args['squirrel-updated']
createShortcut()
true
else if args['squirrel-uninstall']
removeShortcut()
true
else if args['squirrel-obsolete']
app.quit()
true
else
false
module.exports = ->
return false if process.argv.length isnt 2
switch process.argv[1]
when 'squirrel-install', 'squirrel-updated'
createShortcut()
true
when 'squirrel-uninstall'
removeShortcut()
true
when 'squirrel-obsolete'
app.quit()
true
else
false