diff --git a/index.js b/index.js index ef3d65c..1d02a7d 100644 --- a/index.js +++ b/index.js @@ -5,8 +5,25 @@ var app = require('electron').app; var fs = require('fs'); var os = require('os'); -var desktopLinkExists = function() { - return fs.existsSync(path.join(os.homedir(), 'desktop', 'Brave.lnk')) +var desktopLinkExists = function(channel) { + var linkName + switch (channel) { + case 'nightly': + linkName = 'BraveNightly' + break + case 'developer': + linkName = 'BraveDeveloper' + break + case 'beta': + linkName = 'BraveBeta' + break + case 'dev': + linkName = 'Brave' + break + default: + linkName = 'Brave' + } + return fs.existsSync(path.join(os.homedir(), 'desktop', `${linkName}.lnk`)) } var run = function(args, done) { @@ -17,19 +34,29 @@ var run = function(args, done) { }).on('close', done); }; -var check = function() { +var check = function(channel = 'dev') { if (process.platform === 'win32') { var cmd = process.argv[1]; debug('processing squirrel command `%s`', cmd); var target = path.basename(process.execPath); + let userDataDirArg = '--user-data-dir=brave-' + channel + if (cmd === '--squirrel-install') { - run(['--createShortcut=' + target + ''], app.quit); + if (channel === 'dev') { + run(['--createShortcut=' + target + ''], app.quit); + } else { + run(['--createShortcut=' + target + '', '--process-start-args=' + '--user-data-dir=brave-' + channel], app.quit); + } return true; } if (cmd === '--squirrel-updated') { - if (desktopLinkExists()) { - run(['--createShortcut=' + target + ''], app.quit); + if (desktopLinkExists(channel)) { + if (channel === 'dev') { + run(['--createShortcut=' + target + ''], app.quit); + } else { + run(['--createShortcut=' + target + '', '--process-start-args=' + '--user-data-dir=brave-' + channel], app.quit); + } } return true; } @@ -45,4 +72,4 @@ var check = function() { return false; }; -module.exports = check(); +module.exports = check;