diff --git a/README.md b/README.md new file mode 100644 index 0000000..4c80583 --- /dev/null +++ b/README.md @@ -0,0 +1,15 @@ +# Electron Scuttlebot + +Code for wrapping scuttlebot in a small Electron UI, and to create app packages and installers. + +``` +npm install -d +npm run build +npm run pack +``` + +Relevant docs: + + - https://github.com/maxogden/electron-packager + - https://github.com/loopline-systems/electron-builder + - https://github.com/atom/electron/tree/master/docs \ No newline at end of file diff --git a/icon.png b/app/icon.png similarity index 100% rename from icon.png rename to app/icon.png diff --git a/index.js b/app/index.js similarity index 94% rename from index.js rename to app/index.js index 5082d8f..9ec0a02 100644 --- a/index.js +++ b/app/index.js @@ -14,7 +14,7 @@ app.on('ready', function ready () { require('scuttlebot').init(config, function (err, sbot) { // setup tray icon - tray = new Tray('./icon.png') + tray = new Tray(__dirname+'/icon.png') var contextMenu = Menu.buildFromTemplate([ { label: 'Open App', click: onopen }, { label: 'Quit', click: onquit } diff --git a/assets/.DS_Store b/assets/.DS_Store new file mode 100644 index 0000000..0d93032 Binary files /dev/null and b/assets/.DS_Store differ diff --git a/assets/icon.pxm b/assets/icon.pxm new file mode 100644 index 0000000..5ad2835 Binary files /dev/null and b/assets/icon.pxm differ diff --git a/assets/icon1024.png b/assets/icon1024.png new file mode 100644 index 0000000..462fb56 Binary files /dev/null and b/assets/icon1024.png differ diff --git a/assets/osx/installer.png b/assets/osx/installer.png new file mode 100644 index 0000000..462fb56 Binary files /dev/null and b/assets/osx/installer.png differ diff --git a/assets/osx/scuttlebot.icns b/assets/osx/scuttlebot.icns new file mode 100644 index 0000000..18e5905 Binary files /dev/null and b/assets/osx/scuttlebot.icns differ diff --git a/assets/win/scuttlebot.ico b/assets/win/scuttlebot.ico new file mode 100644 index 0000000..b092696 Binary files /dev/null and b/assets/win/scuttlebot.ico differ diff --git a/package.json b/package.json index 187f97d..86d00fb 100644 --- a/package.json +++ b/package.json @@ -2,13 +2,25 @@ "name": "electron-scuttlebot", "version": "1.0.0", "description": "", - "main": "index.js", + "main": "app/index.js", "scripts": { - "start": "electron ." + "start": "electron .", + "clean": "rm -rf ./dist", + "clean:osx": "rm -rf ./dist/osx", + "clean:win": "rm -rf ./dist/win", + "build": "npm run clean && npm run build:osx && npm run build:win", + "build:icon": "./scripts/make-icns.sh assets/icon1024.png assets/osx/scuttlebot.icns", + "build:osx": "npm run clean:osx && electron-packager ./ \"Scuttlebot\" --out=dist/osx --platform=darwin --arch=x64 --ignore=node_modules/electron* --version=0.28.3 --icon=assets/osx/scuttlebot.icns", + "build:win": "npm run clean:win && electron-packager ./ \"Scuttlebot\" --out=dist/win --platform=win32 --arch=ia32 --ignore=node_modules/electron* --version=0.28.3 --icon=assets/win/scuttlebot.ico", + "pack": "npm run pack:osx && npm run pack:win", + "pack:osx": "electron-builder \"dist/osx/Scuttlebot.app\" --platform=osx --out=\"dist/osx\" --config=packager.json", + "pack:win": "electron-builder \"dist/win/Scuttlebot-win32\" --platform=win --out=\"dist/win\" --config=packager.json" }, - "author": "", + "author": "Paul Frazee ", "license": "?", "devDependencies": { + "electron-builder": "^2.0.0", + "electron-packager": "^4.1.3", "electron-prebuilt": "^0.28.2" }, "dependencies": { diff --git a/packager.json b/packager.json new file mode 100644 index 0000000..a46233e --- /dev/null +++ b/packager.json @@ -0,0 +1,16 @@ +{ + "osx" : { + "title": "Secure Scuttlebot", + "background": "assets/osx/installer.png", + "icon": "assets/osx/scuttlebot.icns", + "icon-size": 80, + "contents": [ + { "x": 438, "y": 344, "type": "link", "path": "/Applications" }, + { "x": 192, "y": 344, "type": "file" } + ] + }, + "win" : { + "title" : "Secure Scuttlebot", + "icon" : "assets/win/scuttlebot.ico" + } +} \ No newline at end of file diff --git a/scripts/make-icns.sh b/scripts/make-icns.sh new file mode 100755 index 0000000..30c9255 --- /dev/null +++ b/scripts/make-icns.sh @@ -0,0 +1,14 @@ +#!/bin/sh +mkdir /tmp/icon.iconset +sips -z 16 16 $1 --out /tmp/icon.iconset/icon_16x16.png +sips -z 32 32 $1 --out /tmp/icon.iconset/icon_16x16@2x.png +sips -z 32 32 $1 --out /tmp/icon.iconset/icon_32x32.png +sips -z 64 64 $1 --out /tmp/icon.iconset/icon_32x32@2x.png +sips -z 128 128 $1 --out /tmp/icon.iconset/icon_128x128.png +sips -z 256 256 $1 --out /tmp/icon.iconset/icon_128x128@2x.png +sips -z 256 256 $1 --out /tmp/icon.iconset/icon_256x256.png +sips -z 512 512 $1 --out /tmp/icon.iconset/icon_256x256@2x.png +sips -z 512 512 $1 --out /tmp/icon.iconset/icon_512x512.png +cp $1 /tmp/icon.iconset/icon_512x512@2x.png +iconutil -c icns --output $2 /tmp/icon.iconset +rm -R /tmp/icon.iconset \ No newline at end of file