From bdce4a71b6642f65a7d768d5a52d2366fd59614c Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Wed, 23 Dec 2015 15:10:16 -0700 Subject: [PATCH 01/18] fix button click events when stopped --- console/src/css/style.less | 4 +++- console/src/index.html | 4 ++-- console/src/index.js | 25 ++++++++++++++++++------- 3 files changed, 23 insertions(+), 10 deletions(-) diff --git a/console/src/css/style.less b/console/src/css/style.less index 64c202482b..b156b990e0 100644 --- a/console/src/css/style.less +++ b/console/src/css/style.less @@ -203,6 +203,7 @@ header { margin-left: @title-margin-left; #go-server-button { + text-align: center; float: left; box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.5); cursor: pointer; @@ -225,7 +226,7 @@ header { #server-stopped-text { float: left; margin: 20px 0px 0px 20px; - color: red; + color: #D42043; } } } @@ -276,6 +277,7 @@ header { &.disabled { opacity: 0.3; + cursor: default; } } diff --git a/console/src/index.html b/console/src/index.html index 8a54567c14..3c9e4a6a5d 100644 --- a/console/src/index.html +++ b/console/src/index.html @@ -73,9 +73,9 @@ to build, explore, and share. We’ve started you off with a
home full of goodies to help you learn the ropes. Enjoy!

- +
Server stopped
Click "Restart"
diff --git a/console/src/index.js b/console/src/index.js index 6da2986a0f..082ade194c 100755 --- a/console/src/index.js +++ b/console/src/index.js @@ -4,11 +4,14 @@ $(function() { var settingsButton = $('#manage-server #settings'); + const DISABLED_HREF_ATTR = 'data-disabled-href'; function toggleManageButton(button, enabled) { if (enabled) { - button.attr('href', '#'); + button.attr('href', button.attr(DISABLED_HREF_ATTR)); + button.removeAttr(DISABLED_HREF_ATTR); button.removeClass('disabled'); } else { + button.attr(DISABLED_HREF_ATTR, button.attr('href')); button.removeAttr('href'); button.addClass('disabled'); } @@ -65,7 +68,7 @@ $(function() { toggleManageButton(stopButton, false); // disable the go button - goButton.addClass('disabled'); + toggleManageButton(goButton, false); // show the server stopped text serverStopped.show(); @@ -76,7 +79,7 @@ $(function() { toggleManageButton(stopButton, true); // enable the go button - goButton.removeClass('disabled'); + toggleManageButton(goButton, true); // hide the server stopped text serverStopped.hide(); @@ -89,15 +92,23 @@ $(function() { ipcRenderer.send('start-interface'); }); - $('#go-server-button:not(.disabled)').click(function(){ - ipcRenderer.send('start-interface', { url: 'hifi://localhost' }); + $('#go-server-button').click(function(e){ + if ($(this).hasClass('disabled')) { + e.preventDefault(); + } else { + ipcRenderer.send('start-interface', { url: 'hifi://localhost' }); + } }) $('#manage-server #restart').click(function() { ipcRenderer.send('restart-server', { name: 'home' }); }); - $('#manage-server #stop').click(function() { - ipcRenderer.send('stop-server', { name: 'home' }); + $('#manage-server #stop').click(function(e) { + if ($(this).hasClass('disabled')) { + e.preventDefault(); + } else { + ipcRenderer.send('stop-server', { name: 'home' }); + } }); $('#open-logs').click(function() { ipcRenderer.send('open-logs'); From 25666577f4c475948e40d46ee6d261b867513a09 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Wed, 23 Dec 2015 15:10:48 -0700 Subject: [PATCH 02/18] add some extra spacing --- console/src/index.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/console/src/index.js b/console/src/index.js index 082ade194c..01360fedfd 100755 --- a/console/src/index.js +++ b/console/src/index.js @@ -98,11 +98,12 @@ $(function() { } else { ipcRenderer.send('start-interface', { url: 'hifi://localhost' }); } - }) + }); $('#manage-server #restart').click(function() { ipcRenderer.send('restart-server', { name: 'home' }); }); + $('#manage-server #stop').click(function(e) { if ($(this).hasClass('disabled')) { e.preventDefault(); @@ -110,6 +111,7 @@ $(function() { ipcRenderer.send('stop-server', { name: 'home' }); } }); + $('#open-logs').click(function() { ipcRenderer.send('open-logs'); }); From 12bb2c1b7a0470f26c16fe1bd1bf7461a6dd3de8 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Wed, 23 Dec 2015 15:54:29 -0700 Subject: [PATCH 03/18] create new window if closed when dock icon clicked --- console/src/main.js | 89 ++++++++++++++++++++++++--------------------- 1 file changed, 47 insertions(+), 42 deletions(-) diff --git a/console/src/main.js b/console/src/main.js index 4b09379576..d2e6d53af2 100644 --- a/console/src/main.js +++ b/console/src/main.js @@ -25,14 +25,53 @@ var path = require('path'); var TRAY_ICON = path.join(__dirname, '../resources/console-tray.png'); var APP_ICON = path.join(__dirname, '../resources/console.png'); -// Quit when all windows are closed. -app.on('window-all-closed', function() { - // On OS X it is common for applications and their menu bar - // to stay active until the user quits explicitly with Cmd + Q - if (process.platform != 'darwin') { - app.quit(); +// Don't quit when all windows are closed, make user explicitly quit from tray +app.on('window-all-closed', function() {}); + +function createNewWindow() { + // Create the browser window. + mainWindow = new BrowserWindow({ + title: "High Fidelity", + width: 970, + height: 775, + icon: APP_ICON, + resizable: false + }); + + // In debug mode, keep the menu bar, but auto-hide it so the UI still looks the same. + if (debug) { + mainWindow.setAutoHideMenuBar(true); + } else { + mainWindow.setMenu(null); } -}); + + // and load the index.html of the app. + mainWindow.loadURL('file://' + __dirname + '/index.html'); + + // Open the DevTools. + mainWindow.webContents.openDevTools(); + + // Emitted when the window is closed. + mainWindow.on('closed', function() { + // Dereference the window object, usually you would store windows + // in an array if your app supports multi windows, this is the time + // when you should delete the corresponding element. + mainWindow = null; + }); + + // When a link is clicked that has `_target="_blank"`, open it in the user's native browser + mainWindow.webContents.on('new-window', function(e, url) { + e.preventDefault(); + shell.openExternal(url); + }); +} + +// When a user clicks on dock icon, re-create the window if we don't have one +app.on('activate', function(){ + if (!mainWindow) { + createNewWindow(); + } +}) // Check command line arguments to see how to find binaries var argv = require('yargs').argv; @@ -81,41 +120,7 @@ app.on('ready', function() { // Require electron-compile to use LESS files in place of basic CSS require('electron-compile').init(); - // Create the browser window. - mainWindow = new BrowserWindow({ - title: "High Fidelity", - width: 970, - height: 775, - icon: APP_ICON, - resizable: false - }); - - // In debug mode, keep the menu bar, but auto-hide it so the UI still looks the same. - if (debug) { - mainWindow.setAutoHideMenuBar(true); - } else { - mainWindow.setMenu(null); - } - - // and load the index.html of the app. - mainWindow.loadURL('file://' + __dirname + '/index.html'); - - // Open the DevTools. - mainWindow.webContents.openDevTools(); - - // Emitted when the window is closed. - mainWindow.on('closed', function() { - // Dereference the window object, usually you would store windows - // in an array if your app supports multi windows, this is the time - // when you should delete the corresponding element. - mainWindow = null; - }); - - // When a link is clicked that has `_target="_blank"`, open it in the user's native browser - mainWindow.webContents.on('new-window', function(e, url) { - e.preventDefault(); - shell.openExternal(url); - }); + createNewWindow(); var logPath = path.join(app.getAppPath(), 'logs'); From 2ed7d479387a3a0c77074dfebd905228cfcf75d9 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Wed, 23 Dec 2015 15:57:38 -0700 Subject: [PATCH 04/18] re-show window of app if re-run --- console/src/main.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/console/src/main.js b/console/src/main.js index d2e6d53af2..f009086984 100644 --- a/console/src/main.js +++ b/console/src/main.js @@ -73,6 +73,22 @@ app.on('activate', function(){ } }) +var shouldQuit = app.makeSingleInstance(function(commandLine, workingDirectory) { + // Someone tried to run a second instance, we should focus our window + if (mainWindow) { + if (mainWindow.isMinimized()) { + mainWindow.restore(); + } + mainWindow.focus(); + } + return true; +}); + +if (shouldQuit) { + app.quit(); + return; +} + // Check command line arguments to see how to find binaries var argv = require('yargs').argv; var pathFinder = require('./modules/path-finder.js'); From cf24210a97bc6324110f62dbec16aaeef192b6ed Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Wed, 23 Dec 2015 16:03:16 -0700 Subject: [PATCH 05/18] use 0.36.1 version of electron-prebuilt --- console/package.json | 8 ++++---- console/src/main.js | 1 - 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/console/package.json b/console/package.json index b45859d66c..6b6ee41008 100644 --- a/console/package.json +++ b/console/package.json @@ -10,7 +10,7 @@ "devDependencies": { "electron-compilers": "^1.0.1", "electron-packager": "^5.1.1", - "electron-prebuilt": "0.36.0" + "electron-prebuilt": "0.36.1" }, "repository": { "type": "git", @@ -20,9 +20,9 @@ "scripts": { "start": "electron . --local-debug-builds --debug", "local-release": "electron . --local-release-builds --debug", - "package-darwin": "electron-packager . High\\ Fidelity --overwrite --platform=darwin --arch=x64 --version=0.36.0 --icon=resources/console.icns", - "package-win": "electron-packager . High\\ Fidelity --overwrite --platform=win32 --arch=x64 --version=0.36.0 --icon=resources/console.ico", - "package-linux": "electron-packager . High\\ Fidelity --overwrite --platform=linux --arch=x64 --version=0.36.0" + "package-darwin": "electron-packager . High\\ Fidelity --overwrite --platform=darwin --arch=x64 --version=0.36.1 --icon=resources/console.icns", + "package-win": "electron-packager . High\\ Fidelity --overwrite --platform=win32 --arch=x64 --version=0.36.1 --icon=resources/console.ico", + "package-linux": "electron-packager . High\\ Fidelity --overwrite --platform=linux --arch=x64 --version=0.36.1" }, "dependencies": { "electron-compile": "^1.0.2", diff --git a/console/src/main.js b/console/src/main.js index f009086984..4901553f35 100644 --- a/console/src/main.js +++ b/console/src/main.js @@ -107,7 +107,6 @@ if (argv.localDebugBuilds || argv.localReleaseBuilds) { function openFileBrowser(path) { var type = os.type(); - console.log(type); if (type == "Windows_NT") { childProcess.exec('start ' + path); } else if (type == "Darwin") { From 06240e062992b36749e891b1f0037b524630075d Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Mon, 28 Dec 2015 11:08:27 -0800 Subject: [PATCH 06/18] remove files used for console styling --- console/package.json | 1 - console/src/images/background.jpg | Bin 98441 -> 0 bytes console/src/images/go-hmd.svg | 18 --- console/src/images/last-visited.svg | 17 --- console/src/images/logo-512.png | Bin 17533 -> 0 bytes console/src/images/logs.svg | 10 -- console/src/images/manage-button-sep.svg | 12 -- console/src/images/restart.svg | 26 ---- console/src/images/search.svg | 14 -- console/src/images/server.png | Bin 75044 -> 0 bytes console/src/images/settings.svg | 16 --- console/src/images/stop.svg | 9 -- console/src/index.html | 112 ---------------- console/src/index.js | 123 ------------------ console/src/main.js | 100 ++------------ console/src/vendor/Raleway/OFL.txt | 94 ------------- .../src/vendor/Raleway/Raleway-Regular.ttf | Bin 130128 -> 0 bytes 17 files changed, 13 insertions(+), 539 deletions(-) delete mode 100644 console/src/images/background.jpg delete mode 100644 console/src/images/go-hmd.svg delete mode 100644 console/src/images/last-visited.svg delete mode 100644 console/src/images/logo-512.png delete mode 100644 console/src/images/logs.svg delete mode 100644 console/src/images/manage-button-sep.svg delete mode 100644 console/src/images/restart.svg delete mode 100644 console/src/images/search.svg delete mode 100644 console/src/images/server.png delete mode 100644 console/src/images/settings.svg delete mode 100644 console/src/images/stop.svg delete mode 100644 console/src/index.html delete mode 100755 console/src/index.js delete mode 100755 console/src/vendor/Raleway/OFL.txt delete mode 100755 console/src/vendor/Raleway/Raleway-Regular.ttf diff --git a/console/package.json b/console/package.json index 6b6ee41008..86f0a16b05 100644 --- a/console/package.json +++ b/console/package.json @@ -25,7 +25,6 @@ "package-linux": "electron-packager . High\\ Fidelity --overwrite --platform=linux --arch=x64 --version=0.36.1" }, "dependencies": { - "electron-compile": "^1.0.2", "extend": "^3.0.0", "yargs": "^3.30.0" } diff --git a/console/src/images/background.jpg b/console/src/images/background.jpg deleted file mode 100644 index 3e58eca39a62b46690e55723ab4232eeacaa8cdd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98441 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
t-iFDtEr38aXIdma%udsKVSA| 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 diff --git a/console/src/images/go-hmd.svg b/console/src/images/go-hmd.svg deleted file mode 100644 index 4e4fc8566e..0000000000 --- a/console/src/images/go-hmd.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - diff --git a/console/src/images/last-visited.svg b/console/src/images/last-visited.svg deleted file mode 100644 index 9f35caf31a..0000000000 --- a/console/src/images/last-visited.svg +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - diff --git a/console/src/images/logo-512.png b/console/src/images/logo-512.png deleted file mode 100644 index 9804803a8b7d644ff023091e33e0751e337be9e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17533 zcmaI7WmH^2vjsYXOK=MiT!Xv2y9aj|e1PE2;1Dzr+$BhGcX!v|PJ+8TZ;|iH`|<9Z zUuT`wwYy8sp6c$Z2o)u16eI#9004j@D06+l%0DwCJ8~^}t?YjR3008h^B(+`C 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 diff --git a/console/src/images/logs.svg b/console/src/images/logs.svg deleted file mode 100644 index 84b725896f..0000000000 --- a/console/src/images/logs.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - diff --git a/console/src/images/manage-button-sep.svg b/console/src/images/manage-button-sep.svg deleted file mode 100644 index c8393703f0..0000000000 --- a/console/src/images/manage-button-sep.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - diff --git a/console/src/images/restart.svg b/console/src/images/restart.svg deleted file mode 100644 index 2ed78665d5..0000000000 --- a/console/src/images/restart.svg +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/console/src/images/search.svg b/console/src/images/search.svg deleted file mode 100644 index ac1b4ff2d8..0000000000 --- a/console/src/images/search.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - diff --git a/console/src/images/server.png b/console/src/images/server.png deleted file mode 100644 index 99e6dbe67e7908247419d04f7579c9c021ba91ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75044 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 OfVG9K`8!k3g#QPWx(F5k diff --git a/console/src/images/settings.svg b/console/src/images/settings.svg deleted file mode 100644 index 478a50532f..0000000000 --- a/console/src/images/settings.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - - - diff --git a/console/src/images/stop.svg b/console/src/images/stop.svg deleted file mode 100644 index dee88a85d5..0000000000 --- a/console/src/images/stop.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - diff --git a/console/src/index.html b/console/src/index.html deleted file mode 100644 index 3c9e4a6a5d..0000000000 --- a/console/src/index.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - High Fidelity - - - - - -
-
-

Version 1.0.0

-
-
- -
-
- -
- -
-
-

MY SERVER

-
- -
-

Home

-
-
- -
-
-
-

Home

-
-
-

STATUS

-
- -
-
- Domain Server -
-
-
- Assignment Clients -
-
-
-
-

hifi://localhost

-
-

- This is your domain. 4096 cubic kilometers of space for you
- to build, explore, and share. We’ve started you off with a
- home full of goodies to help you learn the ropes. Enjoy! -

- - - -
- Server stopped
Click "Restart"
-
-
-
- -
-
- - diff --git a/console/src/index.js b/console/src/index.js deleted file mode 100755 index 01360fedfd..0000000000 --- a/console/src/index.js +++ /dev/null @@ -1,123 +0,0 @@ -$(function() { - const ipcRenderer = require('electron').ipcRenderer; - const HFProcess = require('./modules/hf-process.js'); - - var settingsButton = $('#manage-server #settings'); - - const DISABLED_HREF_ATTR = 'data-disabled-href'; - function toggleManageButton(button, enabled) { - if (enabled) { - button.attr('href', button.attr(DISABLED_HREF_ATTR)); - button.removeAttr(DISABLED_HREF_ATTR); - button.removeClass('disabled'); - } else { - button.attr(DISABLED_HREF_ATTR, button.attr('href')); - button.removeAttr('href'); - button.addClass('disabled'); - } - } - - function onProcessUpdate(event, arg) { - console.log("update", event, arg); - - // var interfaceState = arg.interface.state; - // $('#process-interface .status').text(interfaceState); - // var interfaceOn = interfaceState != 'stopped'; - // $('#process-interface .power-on').prop('disabled', interfaceOn); - // $('#process-interface .power-off').prop('disabled', !interfaceOn); - - var sendingProcess = arg; - - var processCircle = null; - if (sendingProcess.name == "domain-server") { - processCircle = $('#ds-status .circle'); - } else if (sendingProcess.name == "ac-monitor") { - processCircle = $('#ac-status .circle'); - } else { - return; - } - - if (sendingProcess.name == "domain-server") { - toggleManageButton(settingsButton, - sendingProcess.state == HFProcess.ProcessStates.STARTED); - } - - switch (sendingProcess.state) { - case HFProcess.ProcessStates.STOPPED: - processCircle.attr('class', 'circle stopped'); - break; - case HFProcess.ProcessStates.STOPPING: - processCircle.attr('class', 'circle stopping'); - break; - case HFProcess.ProcessStates.STARTED: - processCircle.attr('class', 'circle started'); - break; - } - } - - function onProcessGroupUpdate(event, arg) { - var sendingGroup = arg; - var stopButton = $('#manage-server #stop'); - var goButton = $('#go-server-button'); - var serverStopped = $('#server-stopped-text'); - - switch (sendingGroup.state) { - case HFProcess.ProcessGroupStates.STOPPED: - case HFProcess.ProcessGroupStates.STOPPING: - // if the process group is stopping, the stop button should be disabled - toggleManageButton(stopButton, false); - - // disable the go button - toggleManageButton(goButton, false); - - // show the server stopped text - serverStopped.show(); - - break; - case HFProcess.ProcessGroupStates.STARTED: - // if the process group is going, the stop button should be active - toggleManageButton(stopButton, true); - - // enable the go button - toggleManageButton(goButton, true); - - // hide the server stopped text - serverStopped.hide(); - - break; - } - } - - $('#last-visited-link').click(function() { - ipcRenderer.send('start-interface'); - }); - - $('#go-server-button').click(function(e){ - if ($(this).hasClass('disabled')) { - e.preventDefault(); - } else { - ipcRenderer.send('start-interface', { url: 'hifi://localhost' }); - } - }); - - $('#manage-server #restart').click(function() { - ipcRenderer.send('restart-server', { name: 'home' }); - }); - - $('#manage-server #stop').click(function(e) { - if ($(this).hasClass('disabled')) { - e.preventDefault(); - } else { - ipcRenderer.send('stop-server', { name: 'home' }); - } - }); - - $('#open-logs').click(function() { - ipcRenderer.send('open-logs'); - }); - - ipcRenderer.on('process-update', onProcessUpdate); - ipcRenderer.on('process-group-update', onProcessGroupUpdate); - - ipcRenderer.send('update-all-processes'); -}); diff --git a/console/src/main.js b/console/src/main.js index 4901553f35..10b2b3b15f 100644 --- a/console/src/main.js +++ b/console/src/main.js @@ -2,7 +2,6 @@ var electron = require('electron'); var app = electron.app; // Module to control application life. -var BrowserWindow = require('browser-window'); // Module to create native browser window. var Menu = require('menu'); var Tray = require('tray'); var shell = require('shell'); @@ -16,71 +15,13 @@ var ProcessGroup = hfprocess.ProcessGroup; const ipcMain = electron.ipcMain; -// Keep a global reference of the window object, if you don't, the window will -// be closed automatically when the JavaScript object is garbage collected. -var mainWindow = null; var tray = null; var path = require('path'); var TRAY_ICON = path.join(__dirname, '../resources/console-tray.png'); -var APP_ICON = path.join(__dirname, '../resources/console.png'); - -// Don't quit when all windows are closed, make user explicitly quit from tray -app.on('window-all-closed', function() {}); - -function createNewWindow() { - // Create the browser window. - mainWindow = new BrowserWindow({ - title: "High Fidelity", - width: 970, - height: 775, - icon: APP_ICON, - resizable: false - }); - - // In debug mode, keep the menu bar, but auto-hide it so the UI still looks the same. - if (debug) { - mainWindow.setAutoHideMenuBar(true); - } else { - mainWindow.setMenu(null); - } - - // and load the index.html of the app. - mainWindow.loadURL('file://' + __dirname + '/index.html'); - - // Open the DevTools. - mainWindow.webContents.openDevTools(); - - // Emitted when the window is closed. - mainWindow.on('closed', function() { - // Dereference the window object, usually you would store windows - // in an array if your app supports multi windows, this is the time - // when you should delete the corresponding element. - mainWindow = null; - }); - - // When a link is clicked that has `_target="_blank"`, open it in the user's native browser - mainWindow.webContents.on('new-window', function(e, url) { - e.preventDefault(); - shell.openExternal(url); - }); -} - -// When a user clicks on dock icon, re-create the window if we don't have one -app.on('activate', function(){ - if (!mainWindow) { - createNewWindow(); - } -}) var shouldQuit = app.makeSingleInstance(function(commandLine, workingDirectory) { - // Someone tried to run a second instance, we should focus our window - if (mainWindow) { - if (mainWindow.isMinimized()) { - mainWindow.restore(); - } - mainWindow.focus(); - } + // Someone tried to run a second instance, focus the window (if there is one) return true; }); @@ -122,6 +63,9 @@ function openFileBrowser(path) { // This method will be called when Electron has finished // initialization and is ready to create browser windows. app.on('ready', function() { + // hide the dock icon + app.dock.hide() + // Create tray icon tray = new Tray(TRAY_ICON); tray.setToolTip('High Fidelity'); @@ -132,11 +76,6 @@ app.on('ready', function() { }]); tray.setContextMenu(contextMenu); - // Require electron-compile to use LESS files in place of basic CSS - require('electron-compile').init(); - - createNewWindow(); - var logPath = path.join(app.getAppPath(), 'logs'); if (interfacePath && dsPath && acPath) { @@ -154,22 +93,9 @@ app.on('ready', function() { home: homeServer }; - function sendProcessUpdate(process) { - if (mainWindow) { - console.log("Sending process update to web view for " + process.name); - mainWindow.webContents.send('process-update', process); - } - }; - - function sendProcessGroupUpdate(processGroup) { - if (mainWindow) { - mainWindow.webContents.send('process-group-update', processGroup); - } - } - // handle process updates - homeServer.on('process-update', sendProcessUpdate); - homeServer.on('state-update', sendProcessGroupUpdate); + // homeServer.on('process-update', sendProcessUpdate); + // homeServer.on('state-update', sendProcessGroupUpdate); // start the home server homeServer.start(); @@ -199,13 +125,13 @@ app.on('ready', function() { }); ipcMain.on('update-all-processes', function(event, arg) { - // enumerate our processes and call sendProcessUpdate to update - // the window with their status - for (let process of homeServer.processes) { - sendProcessUpdate(process); - } - - sendProcessGroupUpdate(homeServer); + // // enumerate our processes and call sendProcessUpdate to update + // // the window with their status + // for (let process of homeServer.processes) { + // sendProcessUpdate(process); + // } + // + // sendProcessGroupUpdate(homeServer); }); } }); diff --git a/console/src/vendor/Raleway/OFL.txt b/console/src/vendor/Raleway/OFL.txt deleted file mode 100755 index 1c9779ddcd..0000000000 --- a/console/src/vendor/Raleway/OFL.txt +++ /dev/null @@ -1,94 +0,0 @@ -Copyright (c) 2010, Matt McInerney (matt@pixelspread.com), -Copyright (c) 2011, Pablo Impallari (www.impallari.com|impallari@gmail.com), -Copyright (c) 2011, Rodrigo Fuenzalida (www.rfuenzalida.com|hello@rfuenzalida.com), with Reserved Font Name Raleway -This Font Software is licensed under the SIL Open Font License, Version 1.1. -This license is copied below, and is also available with a FAQ at: -http://scripts.sil.org/OFL - - ------------------------------------------------------------ -SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 ------------------------------------------------------------ - -PREAMBLE -The goals of the Open Font License (OFL) are to stimulate worldwide -development of collaborative font projects, to support the font creation -efforts of academic and linguistic communities, and to provide a free and -open framework in which fonts may be shared and improved in partnership -with others. - -The OFL allows the licensed fonts to be used, studied, modified and -redistributed freely as long as they are not sold by themselves. The -fonts, including any derivative works, can be bundled, embedded, -redistributed and/or sold with any software provided that any reserved -names are not used by derivative works. The fonts and derivatives, -however, cannot be released under any other type of license. The -requirement for fonts to remain under this license does not apply -to any document created using the fonts or their derivatives. - -DEFINITIONS -"Font Software" refers to the set of files released by the Copyright -Holder(s) under this license and clearly marked as such. This may -include source files, build scripts and documentation. - -"Reserved Font Name" refers to any names specified as such after the -copyright statement(s). - -"Original Version" refers to the collection of Font Software components as -distributed by the Copyright Holder(s). - -"Modified Version" refers to any derivative made by adding to, deleting, -or substituting -- in part or in whole -- any of the components of the -Original Version, by changing formats or by porting the Font Software to a -new environment. - -"Author" refers to any designer, engineer, programmer, technical -writer or other person who contributed to the Font Software. - -PERMISSION & CONDITIONS -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Font Software, to use, study, copy, merge, embed, modify, -redistribute, and sell modified and unmodified copies of the Font -Software, subject to the following conditions: - -1) Neither the Font Software nor any of its individual components, -in Original or Modified Versions, may be sold by itself. - -2) Original or Modified Versions of the Font Software may be bundled, -redistributed and/or sold with any software, provided that each copy -contains the above copyright notice and this license. These can be -included either as stand-alone text files, human-readable headers or -in the appropriate machine-readable metadata fields within text or -binary files as long as those fields can be easily viewed by the user. - -3) No Modified Version of the Font Software may use the Reserved Font -Name(s) unless explicit written permission is granted by the corresponding -Copyright Holder. This restriction only applies to the primary font name as -presented to the users. - -4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font -Software shall not be used to promote, endorse or advertise any -Modified Version, except to acknowledge the contribution(s) of the -Copyright Holder(s) and the Author(s) or with their explicit written -permission. - -5) The Font Software, modified or unmodified, in part or in whole, -must be distributed entirely under this license, and must not be -distributed under any other license. The requirement for fonts to -remain under this license does not apply to any document created -using the Font Software. - -TERMINATION -This license becomes null and void if any of the above conditions are -not met. - -DISCLAIMER -THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT -OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE -COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL -DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM -OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/console/src/vendor/Raleway/Raleway-Regular.ttf b/console/src/vendor/Raleway/Raleway-Regular.ttf deleted file mode 100755 index 252cad14a6c1179cf373ed30d79ece6510743ae1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 130128 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 Date: Mon, 28 Dec 2015 11:09:19 -0800 Subject: [PATCH 07/18] remove the stylesheet used for defunct window --- console/src/css/style.less | 290 ------------------------------------- 1 file changed, 290 deletions(-) delete mode 100644 console/src/css/style.less diff --git a/console/src/css/style.less b/console/src/css/style.less deleted file mode 100644 index b156b990e0..0000000000 --- a/console/src/css/style.less +++ /dev/null @@ -1,290 +0,0 @@ -@light-gray: #949494; - -// the following block avoids (only with two things in body) the bounce effect on OS X when scrolling -html { - overflow: hidden; - height: 100%; -} - -@font-face { - font-family: 'Raleway'; - font-style: normal; - font-weight: 400; - src: url('../vendor/Raleway/Raleway-Regular.ttf'); -} - -body { - height: 100%; - overflow: auto; - font-family: 'Raleway'; - background-image: url('../images/background.jpg'); - margin: 0; - font-size: 11px; - letter-spacing: 0.075rem; -} - -input, textarea, select, a, button { - outline: none; -} - -.light-gray { - color: @light-gray; -} - -h4 { - font-size: 12px; -} - -header { - margin: 50px 75px 35px 75px; - - #console-version { - float: right; - } -} - -#console-tray { - display: inline-block; - margin: 0px 75px; - color: white; - - a { - color: white; - text-decoration: none; - } - - p { - text-align: center; - } - - #navigation, #servers, .tray-line { - display: inline-block; - float: left; - margin-right: 20px; - } - - .tray-line { - background-color: @light-gray; - width: 1px; - height: 130px; - margin-top: 35px; - } - - @square-side: 97px; - - #servers { - h4 { - margin-left: 7px; - } - - margin-left: 20px; - img { - position: relative; - top: -5px; - width: @square-side; - height: @square-side; - } - } - - .tray-square { - width: @square-side; - height: @square-side; - - display: flex; - justify-content: center; - align-items: center; - - img { - width: 25px; - } - } - - .nav-item { - margin-right: 20px; - float: left; - width: @square-side; - - &#nav-search { - .nav-square { - background-color: @light-gray; - box-shadow: 0px 3px 3px #000000; - } - } - - &#nav-last-visited { - .nav-square { - background-color: rgba(0, 0, 0, 0.2); - } - } - } -} - -@focus-background: #A6A7AA; -@dark-gray: #585858; - -@focus-height: 270px; - -#tray-focus { - margin-top: 5px; - width: 100%; - height: @focus-height; - background-color: @focus-background; - - color: @dark-gray; - - #server-info { - @info-padding-top-bottom: 10px; - height: @focus-height - @info-padding-top-bottom - @info-padding-top-bottom; - padding: @info-padding-top-bottom 75px; - - @title-margin-left: 255px; - - h2 { - color: black; - font-size: 36px; - margin-left: @title-margin-left; - margin-bottom: 0px; - } - - .server-box { - float: left; - margin-top: 5px; - - .title { - border-bottom: 1px solid @dark-gray; - margin-bottom: 20px; - - p { - color: white; - margin-top: 0px; - } - } - - .process-status { - @status-red: #BD5F6D; - @status-green: #59AEA8; - @status-orange: #D89C40; - - margin-bottom: 10px; - - .circle { - display: inline-block; - margin-left: 10px; - margin-right: 5px; - border-radius: 50%; - border: 1px solid #696A6B; - width: 12px; - height: 12px; - - &.stopped { - background-color: @status-red; - } - - &.started { - background-color: @status-green; - } - - &.stopping { - background-color: @status-orange; - } - } - } - - &#left-box { - h4 { - margin-top: 0px; - margin-bottom: 10px; - width: 215px; - } - } - - &#right-box { - position: absolute; - margin-left: @title-margin-left; - - #go-server-button { - text-align: center; - float: left; - box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.5); - cursor: pointer; - border: none; - margin-top: 10px; - background-color: #129EC0; - width: 150px; - - &.disabled { - cursor: default; - background-color: #86888F; - } - - img { - padding: 10px 0px; - width: 50px; - } - } - - #server-stopped-text { - float: left; - margin: 20px 0px 0px 20px; - color: #D42043; - } - } - } - } -} - -#manage-server { - text-align: center; - background-color: #232323; - height: 140px; - - #manage-buttons { - display: inline-block; - - @blue: #08A6E0; - - #manage-separator { - width: 1px - } - - @side-margin: 20px; - - .manage-button { - vertical-align: top; - text-decoration: none; - display: inline-block; - margin: 40px @side-margin 20px @side-margin; - width: 75px; - - img { - display: block; - margin: 0 auto; - width: 20px; - } - - p { - color: @blue; - text-align: center; - } - - &#stop { - margin-right: @side-margin + 2; - } - - &#settings { - margin-left: @side-margin + 2; - } - - &.disabled { - opacity: 0.3; - cursor: default; - } - } - - #manage-separator { - display: inline-block; - width: 2px; - height: 100%; - } - } -} From 2bbfda5da7ada6918861cc09f7d0e206e202e31d Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Mon, 28 Dec 2015 11:17:35 -0800 Subject: [PATCH 08/18] add a section to tray to go home --- console/src/main.js | 44 ++++++++++++++++++++++++++++++-------------- 1 file changed, 30 insertions(+), 14 deletions(-) diff --git a/console/src/main.js b/console/src/main.js index 10b2b3b15f..c6c64de8ac 100644 --- a/console/src/main.js +++ b/console/src/main.js @@ -60,20 +60,44 @@ function openFileBrowser(path) { // if at this point any of the paths are null, we're missing something we wanted to find // TODO: show an error for the binaries that couldn't be found +function startInterface(url) { + var argArray = []; + + // check if we have a url parameter to include + if (url) { + argArray = ["--url", url]; + } + + // create a new Interface instance - Interface makes sure only one is running at a time + var pInterface = new Process('interface', interfacePath, argArray); + pInterface.start(); +} + // This method will be called when Electron has finished // initialization and is ready to create browser windows. app.on('ready', function() { // hide the dock icon app.dock.hide() - + // Create tray icon tray = new Tray(TRAY_ICON); tray.setToolTip('High Fidelity'); - var contextMenu = Menu.buildFromTemplate([{ - label: 'Quit', - accelerator: 'Command+Q', - click: function() { app.quit(); } - }]); + + var contextMenu = Menu.buildFromTemplate([ + { + label: 'Go Home', + click: function() { startInterface('hifi://localhost'); } + }, + { + type: 'separator' + }, + { + label: 'Quit', + accelerator: 'Command+Q', + click: function() { app.quit(); } + } + ]); + tray.setContextMenu(contextMenu); var logPath = path.join(app.getAppPath(), 'logs'); @@ -101,15 +125,7 @@ app.on('ready', function() { homeServer.start(); ipcMain.on('start-interface', function(event, arg) { - // check if we have a url parameter to include - var argArray = []; - if (arg && arg.url) { - argArray = ["--url", arg.url]; - } - // create a new Interface instance - Interface makes sure only one is running at a time - var pInterface = new Process('interface', interfacePath, argArray); - pInterface.start(); }); ipcMain.on('restart-server', function(event, arg) { From cd3762a8897602d60fefdc937b47ef1e2b562536 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Mon, 28 Dec 2015 12:39:14 -0800 Subject: [PATCH 09/18] setup dynamic tray menu depending on server state --- console/src/main.js | 139 ++++++++++++++++++++++++++++++-------------- 1 file changed, 96 insertions(+), 43 deletions(-) diff --git a/console/src/main.js b/console/src/main.js index c6c64de8ac..e9c212ac5c 100644 --- a/console/src/main.js +++ b/console/src/main.js @@ -12,6 +12,7 @@ var path = require('path'); var hfprocess = require('./modules/hf-process.js'); var Process = hfprocess.Process; var ProcessGroup = hfprocess.ProcessGroup; +var ProcessGroupStates = hfprocess.ProcessGroupStates; const ipcMain = electron.ipcMain; @@ -20,6 +21,9 @@ var tray = null; var path = require('path'); var TRAY_ICON = path.join(__dirname, '../resources/console-tray.png'); +// print out uncaught exceptions in the console +process.on('uncaughtException', console.log.bind(console)); + var shouldQuit = app.makeSingleInstance(function(commandLine, workingDirectory) { // Someone tried to run a second instance, focus the window (if there is one) return true; @@ -46,6 +50,9 @@ if (argv.localDebugBuilds || argv.localReleaseBuilds) { acPath = pathFinder.discoveredPath("assignment-client", argv.localReleaseBuilds); } +// if at this point any of the paths are null, we're missing something we wanted to find +// TODO: show an error for the binaries that couldn't be found + function openFileBrowser(path) { var type = os.type(); if (type == "Windows_NT") { @@ -57,9 +64,6 @@ function openFileBrowser(path) { } } -// if at this point any of the paths are null, we're missing something we wanted to find -// TODO: show an error for the binaries that couldn't be found - function startInterface(url) { var argArray = []; @@ -73,20 +77,44 @@ function startInterface(url) { pInterface.start(); } -// This method will be called when Electron has finished -// initialization and is ready to create browser windows. -app.on('ready', function() { - // hide the dock icon - app.dock.hide() +var homeServer = null; - // Create tray icon - tray = new Tray(TRAY_ICON); - tray.setToolTip('High Fidelity'); +const GO_HOME_INDEX = 0; +const SERVER_LABEL_INDEX = 2; +const RESTART_INDEX = 3; +const SETTINGS_INDEX = 5; - var contextMenu = Menu.buildFromTemplate([ +function buildMenuArray(serverState) { + var menuArray = [ { label: 'Go Home', - click: function() { startInterface('hifi://localhost'); } + click: function() { startInterface('hifi://localhost'); }, + enabled: false + }, + { + type: 'separator' + }, + { + label: "Server - Stopped", + enabled: false + }, + { + label: "Start", + click: function() { homeServer.restart(); } + }, + { + label: "Stop", + visible: false, + click: function() { homeServer.stop(); } + }, + { + label: "Settings", + click: function() { shell.openExternal('http://localhost:40100/settings'); }, + enabled: false + }, + { + label: "View Logs", + click: function() { openFileBrowser(logPath); } }, { type: 'separator' @@ -96,14 +124,65 @@ app.on('ready', function() { accelerator: 'Command+Q', click: function() { app.quit(); } } - ]); + ]; - tray.setContextMenu(contextMenu); + updateMenuArray(menuArray, serverState); + + return menuArray; +} + +function updateMenuArray(menuArray, serverState) { + // update the tray menu state + var running = serverState == ProcessGroupStates.STARTED; + + var serverLabelItem = menuArray[SERVER_LABEL_INDEX]; + var restartItem = menuArray[RESTART_INDEX]; + + // Go Home is only enabled if running + menuArray[GO_HOME_INDEX].enabled = running; + + // Stop is only visible if running + menuArray[RESTART_INDEX + 1].visible = running; + + // Settings is only visible if running + menuArray[SETTINGS_INDEX].enabled = running; + + if (serverState == ProcessGroupStates.STARTED) { + serverLabelItem.label = "Server - Started"; + restartItem.label = "Restart"; + } else if (serverState == ProcessGroupStates.STOPPED) { + serverLabelItem.label = "Server - Stopped"; + restartItem.label = "Start"; + } else if (serverState == ProcessGroupStates.STOPPING) { + serverLabelItem.label = "Server - Stopping"; + restartItem.label = "Restart"; + } +} + +function updateTrayMenu(serverState) { + if (tray) { + var menuArray = buildMenuArray(serverState); + console.log(menuArray); + tray.setContextMenu(Menu.buildFromTemplate(menuArray)); + } +} + +// This method will be called when Electron has finished +// initialization and is ready to create browser windows. +app.on('ready', function() { + // hide the dock icon + app.dock.hide() var logPath = path.join(app.getAppPath(), 'logs'); + // Create tray icon + tray = new Tray(TRAY_ICON); + tray.setToolTip('High Fidelity'); + + updateTrayMenu(ProcessGroupStates.STOPPED); + if (interfacePath && dsPath && acPath) { - var homeServer = new ProcessGroup('home', [ + homeServer = new ProcessGroup('home', [ new Process('domain-server', dsPath), new Process('ac-monitor', acPath, ['-n6', '--log-directory', logPath]) ]); @@ -119,35 +198,9 @@ app.on('ready', function() { // handle process updates // homeServer.on('process-update', sendProcessUpdate); - // homeServer.on('state-update', sendProcessGroupUpdate); + homeServer.on('state-update', function(processGroup) { updateTrayMenu(processGroup.state); }); // start the home server homeServer.start(); - - ipcMain.on('start-interface', function(event, arg) { - - }); - - ipcMain.on('restart-server', function(event, arg) { - homeServer.restart(); - }); - - ipcMain.on('stop-server', function(event, arg) { - homeServer.stop(); - }); - - ipcMain.on('open-logs', function(event, arg) { - openFileBrowser(logPath); - }); - - ipcMain.on('update-all-processes', function(event, arg) { - // // enumerate our processes and call sendProcessUpdate to update - // // the window with their status - // for (let process of homeServer.processes) { - // sendProcessUpdate(process); - // } - // - // sendProcessGroupUpdate(homeServer); - }); } }); From b8e3203d3f72eaf3acb0ee3964fa9c1be230ac88 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Mon, 28 Dec 2015 12:44:51 -0800 Subject: [PATCH 10/18] move tray declaration down in main.js --- console/src/main.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/console/src/main.js b/console/src/main.js index e9c212ac5c..645fcd4780 100644 --- a/console/src/main.js +++ b/console/src/main.js @@ -16,8 +16,6 @@ var ProcessGroupStates = hfprocess.ProcessGroupStates; const ipcMain = electron.ipcMain; -var tray = null; - var path = require('path'); var TRAY_ICON = path.join(__dirname, '../resources/console-tray.png'); @@ -77,6 +75,7 @@ function startInterface(url) { pInterface.start(); } +var tray = null; var homeServer = null; const GO_HOME_INDEX = 0; From 16e44086b2ac3eb2ff64b9a4b262a5a6e648f9b6 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Mon, 28 Dec 2015 16:42:48 -0800 Subject: [PATCH 11/18] replace console tray icons --- console/resources/console-tray-Template.png | Bin 0 -> 1428 bytes .../resources/console-tray-Template@2x.png | Bin 0 -> 1608 bytes console/resources/console-tray.png | Bin 1712 -> 1560 bytes console/resources/console-tray@2x.png | Bin 2953 -> 2450 bytes console/resources/console-tray@4x.png | Bin 5792 -> 0 bytes console/src/main.js | 14 ++++++++------ 6 files changed, 8 insertions(+), 6 deletions(-) create mode 100644 console/resources/console-tray-Template.png create mode 100644 console/resources/console-tray-Template@2x.png delete mode 100644 console/resources/console-tray@4x.png diff --git a/console/resources/console-tray-Template.png b/console/resources/console-tray-Template.png new file mode 100644 index 0000000000000000000000000000000000000000..11dbbbc38f625486391c213a7695b8b40c557e56 GIT binary patch literal 1428 zcmeAS@N?(olHy`uVBq!ia0y~yU=RXf4mJh`hOl#e;S3B6k|nMYCBgY=CFO}lsSJ)O z`AMk?p1FzXsX?iUDV2pMQ*9U+m^Cs(B1$5BeXNr6bM+EIYV;~{3m8Da#=fE;F*!T6 zL?J0PJu}Z%>HY5gN(z}Nwo2iqz6QPp&Z!xh9#uuD!Bu`C$yM3OmMKd1b_zBXRu#Dg zxv3?I3Kh9IdBs*0wn|`gt@4VkK*IV;3ScEA*|tg$M@9GsC^+XAr7D=}ndv4Q8X78? zTk08_S{NId>L?f)7@F!ESn3-Z=o%PW85&p_87M%3lAVH0QA(Oskc%7CuA-DQTcwPW zk^(Dz{qpj1y>er{{GxPyLrY6beFGzXBO~3Slr-Jq%Dj@q3f;V7Wta&rsl~}fnFS@8 z`FRQ;6BCp2OG|8(lwe-SEr1)FR}2lN7yetOgf{R2HP_2c;J0mlh?b2BoGcgRCmBaxO|uEXgkl$ zi{|v?s@F-#-}*LJ!jb!5R9SITo&H9pjWah#@-3NGbBJ$2){X4e`Fy|rUfMME;`M}d zrSK1$tDVi;)|M4sSkIW5b3BgOludTa6Vr9JiMQqS)<*7@jDEH0uY+mt$;~rMzI$rT-K)OVdydz4i!2S&{H1mdKI;Vst0BmCq`2YX_ literal 0 HcmV?d00001 diff --git a/console/resources/console-tray-Template@2x.png b/console/resources/console-tray-Template@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..8acd094606b44189ef23577a8e3760b5ddac3547 GIT binary patch literal 1608 zcmaJ>e@qi+7(OWqRGH49t48HK0mVVDM=7)&Ekb)>l|m_1su|+ZUZIrho!7$_aAsCz ziV>!uK_OD(vZA7*s3YS1F&M-R5ZN;E2h1s;M%0LenZdfH2)aMUzT`{3ym_DJeV+Gy z^X*n8#{078vjG6`Rjib&0RRYaU+-xE0Q?S=mjeJWk3qFe3Ta@h7>xrldNKnC6$F-v zt8q-9x9J8R1pusNMva!yDig#ylHg+Q9IlO^0QZTCwo#bQgfn0Uo@q2opqC9-A<(Fo zK&b*HPf5w}EaS?28c)ej)add}I*}fVmV!|>v5lYzoWVdFkz=-qZ4zjVS8TS3-C-C4 z$5I%R1bQn| z3P#a-gIFz(8?Qy{4H77eVJI;STdh{EmCq&VOc)V~L@+N54hsvV^@dPOo|(aHp=QgH z2?jZC(a}bVF_LD`&4^`?xr_vYCM*!tJ6f}4yiGcifNdBBBV3-_(p#?trBwcZDnY!< zwlHe^z25&MwrKJw99H8NGMCojYTU5IU5XORXdGimT0@dK6J1ngkql|cA}LTN8|xal zOo{1?W_K`n45d_x6=n;AnRU2AE`e+W#WfoBVz~fCBjl0t7y-&h5L6HoiSR_R;XG7` z#D=3hbOI|Ub-4s?W+t%u_gHjNta~BcO%cm++PE3l$I&DKju{slC)W}?Dc?9&Ke-m! zq*z!AM#1j!{%hP5A+N%j`Anb0N`;^A&=46?zWa+HTlK( zwU8ydDtFHEwu3$BAdB8x?mcbst{~beuT8G4o%QN`Lwm%|T>D1MWOq%;#)}^9SMP^j zc`Wh?K<5i~_}!|sKem2veONy*(0V`Q9IL8gXWmGE0snQ+m2OA3IkWSZOHE0$Jh^}L zUJu}~P!+ILIJ_{&K1~a}yms)^qsAXLX^+mX-uBzW4bbUtue0wIbI!c#Y4Y5?ruvi8 z@aul{Gw2V8Ma9ZnYkN|iFdQ?7TJhy-N66+btbo;1C-?UndK$7)c=(&rxz+ZXmUV5N z@q47sV=iqa7~DUdqu}j|dy-OgZnh@5X$Y;kKjY1eBi8!t&x@*y6smnA_d9D^efz#* zn+s|*dn|JvdEUr6k-eas?Q`ka*-u%EzBtNBUK98yH1$AP){o5rowv_duv(y;{A-bS zM?D%5ue7-I;8m)<+wn%a%9$3!-|)eyhd*=DJ1@?iTb8+&Sl>IZ6g(T7ZhZaGXW_la zgC4g}52Z~(qBn)bTMl=fes=kam$W%Bvwfbbai0Sje(lp&k%m?tZ#y~vYscafX`9Q3 zrgD@kM#CO+UA`9*3{^?l6+t&U7LA}3pBZK^Xvlb)()!(*Ba4%74hUU!s~`9XeS5aA zq0&p)2}Jy_8tKed{|A8_z+dIFZApa zT4fTMDXQ$_+3b;AuX|W~x9Vnx$B55#ukL}Qz<{lz{=UT}#dWLd_qZyX+am@ploW>^ zobp#;q~|_m(%|}`R7t9{N%SoK%h1!Dxie)*H5Nj|3KgTy_4p({lABBj?kC|Gs?E;?RtAn|!i;omM%kZ@FS g%j+aaR1LYjc|Z!Ve-w{6)ZqTx6=Wx=8glgt>mMte?n6nE4P%HlaW z$@9?#z91e}&y9?Q9Ibg=Z&f_rOwx5e=A@a?+1#okWZELolA&4J_5Y*)h3mWfe;KI$ zJb3)^zVh<>ci-0?fBm&8WBY9b37&@Ml?GD1{%L7xarK2V-<+0fOe62cDUQ{Hc5*!??)9AI7Y4XV}y?yW3gso=dKXdLJ)4~|N!w(-SrWnn% zVym;Ww!XbGY&EkN16ONPld4$v)9%}E#XkMqQy|aP+O%QQCM64*zS^x(x|2^oW$;=m zBqlC?UteFJ`)peMWXpBy)^W-8KR>7P#F_tQ&bEG$(~0NV))O!3k+i%~k>UuEIK)x>Y#(s$n`}XmUGV*hB4m^9N_Q2$bb=ScbJ~?3fVqKk_ z(?WqCf9ulv7l&vCUg9eJ(0fYOU1?%Ng^k`Vsou7isWK}=y5zhHw?^rc|;kV7r%r|b|7Oqsdzj$%|V#Za5Y$~Z!-tuv-yqIxEQ*Qow_gA}BRi>Z*+L@G? zl*AM;ZO`SGcb3cVjCmKQIr+@V^xWLH+OJ$3lZ2;p{(d4ZCT6#Q?Vg^lu4d-Uf4yD0 z!B%tICQqI$_s*B+^!;@qTCv-Dt>*GYtreSX8rr<7X4%!O_{D!^&N~O0?fb%hzF+(_T5KYl!au3x)vSJ}h$49pB>wk2&vUTW7E7#J8lUHx3vIVCg!04@4tr2qf` delta 1026 zcmbQivw?TQZ6yOUa|LrtJwsD-a}#qN1tSAPQ+)$tePaV%BV#KQ11l4wjeq?a6&%gX z&CLvqO)M?U91RU!O)U*A3@prz4J}MeOV}> zN}`Uf`+h9wP|9)*_;6G~LrY^(0_)eM9qb+AizN7MCWx`VP0UXAU6tE+Hm~pO#@&zK zv>j`*Kf|;8|C#Ug_su^Gdub|7CZ`H5#HO4dwNVO204k<>loq)?@3B4|^Qw zp(lP?sM^1}+BzyKih+B<_U+=rhacz9*ri|b^h$7-#ty?Punjk8WK47sAV{`RJ?OX?q9(&b+_ z$MTf*lI7O|r5!%_eP=I|<+y6{>u;CR;Q}jz^~ah;H?PV)E2!FC;N|T46wB97>@`iie+adEpk zYpfn`?Y=F<)2y`i#inV3_n&olJe{?n=G&L9L^kH%pI%B^t-tG9RB_}I&mrN%dU?z< z)Gl7;df3G(V8-^?=upqQiX+EUYO3z`_JlQDHr`n?dCMGOwL3hL^Gh!~EL##TI z=)yryA)nVvf+g<9ra8>8TX>3D$(O0Vv?F8QL-%4|)3%^W9_`AsP5ht5&!y&{=CqJu zU}idgk&F3|;GyaomPH-6c11>9i|F5zw@80t<3S$Zl~Q8*kqw5Hz31=72cF0}!#wZL zG_${7cPPT_xK{Ut8<(dgYdw0y)vml)W5cYx`Qlw!j2u<2PM)4FllA4d z)^|PF-yNElam7Jr{X>7l{&(?Ig z9$8WL-JW|Imwix5-sGn{cprTJ`R40-24)7c8I|3p8(!BiFfcH9y85}Sb4q9e0D2(5 AQUCw| diff --git a/console/resources/console-tray@2x.png b/console/resources/console-tray@2x.png index b43035b92c9c4d02ee94b7f30ad8ee176fc04865..7295647c2052386749c3a594b66f37a380fc295b 100644 GIT binary patch delta 1770 zcmZ|Fdpr|}0|4;NbViBAeyNkRoyQS2j16J4jh#YXc|;6ngrSaogn1rUe)}*!-pM0j z-Xf1?7M7NTB8(-PB5HXLrTgpt?EClkpOZ|b>{%ERiBvbm=p#{RBSX}AbwdOaWq`mK zAQ5^9q!|)nW{7D0?g&)J5KsuBAr^r}5loOs0t!b!A&E#F20^gFV=>0)+%PHC{}S@2 zsa6W1Zfb)!Mqm(_pC*Zv>VFCQ(_{?7(fKgDBmm$S011zEr3o6Yc-y&osvM3!VlVmV z^1VaP5tllMdU{4jk)hFQWX;lo_`>q1*lbGtvoPmKR^4wm46n79L&7Qe%=Q8N@4klP z$xg$H)avpg#-F}ko8Rv+@`A-T7$_@M^sVNODf*8?>Iw`7Tb``Ha$m#9$jF#(Zf*|* z0+pdqXm^CLCk?9W9-m&FWJ-P8C425>L_|b@ySw`Z>O3braeXnJ!{Kl$s;UBxi=RDx zO56;Kw>5KgbjO-rnAyiMF5Gbr!nk;Po|+R1FG(C_Wo6qF4r09e5_`9j zmbO=?w$^5hSoQT)0)f}w3y68VB+}s6-qNSZdR}IJ&T$0=1(=CntK{Hd_Jc^I{CTe1 z<=y2lK|3igKVMGu{0si{bYWN2`@g}mvN`i#rdw^4m6cuJ%?M#2x=GmdyV8P!D-Ywg zLo2jzcSSCwSf9zPma{lnpzm{{76c?zwzRbTHTx)>qbdJ&bMs;PhL_0uT`z?~QM{%z zGBVOXG-Nw15Ztb;tlSwJb5d{vwInO<%+GA1uD{7_YHD&kj$7wPYHDc6y6!WxXougr zjZ@%Jp9LME6AW@7-P+4bFxA@HN}g#8di9Cd7Cfp}ueE_f|YWhk6=PE52U5Q(Ru4>~({`{^D1K@Dj7p+!(&pc9qaJRaxap>o$e zmZ5eb4sUi>|JLS*kut74OiN44Ov>|dOrtgMc6T?%O`(epN=Z#6L`Sz378e_O+2-is z!HulAr{BJ@*R&mEUM2kP?St*pVK5lBadC0WB7W}RaNA86>I z&T|q@(1AH}eG-WTt)Z>04LL#{0cY418YlI>>W?Av1_$xDVz5IPeD{r82zV}XwK+uRrc~&g-u#a z^(dqaepa)wGv(X@x$xqLKr%Unan{NK3Wd_8BP$xcJD*3snV2}QQtKWcdSpaO$jGuY zv)8k22m9d;cEvUM`Ty&Q6_>e!vzba8Pf}$9snotazhz~bWrRvy{%L>3ow6ZnKmZ)b zAvI6ggGT*KEY@e)0Jv7Mqr+=@pfh<`ITH zlI@nE9RbAow z1_RZr%l-38N^}?8kFHp1=H5vMg6YAe#J!Cr`$;33!YUU*R@|?us|(4S6AFJvAjY;Q z>ReK@9;wu^a>Hme4|O@I18L`=cHgU4*$DZf_FDeZaKVxp@le@WQ9YyB|Is~k)FRkO zP4l;wFn$``-2B#)r2qeFDmO8pwaS%GX5^+x59kbKLXZZ4gu@$?EH@^TUV$zM-eU1;TgWr60wbl1m)6yK39b87@WMaBva(>-Nbgz}6=1tdNRPgt97rRThyPx`eR z&>Z3hdg0>`HNJ(5`VRQW;We6O7iHBAhupkr%;WL4t9Uxpd5%w}>`c%`^m7sJC|YHz zrlv-t&&KY|_=Bjg7Ql>*b3>LY77pwNV-?HJ7 bdjJqX-@N1~V6U|b0000;1P6Q*&M)O(l=naS delta 2277 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 Date: Tue, 29 Dec 2015 11:10:40 -0800 Subject: [PATCH 12/18] use a QLocalServer to handle multiple instance launches --- interface/src/Application.cpp | 32 ++++++++++++++ interface/src/Application.h | 3 ++ interface/src/main.cpp | 79 +++++++++++++---------------------- 3 files changed, 64 insertions(+), 50 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index f3291469cb..787f516855 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -33,6 +33,9 @@ #include #include +#include +#include + #include #include #include @@ -5151,3 +5154,32 @@ void Application::setActiveDisplayPlugin(const QString& pluginName) { } updateDisplayMode(); } + +void Application::handleLocalServerConnection() { + auto server = qobject_cast(sender()); + + qDebug() << "Got connection on local server from additional instance - waiting for parameters"; + + auto socket = server->nextPendingConnection(); + + connect(socket, &QLocalSocket::readyRead, this, &Application::readArgumentsFromLocalSocket); + + qApp->getWindow()->raise(); + qApp->getWindow()->activateWindow(); +} + +void Application::readArgumentsFromLocalSocket() { + auto socket = qobject_cast(sender()); + + qDebug() << "There are" << socket->bytesAvailable() << "bytes available"; + + auto message = socket->readAll(); + socket->deleteLater(); + + qDebug() << "Read from connection: " << message; + + // If we received a message, try to open it as a URL + if (message.length() > 0) { + qApp->openUrl(QString::fromUtf8(message)); + } +} diff --git a/interface/src/Application.h b/interface/src/Application.h index a665e925a9..bb5c73f81b 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -263,6 +263,9 @@ public slots: void loadScriptURLDialog(); void toggleLogDialog(); + void handleLocalServerConnection(); + void readArgumentsFromLocalSocket(); + ScriptEngine* loadScript(const QString& scriptFilename = QString(), bool isUserLoaded = true, bool loadScriptFromEditor = false, bool activateMainWindow = false, bool reload = false); void stopAllScripts(bool restart = false); diff --git a/interface/src/main.cpp b/interface/src/main.cpp index 7a0514ada9..43a56d87d4 100644 --- a/interface/src/main.cpp +++ b/interface/src/main.cpp @@ -42,47 +42,46 @@ static BOOL CALLBACK enumWindowsCallback(HWND hWnd, LPARAM lParam) { #endif int main(int argc, const char* argv[]) { - QString applicationName = "High Fidelity Interface"; + QString applicationName = "High Fidelity Interface - " + qgetenv("USERNAME"); - // Try to create a shared memory block - if it can't be created, there is an instance of - // interface already running. - QSharedMemory sharedMemory { applicationName }; - if (!sharedMemory.create(1, QSharedMemory::ReadOnly)) { - // Connect to and send message to existing interface instance - QLocalSocket socket; + // Connect to and send message to existing interface instance + QLocalSocket socket; - socket.connectToServer(applicationName); + socket.connectToServer(applicationName); - // Try to connect - if we can't connect, interface has probably just gone down - if (socket.waitForConnected(100)) { + static const int LOCAL_SERVER_TIMEOUT_MS = 500; - QStringList arguments; - for (int i = 0; i < argc; ++i) { - arguments << argv[i]; - } + QElapsedTimer waitingTimer; + waitingTimer.start(); - QCommandLineParser parser; - QCommandLineOption urlOption("url", "", "value"); - parser.addOption(urlOption); - parser.process(arguments); + // Try to connect - if we can't connect, interface has probably just gone down + if (socket.waitForConnected(LOCAL_SERVER_TIMEOUT_MS)) { - if (parser.isSet(urlOption)) { - QUrl url = QUrl(parser.value(urlOption)); - if (url.isValid() && url.scheme() == HIFI_URL_SCHEME) { - socket.write(url.toString().toUtf8()); - socket.waitForBytesWritten(5000); - } - } - - socket.close(); + QStringList arguments; + for (int i = 0; i < argc; ++i) { + arguments << argv[i]; } + QCommandLineParser parser; + QCommandLineOption urlOption("url", "", "value"); + parser.addOption(urlOption); + parser.process(arguments); + + if (parser.isSet(urlOption)) { + QUrl url = QUrl(parser.value(urlOption)); + if (url.isValid() && url.scheme() == HIFI_URL_SCHEME) { + socket.write(url.toString().toUtf8()); + socket.waitForBytesWritten(5000); + } + } + + socket.close(); + qDebug() << "Interface instance appears to be running, exiting"; return EXIT_SUCCESS; } - QElapsedTimer startupTime; startupTime.start(); @@ -109,31 +108,11 @@ int main(int argc, const char* argv[]) { // Setup local server QLocalServer server { &app }; - // We have already acquired the shared memory block, so we can safely remove - // any existing servers. This can occur on Unix platforms after a crash. + // We failed to connect to a local server, so we remove any existing servers. server.removeServer(applicationName); server.listen(applicationName); - QObject::connect(&server, &QLocalServer::newConnection, qApp, [&server]() { - qDebug() << "Got connection on local server"; - - auto socket = server.nextPendingConnection(); - - QObject::connect(socket, &QLocalSocket::readyRead, qApp, [&socket]() { - auto message = socket->readAll(); - socket->close(); - - qDebug() << "Read from connection: " << message; - - // If we received a message, try to open it as a URL - if (message.length() > 0) { - qApp->openUrl(QString::fromUtf8(message)); - } - }); - - qApp->getWindow()->raise(); - qApp->getWindow()->activateWindow(); - }); + QObject::connect(&server, &QLocalServer::newConnection, &app, &Application::handleLocalServerConnection); QTranslator translator; translator.load("i18n/interface_en"); From e399a3709efdac4d8532e0b0b84f9f4e68f1aa2a Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Tue, 29 Dec 2015 11:44:06 -0800 Subject: [PATCH 13/18] remove debug for bytes read from message --- interface/src/Application.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 787f516855..db251c6966 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -5171,8 +5171,6 @@ void Application::handleLocalServerConnection() { void Application::readArgumentsFromLocalSocket() { auto socket = qobject_cast(sender()); - qDebug() << "There are" << socket->bytesAvailable() << "bytes available"; - auto message = socket->readAll(); socket->deleteLater(); From c886cde59d3a8ef3cb796df3c818d76421dafe19 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Tue, 29 Dec 2015 16:49:00 -0800 Subject: [PATCH 14/18] create a hidden browser window --- console/src/main.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/console/src/main.js b/console/src/main.js index 010732b511..f1af873f94 100644 --- a/console/src/main.js +++ b/console/src/main.js @@ -2,6 +2,8 @@ var electron = require('electron'); var app = electron.app; // Module to control application life. +var BrowserWindow = electron.BrowserWindow; + var Menu = require('menu'); var Tray = require('tray'); var shell = require('shell'); @@ -168,9 +170,16 @@ function updateTrayMenu(serverState) { } } +var hiddenWindow = null; + // This method will be called when Electron has finished // initialization and is ready to create browser windows. app.on('ready', function() { + // create a BrowserWindow so the app launches but don't show it + hiddenWindow = new BrowserWindow({ + show: false + }); + // hide the dock icon app.dock.hide() From 59f2573038ca81be2cdf74321b9a89eeefe0d484 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Tue, 29 Dec 2015 17:59:29 -0800 Subject: [PATCH 15/18] give browser window a title and icon --- console/src/main.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/console/src/main.js b/console/src/main.js index f1af873f94..a14108a69c 100644 --- a/console/src/main.js +++ b/console/src/main.js @@ -24,6 +24,7 @@ var path = require('path'); const TRAY_FILENAME = (osType == "Darwin" ? "console-tray-Template.png" : "console-tray.png"); const TRAY_ICON = path.join(__dirname, '../resources/' + TRAY_FILENAME); +const APP_ICON = path.join(__dirname, '../resources/console.png'); // print out uncaught exceptions in the console process.on('uncaughtException', console.log.bind(console)); @@ -177,6 +178,8 @@ var hiddenWindow = null; app.on('ready', function() { // create a BrowserWindow so the app launches but don't show it hiddenWindow = new BrowserWindow({ + icon: APP_ICON, + title: "High Fidelity", show: false }); From fd4b949fdcb7f445dedff236013bd4c4a325c0e0 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Tue, 29 Dec 2015 18:13:31 -0800 Subject: [PATCH 16/18] drop to 0.35.4 for windows console compatibility --- console/package.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/console/package.json b/console/package.json index 86f0a16b05..eee91de831 100644 --- a/console/package.json +++ b/console/package.json @@ -10,7 +10,7 @@ "devDependencies": { "electron-compilers": "^1.0.1", "electron-packager": "^5.1.1", - "electron-prebuilt": "0.36.1" + "electron-prebuilt": "0.35.4" }, "repository": { "type": "git", @@ -20,9 +20,9 @@ "scripts": { "start": "electron . --local-debug-builds --debug", "local-release": "electron . --local-release-builds --debug", - "package-darwin": "electron-packager . High\\ Fidelity --overwrite --platform=darwin --arch=x64 --version=0.36.1 --icon=resources/console.icns", - "package-win": "electron-packager . High\\ Fidelity --overwrite --platform=win32 --arch=x64 --version=0.36.1 --icon=resources/console.ico", - "package-linux": "electron-packager . High\\ Fidelity --overwrite --platform=linux --arch=x64 --version=0.36.1" + "package-darwin": "electron-packager . High\\ Fidelity --overwrite --platform=darwin --arch=x64 --version=0.35.4 --icon=resources/console.icns", + "package-win": "electron-packager . High\\ Fidelity --overwrite --platform=win32 --arch=x64 --version=0.35.4 --icon=resources/console.ico", + "package-linux": "electron-packager . High\\ Fidelity --overwrite --platform=linux --arch=x64 --version=0.35.4" }, "dependencies": { "extend": "^3.0.0", From 9065a49d054dabc8af5b04076d7742bd125e2d6a Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Tue, 29 Dec 2015 18:18:18 -0800 Subject: [PATCH 17/18] only hide the dock if on OS X --- console/src/main.js | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/console/src/main.js b/console/src/main.js index a14108a69c..84928768d8 100644 --- a/console/src/main.js +++ b/console/src/main.js @@ -176,15 +176,11 @@ var hiddenWindow = null; // This method will be called when Electron has finished // initialization and is ready to create browser windows. app.on('ready', function() { - // create a BrowserWindow so the app launches but don't show it - hiddenWindow = new BrowserWindow({ - icon: APP_ICON, - title: "High Fidelity", - show: false - }); - // hide the dock icon - app.dock.hide() + if (app.dock) { + // hide the dock icon on OS X + app.dock.hide() + } var logPath = path.join(app.getAppPath(), 'logs'); From a8896de140f1ef9be595cdb0c1ae37e532494bd3 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Wed, 30 Dec 2015 09:45:23 -0800 Subject: [PATCH 18/18] remove dead code, use stop index --- console/src/main.js | 3 ++- interface/src/main.cpp | 13 +++++-------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/console/src/main.js b/console/src/main.js index 84928768d8..e05b16730c 100644 --- a/console/src/main.js +++ b/console/src/main.js @@ -87,6 +87,7 @@ var homeServer = null; const GO_HOME_INDEX = 0; const SERVER_LABEL_INDEX = 2; const RESTART_INDEX = 3; +const STOP_INDEX = 4; const SETTINGS_INDEX = 5; function buildMenuArray(serverState) { @@ -147,7 +148,7 @@ function updateMenuArray(menuArray, serverState) { menuArray[GO_HOME_INDEX].enabled = running; // Stop is only visible if running - menuArray[RESTART_INDEX + 1].visible = running; + menuArray[STOP_INDEX].visible = running; // Settings is only visible if running menuArray[SETTINGS_INDEX].enabled = running; diff --git a/interface/src/main.cpp b/interface/src/main.cpp index 43a56d87d4..6de32657f1 100644 --- a/interface/src/main.cpp +++ b/interface/src/main.cpp @@ -51,9 +51,6 @@ int main(int argc, const char* argv[]) { static const int LOCAL_SERVER_TIMEOUT_MS = 500; - QElapsedTimer waitingTimer; - waitingTimer.start(); - // Try to connect - if we can't connect, interface has probably just gone down if (socket.waitForConnected(LOCAL_SERVER_TIMEOUT_MS)) { @@ -84,9 +81,9 @@ int main(int argc, const char* argv[]) { QElapsedTimer startupTime; startupTime.start(); - - // Debug option to demonstrate that the client's local time does not - // need to be in sync with any other network node. This forces clock + + // Debug option to demonstrate that the client's local time does not + // need to be in sync with any other network node. This forces clock // skew for the individual client const char* CLOCK_SKEW = "--clockSkew"; const char* clockSkewOption = getCmdOption(argc, argv, CLOCK_SKEW); @@ -117,7 +114,7 @@ int main(int argc, const char* argv[]) { QTranslator translator; translator.load("i18n/interface_en"); app.installTranslator(&translator); - + qCDebug(interfaceapp, "Created QT Application."); exitCode = app.exec(); server.close(); @@ -127,4 +124,4 @@ int main(int argc, const char* argv[]) { qCDebug(interfaceapp, "Normal exit."); return exitCode; -} +}