From 12f2c4010261d7615d7290b62540c793354f8e34 Mon Sep 17 00:00:00 2001 From: Pliable Pixels Date: Fri, 7 Sep 2018 09:05:30 -0400 Subject: #701 initial code --- electron_js/main.js | 12 +++++++++++- electron_js/package.json | 2 +- make_desktop.sh | 14 +++++++++----- package.json | 35 ++++++++++++++++++++++++++++++++--- 4 files changed, 53 insertions(+), 10 deletions(-) diff --git a/electron_js/main.js b/electron_js/main.js index 2d2f4ec4..efac0235 100644 --- a/electron_js/main.js +++ b/electron_js/main.js @@ -2,6 +2,8 @@ const electron = require('electron'); const windowStateKeeper = require('electron-window-state'); const {app, globalShortcut, Menu} = electron; const {dialog} = require('electron') +const path = require('path'); +const url = require('url'); // Module to create native browser window. const {BrowserWindow} = electron; @@ -98,7 +100,15 @@ const mx = globalShortcut.register('CommandOrControl+Alt+F', () => { } // and load the index.html of the app. - win.loadURL(`file://${__dirname}/index.html`); + + const startUrl = process.env.ELECTRON_START_URL || url.format({ + pathname: path.join(__dirname, '/../www/index.html'), + protocol: 'file:', + slashes: true + }); + + win.loadURL(startUrl); + //win.loadURL(`file://${__dirname}/index.html`); // Create the Application's main menu diff --git a/electron_js/package.json b/electron_js/package.json index bcab2f07..def2632f 100644 --- a/electron_js/package.json +++ b/electron_js/package.json @@ -1,5 +1,5 @@ { "name" : "zmNinjaDesktop", "version" : "0.1.0", - "main" : "main.js" + "main" : "./main.js" } diff --git a/make_desktop.sh b/make_desktop.sh index 3c20b42f..2d2b3134 100755 --- a/make_desktop.sh +++ b/make_desktop.sh @@ -87,6 +87,9 @@ do exe rm -fr $i/app exe mkdir $i/app exe mkdir $i/app/node_modules + exe mkdir $i/app/www + exe mkdir $i/app/electron_js + echo Copying over relevant node modules... exe cp -R node_modules/electron-window-state $i/app/node_modules exe cp -R node_modules/jsonfile $i/app/node_modules @@ -98,15 +101,16 @@ do exe cp -R node_modules/keypress $i/app/node_modules echo Copying over zmNinja code... - exe cp -R www/* $i/app/ - exe cp electron_js/* $i/app + exe cp package.json $i/app + exe cp -R www/* $i/app/www + exe cp electron_js/main.js $i/app/electron_js exe cp www/ZMNINJA-LICENSE-DESKTOP-CLIENT.txt $BASENAME echo $APPVER > $BASENAME/version exe cp resources/icon.png $BASENAME exe cd $i - cat app/js/DataModel.js | sed "s/var zmAppVersion[ ]*=[ ]*\"unknown\"/var zmAppVersion=\"$APPVER\"/" > app/js/DataModel.js.tmp - exe rm -fr app/js/DataModel.js - exe mv app/js/DataModel.js.tmp app/js/DataModel.js + cat app/www/js/DataModel.js | sed "s/var zmAppVersion[ ]*=[ ]*\"unknown\"/var zmAppVersion=\"$APPVER\"/" > app/www/js/DataModel.js.tmp + exe rm -fr app/www/js/DataModel.js + exe mv app/www/js/DataModel.js.tmp app/www/js/DataModel.js rm -fr app.asar diff --git a/package.json b/package.json index 0eb0cf1f..0a800a00 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,10 @@ { "name": "com.pliablepixels.zmninjapro", - "version": "1.3.005", + "description": "Home security mobile app for ZoneMinder", + "version": "1.3.018", "displayName": "zmNinja", + "author": "Pliable Pixels", + "license": "custom see LICENSE.md", "cordova": { "platforms": [ "ios", @@ -100,10 +103,36 @@ }, "devDependencies": { "bower": "^1.8.4", + "electron": "^2.0.8", + "electron-builder": "^20.28.3", "gulp": "^3.9.1", "gulp-concat": "^2.6.1", "gulp-minify-css": "^1.2.4", "gulp-rename": "^1.2.3", - "gulp-sass": "^4.0.1" + "gulp-sass": "^4.0.1", + "npm-version": "^1.1.0" + }, + "scripts": { + "electron": "electron .", + "pack": "electron-builder -mw --dir", + "dist": "electron-builder -mw" + }, + "main": "electron_js/main.js", + "build": { + "asar": true, + "appId": "com.pliablepixels.zmninja_pro", + "files": [ + "electron_js/main.js", + "www/**/*" + ], + "mac": { + "category": "productivity", + "icon": "resources/icon.png", + "target": "zip" + }, + "win": { + "icon": "resources/icon.png", + "target": "portable" + } } -} \ No newline at end of file +} -- cgit v1.2.3