hyper-folder-icon
Advanced tools
Comparing version 1.1.1 to 1.2.0
@@ -5,2 +5,3 @@ const Icns = require('apple-icns'); | ||
const plist = require('plist'); | ||
const winIco = require('./windows').default; | ||
@@ -28,11 +29,11 @@ const RESOURCEFORK = 'rf'; | ||
switch(process.platform) { | ||
case 'darwin': { | ||
if (folder.substr(folder.length - 4) === '.app') { | ||
case 'darwin': | ||
if (/\.app/.test(folder)) { | ||
this.type = APPFOLDER; | ||
} else { | ||
let mount = folder.split('/'); | ||
if (mount[1] == 'Volumes' && mount.length > 2) { | ||
let _mount = '/' + mount[1] + '/' + mount[2] + '/.VolumeIcon.icns'; | ||
console.log('read ' + _mount); | ||
if (fs.existsSync(_mount)) { | ||
@@ -48,8 +49,9 @@ this.mount = _mount; | ||
} | ||
} | ||
break; | ||
break; | ||
case 'win32': | ||
this.type = WINDOWS; | ||
break; | ||
case 'linux': | ||
default: | ||
break; | ||
break; | ||
} | ||
@@ -145,3 +147,21 @@ } | ||
fs.readFile(this.folder + '/Contents/Info.plist', (err,data) => { | ||
let findApp = (folders) => { | ||
for (let i = 0; i < folders.length; i++) { | ||
if (folders[i].substr(folders[i].length - 4) === '.app') { | ||
return i; | ||
} | ||
} | ||
return undefined; | ||
} | ||
let folderIndex = findApp(this.folder.split('/')); | ||
if (!folderIndex) { | ||
reject('No app found'); | ||
} | ||
let folder = this.folder.split('/').slice(0,folderIndex + 1).join('/'); | ||
fs.readFile(folder + '/Contents/Info.plist', (err,data) => { | ||
if (err) { | ||
@@ -157,3 +177,3 @@ return reject(err); | ||
fs.readFile(this.folder | ||
fs.readFile(folder | ||
+ '/Contents/Resources/' | ||
@@ -176,2 +196,9 @@ + info.CFBundleIconFile , (err,data) => { | ||
case WINDOWS: | ||
return new Promise((resolve,reject) => { | ||
winIco(this.folder) | ||
.then((png) => resolve(png)) | ||
.catch((err) => reject(err)); | ||
console.log('going to do this' + this.folder); | ||
}); | ||
break; | ||
default: | ||
@@ -178,0 +205,0 @@ break; |
{ | ||
"name": "hyper-folder-icon", | ||
"version": "1.1.1", | ||
"version": "1.2.0", | ||
"description": "Use folder icons in MacOS and Windows with Hyper", | ||
@@ -10,2 +10,3 @@ "main": "./index.js", | ||
"iconfinder.js", | ||
"windows.js", | ||
"folder.png" | ||
@@ -25,2 +26,5 @@ ], | ||
"apple-icns": "git+https://github.com/moimart/node-apple-icns.git#buffer-change", | ||
"decode-ico": "^0.2.1", | ||
"ini-config-parser": "^1.0.3", | ||
"jimp": "^0.2.28", | ||
"plist": "^3.0.1", | ||
@@ -27,0 +31,0 @@ "resourceforkjs": "0.0.4" |
hyper-folder-icon | ||
====== | ||
# Custom MacOS folder icons shown in Hyper terminal Tabs | ||
# Custom MacOS and Windows folder icons shown in Hyper terminal Tabs | ||
@@ -14,2 +14,6 @@ # Features for MacOS: | ||
# Features for WINDOWS (Untested) | ||
- Show icon from Desktop.ini file | ||
## Optional Configuration keys | ||
@@ -20,3 +24,3 @@ | ||
- tabIconTopMargin: default -30 -> Integer (Note: This is a pixel value) | ||
- tabIconLeftMargin: defatul 10 -> Integer (Note: This is a percentage value) | ||
- tabIconLeftMargin: default 10 -> Integer (Note: This is a percentage value) | ||
@@ -23,0 +27,0 @@ ## Notes |
18395
8
457
33
6
4
+ Addeddecode-ico@^0.2.1
+ Addedini-config-parser@^1.0.3
+ Addedjimp@^0.2.28
+ Addedajv@6.12.6(transitive)
+ Addedasn1@0.2.6(transitive)
+ Addedassert-plus@1.0.0(transitive)
+ Addedasynckit@0.4.0(transitive)
+ Addedaws-sign2@0.7.0(transitive)
+ Addedaws4@1.13.2(transitive)
+ Addedbcrypt-pbkdf@1.0.2(transitive)
+ Addedbignumber.js@2.4.0(transitive)
+ Addedbmp-js@0.0.3(transitive)
+ Addedbuffer-equal@0.0.1(transitive)
+ Addedcaseless@0.12.0(transitive)
+ Addedcentra@2.7.0(transitive)
+ Addedcoffee-script@1.12.7(transitive)
+ Addedcombined-stream@1.0.8(transitive)
+ Addedcore-util-is@1.0.2(transitive)
+ Addeddashdash@1.14.1(transitive)
+ Addeddecode-ico@0.2.1(transitive)
+ Addeddeep-extend@0.5.1(transitive)
+ Addeddelayed-stream@1.0.0(transitive)
+ Addeddom-walk@0.1.2(transitive)
+ Addedecc-jsbn@0.1.2(transitive)
+ Addedes6-promise@3.3.1(transitive)
+ Addedexif-parser@0.1.12(transitive)
+ Addedextend@3.0.2(transitive)
+ Addedextsprintf@1.3.0(transitive)
+ Addedfast-deep-equal@3.1.3(transitive)
+ Addedfast-json-stable-stringify@2.1.0(transitive)
+ Addedfile-type@3.9.0(transitive)
+ Addedfollow-redirects@1.15.9(transitive)
+ Addedforever-agent@0.6.1(transitive)
+ Addedform-data@2.3.3(transitive)
+ Addedgetpass@0.1.7(transitive)
+ Addedglob@7.2.3(transitive)
+ Addedglobal@4.4.0(transitive)
+ Addedhar-schema@2.0.0(transitive)
+ Addedhar-validator@5.1.5(transitive)
+ Addedhttp-signature@1.2.0(transitive)
+ Addedini-config-parser@1.0.4(transitive)
+ Addedip-regex@1.0.3(transitive)
+ Addedis-function@1.0.2(transitive)
+ Addedis-typedarray@1.0.0(transitive)
+ Addedisstream@0.1.2(transitive)
+ Addedjimp@0.2.28(transitive)
+ Addedjpeg-js@0.2.0(transitive)
+ Addedjsbn@0.1.1(transitive)
+ Addedjson-schema@0.4.0(transitive)
+ Addedjson-schema-traverse@0.4.1(transitive)
+ Addedjson-stringify-safe@5.0.1(transitive)
+ Addedjsprim@1.4.2(transitive)
+ Addedload-bmfont@1.4.2(transitive)
+ Addedmime@1.6.0(transitive)
+ Addedmime-db@1.52.0(transitive)
+ Addedmime-types@2.1.35(transitive)
+ Addedmin-document@2.19.0(transitive)
+ Addedoauth-sign@0.9.0(transitive)
+ Addedparse-bmfont-ascii@1.0.6(transitive)
+ Addedparse-bmfont-binary@1.0.6(transitive)
+ Addedparse-bmfont-xml@1.1.6(transitive)
+ Addedparse-headers@2.0.5(transitive)
+ Addedperformance-now@2.1.0(transitive)
+ Addedphin@3.7.1(transitive)
+ Addedpixelmatch@4.0.2(transitive)
+ Addedpngjs@3.4.0(transitive)
+ Addedprocess@0.11.10(transitive)
+ Addedpsl@1.15.0(transitive)
+ Addedpunycode@2.3.1(transitive)
+ Addedqs@6.5.3(transitive)
+ Addedread-chunk@1.0.1(transitive)
+ Addedrequest@2.88.2(transitive)
+ Addedrimraf@2.7.1(transitive)
+ Addedsafe-buffer@5.2.1(transitive)
+ Addedsafer-buffer@2.1.2(transitive)
+ Addedsax@1.4.1(transitive)
+ Addedsshpk@1.18.0(transitive)
+ Addedstream-to@0.2.2(transitive)
+ Addedstream-to-buffer@0.1.0(transitive)
+ Addedtinycolor2@1.6.0(transitive)
+ Addedto-data-view@1.1.0(transitive)
+ Addedtough-cookie@2.5.0(transitive)
+ Addedtunnel-agent@0.6.0(transitive)
+ Addedtweetnacl@0.14.5(transitive)
+ Addeduri-js@4.4.1(transitive)
+ Addedurl-regex@3.2.0(transitive)
+ Addeduuid@3.4.0(transitive)
+ Addedverror@1.10.0(transitive)
+ Addedxhr@2.6.0(transitive)
+ Addedxml-parse-from-string@1.0.1(transitive)
+ Addedxml2js@0.5.0(transitive)
+ Addedxmlbuilder@11.0.1(transitive)
+ Addedxtend@4.0.2(transitive)