From 6209639f2c2057aed2f319cfe1167befea210516 Mon Sep 17 00:00:00 2001 From: Joel Martin <github@martintribe.org> Date: Tue, 27 Sep 2011 12:36:06 -0500 Subject: [PATCH] Add WebSocket URL path to UI settings. --- include/base.css | 3 +++ include/rfb.js | 8 ++++---- include/ui.js | 9 +++++++-- vnc.html | 1 + 4 files changed, 15 insertions(+), 6 deletions(-) diff --git a/include/base.css b/include/base.css index 55d791a..c88cda5 100644 --- a/include/base.css +++ b/include/base.css @@ -36,6 +36,9 @@ html { #noVNC_connectTimeout { width: 30px; } +#noVNC_path { + width: 100px; +} #noVNC_connect_button { width: 110px; float:right; diff --git a/include/rfb.js b/include/rfb.js index e161532..b7aa3f6 100644 --- a/include/rfb.js +++ b/include/rfb.js @@ -35,7 +35,7 @@ var that = {}, // Public API methods rfb_host = '', rfb_port = 5900, rfb_password = '', - rfb_uri = '', + rfb_path = '', rfb_state = 'disconnected', rfb_version = 0, @@ -273,7 +273,7 @@ function connect() { } else { uri = "ws://"; } - uri += rfb_host + ":" + rfb_port + "/" + rfb_uri; + uri += rfb_host + ":" + rfb_port + "/" + rfb_path; Util.Info("connecting to " + uri); ws.open(uri); @@ -1526,13 +1526,13 @@ clientCutText = function(text) { // Public API interface functions // -that.connect = function(host, port, password, uri) { +that.connect = function(host, port, password, path) { //Util.Debug(">> connect"); rfb_host = host; rfb_port = port; rfb_password = (password !== undefined) ? password : ""; - rfb_uri = (uri !== undefined) ? uri : ""; + rfb_path = (path !== undefined) ? path : ""; if ((!rfb_host) || (!rfb_port)) { return fail("Must set host and port"); diff --git a/include/ui.js b/include/ui.js index d6e1d85..321d77a 100644 --- a/include/ui.js +++ b/include/ui.js @@ -52,6 +52,7 @@ load: function() { UI.initSetting('cursor', false); UI.initSetting('shared', true); UI.initSetting('connectTimeout', 2); + UI.initSetting('path', ''); UI.rfb = RFB({'target': $D('noVNC_canvas'), 'onUpdateState': UI.updateState, @@ -246,6 +247,7 @@ toggleSettingsPanel: function() { UI.updateSetting('clip'); UI.updateSetting('shared'); UI.updateSetting('connectTimeout'); + UI.updateSetting('path'); UI.updateSetting('stylesheet'); UI.updateSetting('logging'); @@ -283,6 +285,7 @@ settingsApply: function() { UI.saveSetting('clip'); UI.saveSetting('shared'); UI.saveSetting('connectTimeout'); + UI.saveSetting('path'); UI.saveSetting('stylesheet'); UI.saveSetting('logging'); @@ -394,6 +397,7 @@ updateVisualState: function() { } $D('noVNC_shared').disabled = connected; $D('noVNC_connectTimeout').disabled = connected; + $D('noVNC_path').disabled = connected; if (connected) { UI.setViewClip(); @@ -435,7 +439,7 @@ clipReceive: function(rfb, text) { connect: function() { - var host, port, password; + var host, port, password, path; UI.closeSettingsMenu(); UI.toggleConnectPanel(); @@ -443,6 +447,7 @@ connect: function() { host = $D('noVNC_host').value; port = $D('noVNC_port').value; password = $D('noVNC_password').value; + path = $D('noVNC_path').value; if ((!host) || (!port)) { throw("Must set host and port"); } @@ -453,7 +458,7 @@ connect: function() { UI.rfb.set_shared(UI.getSetting('shared')); UI.rfb.set_connectTimeout(UI.getSetting('connectTimeout')); - UI.rfb.connect(host, port, password); + UI.rfb.connect(host, port, password, path); //Close dialog. setTimeout(UI.setBarPosition, 100); $D('noVNC_logo').style.display = "none"; diff --git a/vnc.html b/vnc.html index c412c70..8d6c3d5 100644 --- a/vnc.html +++ b/vnc.html @@ -122,6 +122,7 @@ <li><input id="noVNC_clip" type="checkbox"> Clip to window</li> <li><input id="noVNC_shared" type="checkbox"> Shared Mode</li> <li><input id="noVNC_connectTimeout" type="input"> Connect Timeout (s)</li> + <li><input id="noVNC_path" type="input"> Path</li> <hr> <!-- Stylesheet selection dropdown --> <li><label><strong>Style: </strong> -- 2.18.1