From d918eb6fa7dfbd9c90532be758343c1ebe2439cd Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 18 Nov 2014 10:52:45 -0800 Subject: [PATCH] Install directory menus --- src/browser/squirrel-update.coffee | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/browser/squirrel-update.coffee b/src/browser/squirrel-update.coffee index 67af52140..b72480542 100644 --- a/src/browser/squirrel-update.coffee +++ b/src/browser/squirrel-update.coffee @@ -30,6 +30,8 @@ exports.existsSync = -> installContextMenu = (callback) -> fileKeyPath = 'HKCU\\Software\\Classes\\*\\shell\\Atom' + directoryKeyPath = 'HKCU\\Software\\Classes\\directory\\shell\\Atom' + backgroundKeyPath = 'HKCU\\Software\\Classes\\directory\\background\\shell\\Atom' spawnReg = (args, callback) -> args.unshift('add') @@ -42,6 +44,18 @@ installContextMenu = (callback) -> error?.code ?= code callback(error) + installMenu = (keyPath, callback) -> + args = [keyPath, '/ve', '/d', 'Open with Atom', '/f'] + spawnReg args, -> + args = [keyPath, '/v', 'Icon', '/d', process.execPath, '/f'] + spawnReg args, -> + args = ["#{keyPath}\\command", '/ve', '/d', process.execPath, '/f'] + spawnReg(args, callback) + + installMenu fileKeyPath, -> + installMenu directoryKeyPath, -> + installMenu(backgroundKeyPath, callback) + installFileMenu = (callback) -> args = [fileKeyPath, '/ve', '/d', 'Open with Atom', '/f'] spawnReg args, (error) ->