From ba704cf29eb33373fc547be0884361e417e7aec2 Mon Sep 17 00:00:00 2001 From: Damien Guard Date: Thu, 25 Aug 2016 11:31:17 -0700 Subject: [PATCH] Copy file icon and use as icon for Atom associated files --- build/tasks/build-task.coffee | 7 ++----- src/main-process/win-shell.coffee | 6 +++++- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/build/tasks/build-task.coffee b/build/tasks/build-task.coffee index be72d52c1..d69e46efc 100644 --- a/build/tasks/build-task.coffee +++ b/build/tasks/build-task.coffee @@ -176,11 +176,8 @@ module.exports = (grunt) -> cp path.join('resources', 'mac', 'speakeasy.pem'), path.resolve(appDir, '..', 'speakeasy.pem') if process.platform is 'win32' - cp path.join('resources', 'win', 'atom.cmd'), path.join(shellAppDir, 'resources', 'cli', 'atom.cmd') - cp path.join('resources', 'win', 'atom.sh'), path.join(shellAppDir, 'resources', 'cli', 'atom.sh') - cp path.join('resources', 'win', 'atom.js'), path.join(shellAppDir, 'resources', 'cli', 'atom.js') - cp path.join('resources', 'win', 'apm.cmd'), path.join(shellAppDir, 'resources', 'cli', 'apm.cmd') - cp path.join('resources', 'win', 'apm.sh'), path.join(shellAppDir, 'resources', 'cli', 'apm.sh') + [ 'atom.cmd', 'atom.sh', 'atom.js', 'apm.cmd', 'apm.sh', 'file.ico' ] + .forEach (file) -> cp path.join('resources', 'win', file), path.join(shellAppDir, 'resources', 'cli', file) if process.platform is 'linux' cp path.join('resources', 'app-icons', channel, 'png'), path.join(buildDir, 'icons') diff --git a/src/main-process/win-shell.coffee b/src/main-process/win-shell.coffee index 2bb993e9c..ea070f555 100644 --- a/src/main-process/win-shell.coffee +++ b/src/main-process/win-shell.coffee @@ -3,6 +3,7 @@ Path = require 'path' exeName = Path.basename(process.execPath) appPath = "\"#{process.execPath}\"" +fileIconPath = "\"#{Path.join(process.execPath, '..', 'resources', 'cli', 'file.ico')}\"" isBeta = appPath.includes(' Beta') appName = exeName.replace('atom', (if isBeta then 'Atom Beta' else 'Atom' )).replace('.exe', '') @@ -40,7 +41,10 @@ class ShellOption exports.appName = appName exports.fileHandler = new ShellOption("\\Software\\Classes\\Applications\\#{exeName}", - [{key: 'shell\\open\\command', name: '', value: "#{appPath} \"%1\""}] + [ + {key: 'shell\\open\\command', name: '', value: "#{appPath} \"%1\""}, + {key: 'DefaultIcon', name: '', value: "#{fileIconPath}"} + ] ) contextParts = [