5
0
mirror of git://git.proxmox.com/git/novnc-pve.git synced 2025-03-11 16:58:31 +03:00

rebase patches on v1.1.0

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
Dominik Csapak 2019-09-09 12:17:05 +02:00 committed by Thomas Lamprecht
parent 9b519cf359
commit 2b8dde16bc
12 changed files with 195 additions and 229 deletions

View File

@ -1,7 +1,7 @@
From 9607c6496f643fde5435fa799702961dd22bf81a Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Dominik Csapak <d.csapak@proxmox.com> From: Dominik Csapak <d.csapak@proxmox.com>
Date: Tue, 13 Dec 2016 16:11:35 +0100 Date: Tue, 13 Dec 2016 16:11:35 +0100
Subject: [PATCH 01/10] add pve specific js code Subject: [PATCH 01/12] add pve specific js code
this adds a es6 module 'PVEUI' which we use for defining the pve related this adds a es6 module 'PVEUI' which we use for defining the pve related
methods (API2Request, etc.) methods (API2Request, etc.)
@ -11,10 +11,10 @@ autoresizing, commandstoggle, etc.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com> Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
--- ---
app/pve.js | 418 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ app/pve.js | 418 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/ui.js | 71 +++++++++-- app/ui.js | 66 +++++++--
vnc.html | 10 +- vnc.html | 10 +-
3 files changed, 482 insertions(+), 17 deletions(-) 3 files changed, 480 insertions(+), 14 deletions(-)
create mode 100644 app/pve.js create mode 100644 app/pve.js
diff --git a/app/pve.js b/app/pve.js diff --git a/app/pve.js b/app/pve.js
@ -442,10 +442,10 @@ index 0000000..e2c37fb
+ }, + },
+}; +};
diff --git a/app/ui.js b/app/ui.js diff --git a/app/ui.js b/app/ui.js
index 4fe2a3f..59f7cca 100644 index 17ec48d..4683c02 100644
--- a/app/ui.js --- a/app/ui.js
+++ b/app/ui.js +++ b/app/ui.js
@@ -17,6 +17,7 @@ import keysyms from "../core/input/keysymdef.js"; @@ -16,6 +16,7 @@ import keysyms from "../core/input/keysymdef.js";
import Keyboard from "../core/input/keyboard.js"; import Keyboard from "../core/input/keyboard.js";
import RFB from "../core/rfb.js"; import RFB from "../core/rfb.js";
import * as WebUtil from "./webutil.js"; import * as WebUtil from "./webutil.js";
@ -453,15 +453,16 @@ index 4fe2a3f..59f7cca 100644
const UI = { const UI = {
@@ -58,6 +59,7 @@ const UI = { @@ -54,6 +55,8 @@ const UI = {
// Render default UI and initialize settings menu // Render default UI and initialize settings menu
start(callback) { start() {
+ UI.PVE = new PVEUI(UI); + UI.PVE = new PVEUI(UI);
// Setup global variables first +
UI.isSafari = (navigator.userAgent.indexOf('Safari') !== -1 && UI.initSettings();
navigator.userAgent.indexOf('Chrome') === -1);
@@ -89,6 +91,9 @@ const UI = { // Translate the DOM
@@ -81,6 +84,9 @@ const UI = {
UI.addConnectionControlHandlers(); UI.addConnectionControlHandlers();
UI.addClipboardHandlers(); UI.addClipboardHandlers();
UI.addSettingsHandlers(); UI.addSettingsHandlers();
@ -471,7 +472,7 @@ index 4fe2a3f..59f7cca 100644
document.getElementById("noVNC_status") document.getElementById("noVNC_status")
.addEventListener('click', UI.hideStatus); .addEventListener('click', UI.hideStatus);
@@ -97,23 +102,19 @@ const UI = { @@ -89,19 +95,15 @@ const UI = {
UI.openControlbar(); UI.openControlbar();
@ -491,18 +492,11 @@ index 4fe2a3f..59f7cca 100644
- // Show the connect panel on first load unless autoconnecting - // Show the connect panel on first load unless autoconnecting
- UI.openConnectPanel(); - UI.openConnectPanel();
- } - }
- if (typeof callback === "function") {
- callback(UI.rfb);
- }
+ if (typeof callback === "function") {
+ callback(UI.rfb);
+ }
+ }); + });
},
initFullscreen() { return Promise.resolve(UI.rfb);
@@ -156,9 +157,10 @@ const UI = { },
@@ -145,9 +147,10 @@ const UI = {
/* Populate the controls if defaults are provided in the URL */ /* Populate the controls if defaults are provided in the URL */
UI.initSetting('host', window.location.hostname); UI.initSetting('host', window.location.hostname);
UI.initSetting('port', port); UI.initSetting('port', port);
@ -513,16 +507,16 @@ index 4fe2a3f..59f7cca 100644
+ UI.initSetting('autoresize', true); + UI.initSetting('autoresize', true);
UI.initSetting('shared', true); UI.initSetting('shared', true);
UI.initSetting('view_only', false); UI.initSetting('view_only', false);
UI.initSetting('path', 'websockify'); UI.initSetting('show_dot', false);
@@ -342,6 +344,7 @@ const UI = { @@ -334,6 +337,7 @@ const UI = {
UI.addSettingChangeHandler('resize'); UI.addSettingChangeHandler('resize');
UI.addSettingChangeHandler('resize', UI.enableDisableViewClip);
UI.addSettingChangeHandler('resize', UI.applyResizeMode); UI.addSettingChangeHandler('resize', UI.applyResizeMode);
UI.addSettingChangeHandler('resize', UI.updateViewClip);
+ UI.addSettingChangeHandler('autoresize'); + UI.addSettingChangeHandler('autoresize');
UI.addSettingChangeHandler('view_clip'); UI.addSettingChangeHandler('view_clip');
UI.addSettingChangeHandler('view_clip', UI.updateViewClip); UI.addSettingChangeHandler('view_clip', UI.updateViewClip);
UI.addSettingChangeHandler('shared'); UI.addSettingChangeHandler('shared');
@@ -390,6 +393,9 @@ const UI = { @@ -384,6 +388,9 @@ const UI = {
document.documentElement.classList.add("noVNC_connecting"); document.documentElement.classList.add("noVNC_connecting");
break; break;
case 'connected': case 'connected':
@ -532,7 +526,7 @@ index 4fe2a3f..59f7cca 100644
document.documentElement.classList.add("noVNC_connected"); document.documentElement.classList.add("noVNC_connected");
break; break;
case 'disconnecting': case 'disconnecting':
@@ -397,6 +403,11 @@ const UI = { @@ -391,6 +398,11 @@ const UI = {
document.documentElement.classList.add("noVNC_disconnecting"); document.documentElement.classList.add("noVNC_disconnecting");
break; break;
case 'disconnected': case 'disconnected':
@ -544,7 +538,7 @@ index 4fe2a3f..59f7cca 100644
break; break;
case 'reconnecting': case 'reconnecting':
transition_elem.textContent = _("Reconnecting..."); transition_elem.textContent = _("Reconnecting...");
@@ -818,6 +829,7 @@ const UI = { @@ -805,6 +817,7 @@ const UI = {
UI.closePowerPanel(); UI.closePowerPanel();
UI.closeClipboardPanel(); UI.closeClipboardPanel();
UI.closeExtraKeys(); UI.closeExtraKeys();
@ -552,7 +546,7 @@ index 4fe2a3f..59f7cca 100644
}, },
/* ------^------- /* ------^-------
@@ -993,6 +1005,12 @@ const UI = { @@ -980,6 +993,12 @@ const UI = {
UI.reconnect_password = password; UI.reconnect_password = password;
} }
@ -565,7 +559,7 @@ index 4fe2a3f..59f7cca 100644
if (password === null) { if (password === null) {
password = undefined; password = undefined;
} }
@@ -1567,9 +1585,36 @@ const UI = { @@ -1549,9 +1568,36 @@ const UI = {
/* ------^------- /* ------^-------
* /EXTRA KEYS * /EXTRA KEYS
* ============== * ==============
@ -604,25 +598,26 @@ index 4fe2a3f..59f7cca 100644
const view_only = UI.rfb.viewOnly; const view_only = UI.rfb.viewOnly;
if (UI.rfb && !view_only) { if (UI.rfb && !view_only) {
diff --git a/vnc.html b/vnc.html diff --git a/vnc.html b/vnc.html
index 701714c..6c041b5 100644 index 212321b..072d86b 100644
--- a/vnc.html --- a/vnc.html
+++ b/vnc.html +++ b/vnc.html
@@ -200,7 +200,7 @@ @@ -191,7 +191,7 @@
<li class="noVNC_heading"> <li class="noVNC_heading">
<img src="app/images/settings.svg"> Settings <img alt="" src="app/images/settings.svg"> Settings
</li> </li>
- <li> - <li>
+ <li style="display:none;"> + <li style="display:none;">
<label><input id="noVNC_setting_shared" type="checkbox" /> Shared Mode</label> <label><input id="noVNC_setting_shared" type="checkbox"> Shared Mode</label>
</li> </li>
<li> <li>
@@ -211,15 +211,17 @@ @@ -201,16 +201,18 @@
<label><input id="noVNC_setting_view_clip" type="checkbox" /> Clip to Window</label>
</li>
<li> <li>
<label><input id="noVNC_setting_view_clip" type="checkbox"> Clip to Window</label>
</li>
+ <li>
+ <label><input id="noVNC_setting_autoresize" type="checkbox" /> Autoresize Window</label> + <label><input id="noVNC_setting_autoresize" type="checkbox" /> Autoresize Window</label>
+ </li> + </li>
+ <li> <li>
<label for="noVNC_setting_resize">Scaling Mode:</label> <label for="noVNC_setting_resize">Scaling Mode:</label>
<select id="noVNC_setting_resize" name="vncResize"> <select id="noVNC_setting_resize" name="vncResize">
- <option value="off">None</option> - <option value="off">None</option>
@ -637,6 +632,3 @@ index 701714c..6c041b5 100644
<div class="noVNC_expander">Advanced</div> <div class="noVNC_expander">Advanced</div>
<div><ul> <div><ul>
<li> <li>
--
2.11.0

View File

@ -1,7 +1,7 @@
From 4bf525059741e1bb68e355904fb82e8c1639aff9 Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Dominik Csapak <d.csapak@proxmox.com> From: Dominik Csapak <d.csapak@proxmox.com>
Date: Wed, 9 May 2018 10:47:53 +0200 Date: Wed, 9 May 2018 10:47:53 +0200
Subject: [PATCH 02/10] add custom fbresize event on rfb Subject: [PATCH 02/12] add custom fbresize event on rfb
this can be use to react to changes of the resolution, like resizing the this can be use to react to changes of the resolution, like resizing the
window window
@ -13,10 +13,10 @@ Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 files changed, 21 insertions(+) 2 files changed, 21 insertions(+)
diff --git a/app/ui.js b/app/ui.js diff --git a/app/ui.js b/app/ui.js
index 59f7cca..d960a12 100644 index 4683c02..1b0f7aa 100644
--- a/app/ui.js --- a/app/ui.js
+++ b/app/ui.js +++ b/app/ui.js
@@ -1050,6 +1050,7 @@ const UI = { @@ -1039,6 +1039,7 @@ const UI = {
UI.rfb.addEventListener("clipboard", UI.clipboardReceive); UI.rfb.addEventListener("clipboard", UI.clipboardReceive);
UI.rfb.addEventListener("bell", UI.bell); UI.rfb.addEventListener("bell", UI.bell);
UI.rfb.addEventListener("desktopname", UI.updateDesktopName); UI.rfb.addEventListener("desktopname", UI.updateDesktopName);
@ -24,7 +24,7 @@ index 59f7cca..d960a12 100644
UI.rfb.clipViewport = UI.getSetting('view_clip'); UI.rfb.clipViewport = UI.getSetting('view_clip');
UI.rfb.scaleViewport = UI.getSetting('resize') === 'scale'; UI.rfb.scaleViewport = UI.getSetting('resize') === 'scale';
UI.rfb.resizeSession = UI.getSetting('resize') === 'remote'; UI.rfb.resizeSession = UI.getSetting('resize') === 'remote';
@@ -1610,6 +1611,16 @@ const UI = { @@ -1593,6 +1594,16 @@ const UI = {
document.getElementById('pve_commands_button').classList.remove("noVNC_selected"); document.getElementById('pve_commands_button').classList.remove("noVNC_selected");
}, },
@ -42,10 +42,10 @@ index 59f7cca..d960a12 100644
* /PVE * /PVE
* ============== * ==============
diff --git a/core/rfb.js b/core/rfb.js diff --git a/core/rfb.js b/core/rfb.js
index 3433030..3e0f176 100644 index 89b8130..c079af1 100644
--- a/core/rfb.js --- a/core/rfb.js
+++ b/core/rfb.js +++ b/core/rfb.js
@@ -1593,6 +1593,16 @@ export default class RFB extends EventTargetMixin { @@ -1670,6 +1670,16 @@ export default class RFB extends EventTargetMixin {
this._updateClip(); this._updateClip();
this._updateScale(); this._updateScale();
@ -59,9 +59,6 @@ index 3433030..3e0f176 100644
+ ); + );
+ this.dispatchEvent(event); + this.dispatchEvent(event);
+ +
this._timing.fbu_rt_start = (new Date()).getTime();
this._updateContinuousUpdates(); this._updateContinuousUpdates();
} }
--
2.11.0

View File

@ -1,7 +1,7 @@
From ce3216300e07c2723dc934c734dda432355a3100 Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Dominik Csapak <d.csapak@proxmox.com> From: Dominik Csapak <d.csapak@proxmox.com>
Date: Thu, 11 May 2017 10:34:10 +0200 Date: Thu, 11 May 2017 10:34:10 +0200
Subject: [PATCH 03/10] change scaling when toggling fullscreen Subject: [PATCH 03/12] change scaling when toggling fullscreen
when activating fullscreen, we change the scaling to 'scale', when activating fullscreen, we change the scaling to 'scale',
and changing it back when leaving fullscreen and changing it back when leaving fullscreen
@ -12,10 +12,10 @@ Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
1 file changed, 11 insertions(+) 1 file changed, 11 insertions(+)
diff --git a/app/ui.js b/app/ui.js diff --git a/app/ui.js b/app/ui.js
index d960a12..662352f 100644 index 1b0f7aa..8cc6cfd 100644
--- a/app/ui.js --- a/app/ui.js
+++ b/app/ui.js +++ b/app/ui.js
@@ -1212,6 +1212,13 @@ const UI = { @@ -1201,6 +1201,13 @@ const UI = {
} else if (document.msExitFullscreen) { } else if (document.msExitFullscreen) {
document.msExitFullscreen(); document.msExitFullscreen();
} }
@ -29,7 +29,7 @@ index d960a12..662352f 100644
} else { } else {
if (document.documentElement.requestFullscreen) { if (document.documentElement.requestFullscreen) {
document.documentElement.requestFullscreen(); document.documentElement.requestFullscreen();
@@ -1222,7 +1229,11 @@ const UI = { @@ -1211,7 +1218,11 @@ const UI = {
} else if (document.body.msRequestFullscreen) { } else if (document.body.msRequestFullscreen) {
document.body.msRequestFullscreen(); document.body.msRequestFullscreen();
} }
@ -38,9 +38,6 @@ index d960a12..662352f 100644
+ UI.enableSetting('resize'); + UI.enableSetting('resize');
} }
+ UI.applyResizeMode(); + UI.applyResizeMode();
UI.enableDisableViewClip();
UI.updateFullscreenButton(); UI.updateFullscreenButton();
}, },
--
2.11.0

View File

@ -1,7 +1,7 @@
From ad3490e9908ce0a65ef40576520fb33236b5c102 Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Dominik Csapak <d.csapak@proxmox.com> From: Dominik Csapak <d.csapak@proxmox.com>
Date: Tue, 13 Dec 2016 16:03:41 +0100 Date: Tue, 13 Dec 2016 16:03:41 +0100
Subject: [PATCH 04/10] add pve style Subject: [PATCH 04/12] add pve style
this adds the custom pve style (based on black.css) this adds the custom pve style (based on black.css)
@ -11,8 +11,8 @@ and fix the z-index of the connect overlay
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com> Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
--- ---
app/styles/pve.css | 42 ++++++++++++++++++++++++++++++++++++++++++ app/styles/pve.css | 42 ++++++++++++++++++++++++++++++++++++++++++
vnc.html | 1 + vnc.html | 3 ++-
2 files changed, 43 insertions(+) 2 files changed, 44 insertions(+), 1 deletion(-)
create mode 100644 app/styles/pve.css create mode 100644 app/styles/pve.css
diff --git a/app/styles/pve.css b/app/styles/pve.css diff --git a/app/styles/pve.css b/app/styles/pve.css
@ -64,17 +64,16 @@ index 0000000..eaeb5cb
+ background: #5BA8DF; + background: #5BA8DF;
+} +}
diff --git a/vnc.html b/vnc.html diff --git a/vnc.html b/vnc.html
index 6c041b5..3110e8b 100644 index 072d86b..57b44a1 100644
--- a/vnc.html --- a/vnc.html
+++ b/vnc.html +++ b/vnc.html
@@ -55,6 +55,7 @@ @@ -48,7 +48,8 @@
<link rel="apple-touch-icon" sizes="152x152" type="image/png" href="app/images/icons/novnc-152x152.png">
<!-- Stylesheets --> <!-- Stylesheets -->
<link rel="stylesheet" href="app/styles/base.css" /> - <link rel="stylesheet" href="app/styles/base.css">
+ <link rel="stylesheet" href="app/styles/base.css" />
+ <link rel="stylesheet" href="/novnc/app/styles/pve.css" /> + <link rel="stylesheet" href="/novnc/app/styles/pve.css" />
<!-- <!-- this is included as a normal file in order to catch script-loading errors as well -->
<script type='text/javascript' <script src="app/error-handler.js"></script>
--
2.11.0

View File

@ -1,24 +1,24 @@
From b093138dedf1c2b8f5b91fe8819092bf8f1371be Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Dominik Csapak <d.csapak@proxmox.com> From: Dominik Csapak <d.csapak@proxmox.com>
Date: Fri, 20 Jan 2017 10:35:05 +0100 Date: Fri, 20 Jan 2017 10:35:05 +0100
Subject: [PATCH 05/10] remove vnc logos Subject: [PATCH 05/12] remove vnc logos
to show the pve icon instead to show the pve icon instead
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com> Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
--- ---
vnc.html | 26 -------------------------- vnc.html | 32 +++-----------------------------
1 file changed, 26 deletions(-) 1 file changed, 3 insertions(+), 29 deletions(-)
diff --git a/vnc.html b/vnc.html diff --git a/vnc.html b/vnc.html
index 3110e8b..bc1a47d 100644 index 57b44a1..1420849 100644
--- a/vnc.html --- a/vnc.html
+++ b/vnc.html +++ b/vnc.html
@@ -23,36 +23,10 @@ @@ -17,36 +17,10 @@
Remove this if you use the .htaccess -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
- <!-- Icons (see Makefile for what the sizes are for) --> <meta charset="utf-8">
- <!-- Icons (see app/images/icons/Makefile for what the sizes are for) -->
- <link rel="icon" sizes="16x16" type="image/png" href="app/images/icons/novnc-16x16.png"> - <link rel="icon" sizes="16x16" type="image/png" href="app/images/icons/novnc-16x16.png">
- <link rel="icon" sizes="24x24" type="image/png" href="app/images/icons/novnc-24x24.png"> - <link rel="icon" sizes="24x24" type="image/png" href="app/images/icons/novnc-24x24.png">
- <link rel="icon" sizes="32x32" type="image/png" href="app/images/icons/novnc-32x32.png"> - <link rel="icon" sizes="32x32" type="image/png" href="app/images/icons/novnc-32x32.png">
@ -39,18 +39,18 @@ index 3110e8b..bc1a47d 100644
- <link rel="icon" sizes="16x16" type="image/png" href="app/images/icons/novnc-16x16.png"> - <link rel="icon" sizes="16x16" type="image/png" href="app/images/icons/novnc-16x16.png">
- -
<!-- Apple iOS Safari settings --> <!-- Apple iOS Safari settings -->
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> - <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes" /> - <meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" /> - <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
- <!-- Home Screen Icons (favourites and bookmarks use the normal icons) --> - <!-- Home Screen Icons (favourites and bookmarks use the normal icons) -->
- <link rel="apple-touch-icon" sizes="60x60" type="image/png" href="app/images/icons/novnc-60x60.png"> - <link rel="apple-touch-icon" sizes="60x60" type="image/png" href="app/images/icons/novnc-60x60.png">
- <link rel="apple-touch-icon" sizes="76x76" type="image/png" href="app/images/icons/novnc-76x76.png"> - <link rel="apple-touch-icon" sizes="76x76" type="image/png" href="app/images/icons/novnc-76x76.png">
- <link rel="apple-touch-icon" sizes="120x120" type="image/png" href="app/images/icons/novnc-120x120.png"> - <link rel="apple-touch-icon" sizes="120x120" type="image/png" href="app/images/icons/novnc-120x120.png">
- <link rel="apple-touch-icon" sizes="152x152" type="image/png" href="app/images/icons/novnc-152x152.png"> - <link rel="apple-touch-icon" sizes="152x152" type="image/png" href="app/images/icons/novnc-152x152.png">
- -
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
+ <meta name="apple-mobile-web-app-capable" content="yes" />
+ <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<!-- Stylesheets --> <!-- Stylesheets -->
<link rel="stylesheet" href="app/styles/base.css" /> <link rel="stylesheet" href="app/styles/base.css" />
<link rel="stylesheet" href="/novnc/app/styles/pve.css" /> <link rel="stylesheet" href="/novnc/app/styles/pve.css" />
--
2.11.0

View File

@ -1,7 +1,7 @@
From 127328ecd3996a572d202d9a33da98cad24ecc75 Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Dominik Csapak <d.csapak@proxmox.com> From: Dominik Csapak <d.csapak@proxmox.com>
Date: Tue, 17 Jan 2017 17:24:03 +0100 Date: Tue, 17 Jan 2017 17:24:03 +0100
Subject: [PATCH 06/10] change src directory for images/js files Subject: [PATCH 06/12] change src directory for images/js files
since they will be in /novnc/ since they will be in /novnc/
also change the directory in the build script also change the directory in the build script
@ -9,27 +9,27 @@ also change the directory in the build script
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com> Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
--- ---
app/ui.js | 2 +- app/ui.js | 2 +-
vnc.html | 56 ++++++++++++++++++++++++++++---------------------------- vnc.html | 58 +++++++++++++++++++++++++++----------------------------
2 files changed, 29 insertions(+), 29 deletions(-) 2 files changed, 30 insertions(+), 30 deletions(-)
diff --git a/app/ui.js b/app/ui.js diff --git a/app/ui.js b/app/ui.js
index 662352f..c523fcd 100644 index 8cc6cfd..7201179 100644
--- a/app/ui.js --- a/app/ui.js
+++ b/app/ui.js +++ b/app/ui.js
@@ -1720,7 +1720,7 @@ const UI = { @@ -1713,7 +1713,7 @@ l10n.setup(LINGUAS);
const LINGUAS = ["de", "el", "es", "nl", "pl", "sv", "tr", "zh_CN", "zh_TW"]; if (l10n.language === "en" || l10n.dictionary !== undefined) {
l10n.setup(LINGUAS); UI.prime();
if (l10n.language !== "en" && l10n.dictionary === undefined) { } else {
- WebUtil.fetchJSON('app/locale/' + l10n.language + '.json', (translations) => { - WebUtil.fetchJSON('app/locale/' + l10n.language + '.json')
+ WebUtil.fetchJSON('/novnc/app/locale/' + l10n.language + '.json', function (translations) { + WebUtil.fetchJSON('/novnc/app/locale/' + l10n.language + '.json')
l10n.dictionary = translations; .then((translations) => { l10n.dictionary = translations; })
.catch(err => Log.Error("Failed to load translations: " + err))
// wait for translations to load before loading the UI .then(UI.prime);
diff --git a/vnc.html b/vnc.html diff --git a/vnc.html b/vnc.html
index bc1a47d..d17ee81 100644 index 1420849..f93cf89 100644
--- a/vnc.html --- a/vnc.html
+++ b/vnc.html +++ b/vnc.html
@@ -28,7 +28,7 @@ @@ -22,15 +22,15 @@
<meta name="apple-mobile-web-app-capable" content="yes" /> <meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" /> <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<!-- Stylesheets --> <!-- Stylesheets -->
@ -37,13 +37,9 @@ index bc1a47d..d17ee81 100644
+ <link rel="stylesheet" href="/novnc/app/styles/base.css" /> + <link rel="stylesheet" href="/novnc/app/styles/base.css" />
<link rel="stylesheet" href="/novnc/app/styles/pve.css" /> <link rel="stylesheet" href="/novnc/app/styles/pve.css" />
<!--
@@ -37,11 +37,11 @@
-->
<!-- this is included as a normal file in order to catch script-loading errors as well --> <!-- this is included as a normal file in order to catch script-loading errors as well -->
- <script type="text/javascript" src="app/error-handler.js"></script> - <script src="app/error-handler.js"></script>
+ <script type="text/javascript" src="/novnc/app/error-handler.js"></script> + <script src="/novnc/app/error-handler.js"></script>
<!-- begin scripts --> <!-- begin scripts -->
<!-- promise polyfills promises for IE11 --> <!-- promise polyfills promises for IE11 -->
@ -52,7 +48,7 @@ index bc1a47d..d17ee81 100644
<!-- ES2015/ES6 modules polyfill --> <!-- ES2015/ES6 modules polyfill -->
<script type="module"> <script type="module">
window._noVNC_has_module_support = true; window._noVNC_has_module_support = true;
@@ -50,12 +50,12 @@ @@ -39,12 +39,12 @@
window.addEventListener("load", function() { window.addEventListener("load", function() {
if (window._noVNC_has_module_support) return; if (window._noVNC_has_module_support) return;
var loader = document.createElement("script"); var loader = document.createElement("script");
@ -67,37 +63,36 @@ index bc1a47d..d17ee81 100644
<!-- end scripts --> <!-- end scripts -->
</head> </head>
@@ -80,49 +80,49 @@ @@ -69,51 +69,51 @@
<h1 class="noVNC_logo" translate="no"><span>no</span><br />VNC</h1> <h1 class="noVNC_logo" translate="no"><span>no</span><br>VNC</h1>
<!-- Drag/Pan the viewport --> <!-- Drag/Pan the viewport -->
- <input type="image" alt="viewport drag" src="app/images/drag.svg" - <input type="image" alt="viewport drag" src="app/images/drag.svg"
+ <input type="image" alt="viewport drag" src="/novnc/app/images/drag.svg" + <input type="image" alt="viewport drag" src="/novnc/app/images/drag.svg"
id="noVNC_view_drag_button" class="noVNC_button noVNC_hidden" id="noVNC_view_drag_button" class="noVNC_button noVNC_hidden"
title="Move/Drag Viewport" /> title="Move/Drag Viewport">
<!--noVNC Touch Device only buttons--> <!--noVNC Touch Device only buttons-->
<div id="noVNC_mobile_buttons"> <div id="noVNC_mobile_buttons">
- <input type="image" alt="No mousebutton" src="app/images/mouse_none.svg" - <input type="image" alt="No mousebutton" src="app/images/mouse_none.svg"
+ <input type="image" alt="No mousebutton" src="/novnc/app/images/mouse_none.svg" + <input type="image" alt="No mousebutton" src="/novnc/app/images/mouse_none.svg"
id="noVNC_mouse_button0" class="noVNC_button" id="noVNC_mouse_button0" class="noVNC_button"
title="Active Mouse Button"/> title="Active Mouse Button">
- <input type="image" alt="Left mousebutton" src="app/images/mouse_left.svg" - <input type="image" alt="Left mousebutton" src="app/images/mouse_left.svg"
+ <input type="image" alt="Left mousebutton" src="/novnc/app/images/mouse_left.svg" + <input type="image" alt="Left mousebutton" src="/novnc/app/images/mouse_left.svg"
id="noVNC_mouse_button1" class="noVNC_button" id="noVNC_mouse_button1" class="noVNC_button"
title="Active Mouse Button"/> title="Active Mouse Button">
- <input type="image" alt="Middle mousebutton" src="app/images/mouse_middle.svg" - <input type="image" alt="Middle mousebutton" src="app/images/mouse_middle.svg"
+ <input type="image" alt="Middle mousebutton" src="/novnc/app/images/mouse_middle.svg" + <input type="image" alt="Middle mousebutton" src="/novnc/app/images/mouse_middle.svg"
id="noVNC_mouse_button2" class="noVNC_button" id="noVNC_mouse_button2" class="noVNC_button"
title="Active Mouse Button"/> title="Active Mouse Button">
- <input type="image" alt="Right mousebutton" src="app/images/mouse_right.svg" - <input type="image" alt="Right mousebutton" src="app/images/mouse_right.svg"
+ <input type="image" alt="Right mousebutton" src="/novnc/app/images/mouse_right.svg" + <input type="image" alt="Right mousebutton" src="/novnc/app/images/mouse_right.svg"
id="noVNC_mouse_button4" class="noVNC_button" id="noVNC_mouse_button4" class="noVNC_button"
title="Active Mouse Button"/> title="Active Mouse Button">
- <input type="image" alt="Keyboard" src="app/images/keyboard.svg" - <input type="image" alt="Keyboard" src="app/images/keyboard.svg"
+ <input type="image" alt="Keyboard" src="/novnc/app/images/keyboard.svg" + <input type="image" alt="Keyboard" src="/novnc/app/images/keyboard.svg"
id="noVNC_keyboard_button" class="noVNC_button" id="noVNC_keyboard_button" class="noVNC_button" title="Show Keyboard">
value="Keyboard" title="Show Keyboard" />
</div> </div>
<!-- Extra manual keys --> <!-- Extra manual keys -->
@ -105,104 +100,108 @@ index bc1a47d..d17ee81 100644
- <input type="image" alt="Extra keys" src="app/images/toggleextrakeys.svg" - <input type="image" alt="Extra keys" src="app/images/toggleextrakeys.svg"
+ <input type="image" alt="Extra keys" src="/novnc/app/images/toggleextrakeys.svg" + <input type="image" alt="Extra keys" src="/novnc/app/images/toggleextrakeys.svg"
id="noVNC_toggle_extra_keys_button" class="noVNC_button" id="noVNC_toggle_extra_keys_button" class="noVNC_button"
title="Show Extra Keys"/> title="Show Extra Keys">
<div class="noVNC_vcenter"> <div class="noVNC_vcenter">
<div id="noVNC_modifiers" class="noVNC_panel"> <div id="noVNC_modifiers" class="noVNC_panel">
- <input type="image" alt="Ctrl" src="app/images/ctrl.svg" - <input type="image" alt="Ctrl" src="app/images/ctrl.svg"
+ <input type="image" alt="Ctrl" src="/novnc/app/images/ctrl.svg" + <input type="image" alt="Ctrl" src="/novnc/app/images/ctrl.svg"
id="noVNC_toggle_ctrl_button" class="noVNC_button" id="noVNC_toggle_ctrl_button" class="noVNC_button"
title="Toggle Ctrl"/> title="Toggle Ctrl">
- <input type="image" alt="Alt" src="app/images/alt.svg" - <input type="image" alt="Alt" src="app/images/alt.svg"
+ <input type="image" alt="Alt" src="/novnc/app/images/alt.svg" + <input type="image" alt="Alt" src="/novnc/app/images/alt.svg"
id="noVNC_toggle_alt_button" class="noVNC_button" id="noVNC_toggle_alt_button" class="noVNC_button"
title="Toggle Alt"/> title="Toggle Alt">
- <input type="image" alt="Windows" src="app/images/windows.svg"
+ <input type="image" alt="Alt" src="/novnc/app/images/windows.svg"
id="noVNC_toggle_windows_button" class="noVNC_button"
title="Toggle Windows">
- <input type="image" alt="Tab" src="app/images/tab.svg" - <input type="image" alt="Tab" src="app/images/tab.svg"
+ <input type="image" alt="Tab" src="/novnc/app/images/tab.svg" + <input type="image" alt="Tab" src="/novnc/app/images/tab.svg"
id="noVNC_send_tab_button" class="noVNC_button" id="noVNC_send_tab_button" class="noVNC_button"
title="Send Tab"/> title="Send Tab">
- <input type="image" alt="Esc" src="app/images/esc.svg" - <input type="image" alt="Esc" src="app/images/esc.svg"
+ <input type="image" alt="Esc" src="/novnc/app/images/esc.svg" + <input type="image" alt="Esc" src="/novnc/app/images/esc.svg"
id="noVNC_send_esc_button" class="noVNC_button" id="noVNC_send_esc_button" class="noVNC_button"
title="Send Escape"/> title="Send Escape">
- <input type="image" alt="Ctrl+Alt+Del" src="app/images/ctrlaltdel.svg" - <input type="image" alt="Ctrl+Alt+Del" src="app/images/ctrlaltdel.svg"
+ <input type="image" alt="Ctrl+Alt+Del" src="/novnc/app/images/ctrlaltdel.svg" + <input type="image" alt="Ctrl+Alt+Del" src="/novnc/app/images/ctrlaltdel.svg"
id="noVNC_send_ctrl_alt_del_button" class="noVNC_button" id="noVNC_send_ctrl_alt_del_button" class="noVNC_button"
title="Send Ctrl-Alt-Del" /> title="Send Ctrl-Alt-Del">
</div> </div>
@@ -130,13 +130,13 @@ @@ -121,13 +121,13 @@
</div> </div>
<!-- Shutdown/Reboot --> <!-- Shutdown/Reboot -->
- <input type="image" alt="Shutdown/Reboot" src="app/images/power.svg" - <input type="image" alt="Shutdown/Reboot" src="app/images/power.svg"
+ <input type="image" alt="Shutdown/Reboot" src="/novnc/app/images/power.svg" + <input type="image" alt="Shutdown/Reboot" src="/novnc/app/images/power.svg"
id="noVNC_power_button" class="noVNC_button" id="noVNC_power_button" class="noVNC_button"
title="Shutdown/Reboot..." /> title="Shutdown/Reboot...">
<div class="noVNC_vcenter"> <div class="noVNC_vcenter">
<div id="noVNC_power" class="noVNC_panel"> <div id="noVNC_power" class="noVNC_panel">
<div class="noVNC_heading"> <div class="noVNC_heading">
- <img src="app/images/power.svg"> Power - <img alt="" src="app/images/power.svg"> Power
+ <img src="/novnc/app/images/power.svg"> Power + <img alt="" src="/novnc/app/images/power.svg"> Power
</div> </div>
<input type="button" id="noVNC_shutdown_button" value="Shutdown" /> <input type="button" id="noVNC_shutdown_button" value="Shutdown">
<input type="button" id="noVNC_reboot_button" value="Reboot" /> <input type="button" id="noVNC_reboot_button" value="Reboot">
@@ -145,13 +145,13 @@ @@ -136,13 +136,13 @@
</div> </div>
<!-- Clipboard --> <!-- Clipboard -->
- <input type="image" alt="Clipboard" src="app/images/clipboard.svg" - <input type="image" alt="Clipboard" src="app/images/clipboard.svg"
+ <input type="image" alt="Clipboard" src="/novnc/app/images/clipboard.svg" + <input type="image" alt="Clipboard" src="/novnc/app/images/clipboard.svg"
id="noVNC_clipboard_button" class="noVNC_button" id="noVNC_clipboard_button" class="noVNC_button"
title="Clipboard" /> title="Clipboard">
<div class="noVNC_vcenter"> <div class="noVNC_vcenter">
<div id="noVNC_clipboard" class="noVNC_panel"> <div id="noVNC_clipboard" class="noVNC_panel">
<div class="noVNC_heading"> <div class="noVNC_heading">
- <img src="app/images/clipboard.svg"> Clipboard - <img alt="" src="app/images/clipboard.svg"> Clipboard
+ <img src="/novnc/app/images/clipboard.svg"> Clipboard + <img alt="" src="/novnc/app/images/clipboard.svg"> Clipboard
</div> </div>
<textarea id="noVNC_clipboard_text" rows=5></textarea> <textarea id="noVNC_clipboard_text" rows=5></textarea>
<br /> <br>
@@ -161,19 +161,19 @@ @@ -152,19 +152,19 @@
</div> </div>
<!-- Toggle fullscreen --> <!-- Toggle fullscreen -->
- <input type="image" alt="Fullscreen" src="app/images/fullscreen.svg" - <input type="image" alt="Fullscreen" src="app/images/fullscreen.svg"
+ <input type="image" alt="Fullscreen" src="/novnc/app/images/fullscreen.svg" + <input type="image" alt="Fullscreen" src="/novnc/app/images/fullscreen.svg"
id="noVNC_fullscreen_button" class="noVNC_button noVNC_hidden" id="noVNC_fullscreen_button" class="noVNC_button noVNC_hidden"
title="Fullscreen" /> title="Fullscreen">
<!-- Settings --> <!-- Settings -->
- <input type="image" alt="Settings" src="app/images/settings.svg" - <input type="image" alt="Settings" src="app/images/settings.svg"
+ <input type="image" alt="Settings" src="/novnc/app/images/settings.svg" + <input type="image" alt="Settings" src="/novnc/app/images/settings.svg"
id="noVNC_settings_button" class="noVNC_button" id="noVNC_settings_button" class="noVNC_button"
title="Settings" /> title="Settings">
<div class="noVNC_vcenter"> <div class="noVNC_vcenter">
<div id="noVNC_settings" class="noVNC_panel"> <div id="noVNC_settings" class="noVNC_panel">
<ul> <ul>
<li class="noVNC_heading"> <li class="noVNC_heading">
- <img src="app/images/settings.svg"> Settings - <img alt="" src="app/images/settings.svg"> Settings
+ <img src="/novnc/app/images/settings.svg"> Settings + <img alt="" src="/novnc/app/images/settings.svg"> Settings
</li> </li>
<li style="display:none;"> <li style="display:none;">
<label><input id="noVNC_setting_shared" type="checkbox" /> Shared Mode</label> <label><input id="noVNC_setting_shared" type="checkbox"> Shared Mode</label>
@@ -246,7 +246,7 @@ @@ -241,7 +241,7 @@
</div> </div>
<!-- Connection Controls --> <!-- Connection Controls -->
- <input type="image" alt="Disconnect" src="app/images/disconnect.svg" - <input type="image" alt="Disconnect" src="app/images/disconnect.svg"
+ <input type="image" alt="Disconnect" src="/novnc/app/images/disconnect.svg" + <input type="image" alt="Disconnect" src="/novnc/app/images/disconnect.svg"
id="noVNC_disconnect_button" class="noVNC_button" id="noVNC_disconnect_button" class="noVNC_button"
title="Disconnect" /> title="Disconnect">
@@ -265,7 +265,7 @@ @@ -260,7 +260,7 @@
<div id="noVNC_connect_dlg"> <div id="noVNC_connect_dlg">
<div class="noVNC_logo" translate="no"><span>no</span>VNC</div> <div class="noVNC_logo" translate="no"><span>no</span>VNC</div>
<div id="noVNC_connect_button"><div> <div id="noVNC_connect_button"><div>
- <img src="app/images/connect.svg"> Connect - <img alt="" src="app/images/connect.svg"> Connect
+ <img src="/novnc/app/images/connect.svg"> Connect + <img alt="" src="/novnc/app/images/connect.svg"> Connect
</div></div> </div></div>
</div> </div>
</div> </div>
@@ -306,8 +306,8 @@ @@ -300,8 +300,8 @@
</div> </div>
<audio id="noVNC_bell"> <audio id="noVNC_bell">
@ -213,6 +212,3 @@ index bc1a47d..d17ee81 100644
</audio> </audio>
</body> </body>
</html> </html>
--
2.11.0

View File

@ -1,7 +1,7 @@
From 67da56922c2edea81ee98198db125d9fc8abd8b4 Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Dominik Csapak <d.csapak@proxmox.com> From: Dominik Csapak <d.csapak@proxmox.com>
Date: Fri, 20 Jan 2017 10:35:43 +0100 Date: Fri, 20 Jan 2017 10:35:43 +0100
Subject: [PATCH 07/10] add pve vnc commands Subject: [PATCH 07/12] add pve vnc commands
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com> Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
--- ---
@ -9,10 +9,10 @@ Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
1 file changed, 21 insertions(+) 1 file changed, 21 insertions(+)
diff --git a/vnc.html b/vnc.html diff --git a/vnc.html b/vnc.html
index d17ee81..eca9a54 100644 index f93cf89..fad5d4a 100644
--- a/vnc.html --- a/vnc.html
+++ b/vnc.html +++ b/vnc.html
@@ -245,6 +245,27 @@ @@ -240,6 +240,27 @@
</div> </div>
</div> </div>
@ -40,6 +40,3 @@ index d17ee81..eca9a54 100644
<!-- Connection Controls --> <!-- Connection Controls -->
<input type="image" alt="Disconnect" src="/novnc/app/images/disconnect.svg" <input type="image" alt="Disconnect" src="/novnc/app/images/disconnect.svg"
id="noVNC_disconnect_button" class="noVNC_button" id="noVNC_disconnect_button" class="noVNC_button"
--
2.11.0

View File

@ -1,32 +1,34 @@
From 492c7d299d770dca563f806eadb6458a24d97b2d Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Dominik Csapak <d.csapak@proxmox.com> From: Dominik Csapak <d.csapak@proxmox.com>
Date: Fri, 20 Jan 2017 10:16:09 +0100 Date: Fri, 20 Jan 2017 10:16:09 +0100
Subject: [PATCH 08/10] add replaceable snippets in vnc.html Subject: [PATCH 08/12] add replaceable snippets in vnc.html
so that we can insert the username/csrftoken via search/replace so that we can insert the username/csrftoken via search/replace
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com> Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
--- ---
vnc.html | 8 +++++++- vnc.html | 10 ++++++++--
1 file changed, 7 insertions(+), 1 deletion(-) 1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/vnc.html b/vnc.html diff --git a/vnc.html b/vnc.html
index eca9a54..f63aaa7 100644 index fad5d4a..bba7d7d 100644
--- a/vnc.html --- a/vnc.html
+++ b/vnc.html +++ b/vnc.html
@@ -15,7 +15,7 @@ @@ -13,7 +13,7 @@
or the fragment: or the fragment:
http://example.com/#host=HOST&port=PORT&encrypt=1 http://example.com/#host=HOST&port=PORT&encrypt=1
--> -->
- <title>noVNC</title> - <title>noVNC</title>
+ <title>[% nodename %] - Proxmox Console</title> + <title>[% nodename %] - Proxmox Console</title>
<meta charset="utf-8" /> <meta charset="utf-8">
@@ -38,6 +38,12 @@ @@ -26,7 +26,13 @@
<link rel="stylesheet" href="/novnc/app/styles/pve.css" />
<!-- this is included as a normal file in order to catch script-loading errors as well --> <!-- this is included as a normal file in order to catch script-loading errors as well -->
<script type="text/javascript" src="/novnc/app/error-handler.js"></script> - <script src="/novnc/app/error-handler.js"></script>
+ <script type="text/javascript" src="/novnc/app/error-handler.js"></script>
+ <script type="text/javascript"> + <script type="text/javascript">
+ if (typeof(PVE) === 'undefined') PVE = {}; + if (typeof(PVE) === 'undefined') PVE = {};
+ PVE.UserName = '[% username %]'; + PVE.UserName = '[% username %]';
@ -36,6 +38,3 @@ index eca9a54..f63aaa7 100644
<!-- begin scripts --> <!-- begin scripts -->
<!-- promise polyfills promises for IE11 --> <!-- promise polyfills promises for IE11 -->
--
2.11.0

View File

@ -1,7 +1,7 @@
From 60e19c4a22688d0e13dedbed1808e6b4576946e8 Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Dominik Csapak <d.csapak@proxmox.com> From: Dominik Csapak <d.csapak@proxmox.com>
Date: Fri, 20 Jan 2017 10:55:49 +0100 Date: Fri, 20 Jan 2017 10:55:49 +0100
Subject: [PATCH 09/10] decrease animation time Subject: [PATCH 09/12] decrease animation time
because 0.5s is too long because 0.5s is too long
@ -11,10 +11,10 @@ Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
1 file changed, 6 insertions(+), 6 deletions(-) 1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/app/styles/base.css b/app/styles/base.css diff --git a/app/styles/base.css b/app/styles/base.css
index 344db9b..6e0d8d6 100644 index 3ca9894..137aec8 100644
--- a/app/styles/base.css --- a/app/styles/base.css
+++ b/app/styles/base.css +++ b/app/styles/base.css
@@ -285,7 +285,7 @@ select:active { @@ -283,7 +283,7 @@ select:active {
position: fixed; position: fixed;
z-index: 10; z-index: 10;
@ -23,7 +23,7 @@ index 344db9b..6e0d8d6 100644
/* Edge misrenders animations wihthout this */ /* Edge misrenders animations wihthout this */
transform: translateX(0); transform: translateX(0);
@@ -302,7 +302,7 @@ select:active { @@ -300,7 +300,7 @@ select:active {
position: relative; position: relative;
left: -100%; left: -100%;
@ -32,7 +32,7 @@ index 344db9b..6e0d8d6 100644
background-color: rgb(110, 132, 163); background-color: rgb(110, 132, 163);
border-radius: 0 10px 10px 0; border-radius: 0 10px 10px 0;
@@ -320,7 +320,7 @@ select:active { @@ -318,7 +318,7 @@ select:active {
height: 100%; height: 100%;
width: 30px; width: 30px;
left: -30px; left: -30px;
@ -41,7 +41,7 @@ index 344db9b..6e0d8d6 100644
} }
#noVNC_control_bar.noVNC_open::before { #noVNC_control_bar.noVNC_open::before {
box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.5); box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.5);
@@ -354,7 +354,7 @@ select:active { @@ -352,7 +352,7 @@ select:active {
} }
#noVNC_control_bar_handle:after { #noVNC_control_bar_handle:after {
content: ""; content: "";
@ -50,7 +50,7 @@ index 344db9b..6e0d8d6 100644
background: url("../images/handle.svg"); background: url("../images/handle.svg");
position: absolute; position: absolute;
top: 22px; /* (50px-6px)/2 */ top: 22px; /* (50px-6px)/2 */
@@ -476,7 +476,7 @@ select:active { @@ -474,7 +474,7 @@ select:active {
.noVNC_panel { .noVNC_panel {
transform: translateX(25px); transform: translateX(25px);
@ -59,7 +59,7 @@ index 344db9b..6e0d8d6 100644
max-height: 100vh; /* Chrome is buggy with 100% */ max-height: 100vh; /* Chrome is buggy with 100% */
overflow-x: hidden; overflow-x: hidden;
@@ -653,7 +653,7 @@ select:active { @@ -651,7 +651,7 @@ select:active {
cursor: pointer; cursor: pointer;
@ -68,6 +68,3 @@ index 344db9b..6e0d8d6 100644
visibility: hidden; visibility: hidden;
opacity: 0; opacity: 0;
--
2.11.0

View File

@ -1,7 +1,7 @@
From e78d6d49ae2c4986ce283ddb2b36601f498d5015 Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Dominik Csapak <d.csapak@proxmox.com> From: Dominik Csapak <d.csapak@proxmox.com>
Date: Tue, 16 May 2017 10:36:15 +0200 Date: Tue, 16 May 2017 10:36:15 +0200
Subject: [PATCH 10/10] use only app.js Subject: [PATCH 10/12] use only app.js
because we will use the commonjs version, because we will use the commonjs version,
we only need to use the generated app.js we only need to use the generated app.js
@ -12,10 +12,10 @@ Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
1 file changed, 1 insertion(+), 16 deletions(-) 1 file changed, 1 insertion(+), 16 deletions(-)
diff --git a/vnc.html b/vnc.html diff --git a/vnc.html b/vnc.html
index f63aaa7..83825eb 100644 index bba7d7d..6fb195e 100644
--- a/vnc.html --- a/vnc.html
+++ b/vnc.html +++ b/vnc.html
@@ -46,22 +46,7 @@ @@ -35,22 +35,7 @@
</script> </script>
<!-- begin scripts --> <!-- begin scripts -->
@ -39,6 +39,3 @@ index f63aaa7..83825eb 100644
<!-- end scripts --> <!-- end scripts -->
</head> </head>
--
2.11.0

View File

@ -1,7 +1,7 @@
From c00b6dd12a3daa100673561cdedc5909ed4c3738 Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Dominik Csapak <d.csapak@proxmox.com> From: Dominik Csapak <d.csapak@proxmox.com>
Date: Thu, 19 Jul 2018 11:31:51 +0200 Date: Thu, 19 Jul 2018 11:31:51 +0200
Subject: [PATCH 11/11] add localCursor setting to rfb Subject: [PATCH 11/12] add localCursor setting to rfb
and use it in app.js (default true) and use it in app.js (default true)
@ -14,27 +14,27 @@ Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 files changed, 36 insertions(+), 1 deletion(-) 4 files changed, 36 insertions(+), 1 deletion(-)
diff --git a/app/ui.js b/app/ui.js diff --git a/app/ui.js b/app/ui.js
index c523fcd..ac310ba 100644 index 7201179..35d5d7a 100644
--- a/app/ui.js --- a/app/ui.js
+++ b/app/ui.js +++ b/app/ui.js
@@ -161,6 +161,7 @@ const UI = { @@ -151,6 +151,7 @@ const UI = {
UI.initSetting('view_clip', false); UI.initSetting('view_clip', false);
UI.initSetting('resize', 'off'); UI.initSetting('resize', 'off');
UI.initSetting('autoresize', true); UI.initSetting('autoresize', true);
+ UI.initSetting('local_cursor', true); + UI.initSetting('local_cursor', true);
UI.initSetting('shared', true); UI.initSetting('shared', true);
UI.initSetting('view_only', false); UI.initSetting('view_only', false);
UI.initSetting('path', 'websockify'); UI.initSetting('show_dot', false);
@@ -350,6 +351,8 @@ const UI = { @@ -345,6 +346,8 @@ const UI = {
UI.addSettingChangeHandler('shared');
UI.addSettingChangeHandler('view_only');
UI.addSettingChangeHandler('view_only', UI.updateViewOnly); UI.addSettingChangeHandler('view_only', UI.updateViewOnly);
UI.addSettingChangeHandler('show_dot');
UI.addSettingChangeHandler('show_dot', UI.updateShowDotCursor);
+ UI.addSettingChangeHandler('local_cursor'); + UI.addSettingChangeHandler('local_cursor');
+ UI.addSettingChangeHandler('local_cursor', UI.updateLocalCursor); + UI.addSettingChangeHandler('local_cursor', UI.updateLocalCursor);
UI.addSettingChangeHandler('host'); UI.addSettingChangeHandler('host');
UI.addSettingChangeHandler('port'); UI.addSettingChangeHandler('port');
UI.addSettingChangeHandler('path'); UI.addSettingChangeHandler('path');
@@ -1052,6 +1055,7 @@ const UI = { @@ -1041,6 +1044,7 @@ const UI = {
UI.rfb.addEventListener("desktopname", UI.updateDesktopName); UI.rfb.addEventListener("desktopname", UI.updateDesktopName);
UI.rfb.addEventListener("fbresize", UI.updateSessionSize); UI.rfb.addEventListener("fbresize", UI.updateSessionSize);
UI.rfb.clipViewport = UI.getSetting('view_clip'); UI.rfb.clipViewport = UI.getSetting('view_clip');
@ -42,7 +42,7 @@ index c523fcd..ac310ba 100644
UI.rfb.scaleViewport = UI.getSetting('resize') === 'scale'; UI.rfb.scaleViewport = UI.getSetting('resize') === 'scale';
UI.rfb.resizeSession = UI.getSetting('resize') === 'remote'; UI.rfb.resizeSession = UI.getSetting('resize') === 'remote';
@@ -1655,6 +1659,11 @@ const UI = { @@ -1638,6 +1642,11 @@ const UI = {
} }
}, },
@ -55,10 +55,10 @@ index c523fcd..ac310ba 100644
if (!UI.rfb) return; if (!UI.rfb) return;
UI.rfb.viewOnly = UI.getSetting('view_only'); UI.rfb.viewOnly = UI.getSetting('view_only');
diff --git a/core/rfb.js b/core/rfb.js diff --git a/core/rfb.js b/core/rfb.js
index 3e0f176..8216c53 100644 index c079af1..2beb00c 100644
--- a/core/rfb.js --- a/core/rfb.js
+++ b/core/rfb.js +++ b/core/rfb.js
@@ -262,6 +262,7 @@ export default class RFB extends EventTargetMixin { @@ -246,6 +246,7 @@ export default class RFB extends EventTargetMixin {
this._clipViewport = false; this._clipViewport = false;
this._scaleViewport = false; this._scaleViewport = false;
this._resizeSession = false; this._resizeSession = false;
@ -66,9 +66,9 @@ index 3e0f176..8216c53 100644
} }
// ===== PROPERTIES ===== // ===== PROPERTIES =====
@@ -315,6 +316,15 @@ export default class RFB extends EventTargetMixin { @@ -308,6 +309,15 @@ export default class RFB extends EventTargetMixin {
} get background() { return this._screen.style.background; }
} set background(cssValue) { this._screen.style.background = cssValue; }
+ get localCursor() { return this._localCursor; } + get localCursor() { return this._localCursor; }
+ set localCursor(localCursor) { + set localCursor(localCursor) {
@ -83,11 +83,11 @@ index 3e0f176..8216c53 100644
disconnect() { disconnect() {
diff --git a/core/util/cursor.js b/core/util/cursor.js diff --git a/core/util/cursor.js b/core/util/cursor.js
index 18aa7be..2a99bd4 100644 index 0d0b754..73d7880 100644
--- a/core/util/cursor.js --- a/core/util/cursor.js
+++ b/core/util/cursor.js +++ b/core/util/cursor.js
@@ -12,6 +12,8 @@ export default class Cursor { @@ -12,6 +12,8 @@ export default class Cursor {
constructor(container) { constructor() {
this._target = null; this._target = null;
+ this._showLocalCursor = false; + this._showLocalCursor = false;
@ -95,7 +95,7 @@ index 18aa7be..2a99bd4 100644
this._canvas = document.createElement('canvas'); this._canvas = document.createElement('canvas');
if (useFallback) { if (useFallback) {
@@ -128,7 +130,7 @@ export default class Cursor { @@ -115,7 +117,7 @@ export default class Cursor {
} }
clear() { clear() {
@ -104,7 +104,7 @@ index 18aa7be..2a99bd4 100644
this._canvas.width = 0; this._canvas.width = 0;
this._canvas.height = 0; this._canvas.height = 0;
this._position.x = this._position.x + this._hotSpot.x; this._position.x = this._position.x + this._hotSpot.x;
@@ -137,6 +139,11 @@ export default class Cursor { @@ -124,6 +126,11 @@ export default class Cursor {
this._hotSpot.y = 0; this._hotSpot.y = 0;
} }
@ -116,7 +116,7 @@ index 18aa7be..2a99bd4 100644
_handleMouseOver(event) { _handleMouseOver(event) {
// This event could be because we're entering the target, or // This event could be because we're entering the target, or
// moving around amongst its sub elements. Let the move handler // moving around amongst its sub elements. Let the move handler
@@ -225,4 +232,10 @@ export default class Cursor { @@ -218,4 +225,10 @@ export default class Cursor {
this._canvas.style.left = this._position.x + "px"; this._canvas.style.left = this._position.x + "px";
this._canvas.style.top = this._position.y + "px"; this._canvas.style.top = this._position.y + "px";
} }
@ -128,19 +128,16 @@ index 18aa7be..2a99bd4 100644
+ +
} }
diff --git a/vnc.html b/vnc.html diff --git a/vnc.html b/vnc.html
index 83825eb..438d531 100644 index 6fb195e..d48091d 100644
--- a/vnc.html --- a/vnc.html
+++ b/vnc.html +++ b/vnc.html
@@ -177,6 +177,9 @@ @@ -167,6 +167,9 @@
<label><input id="noVNC_setting_view_clip" type="checkbox" /> Clip to Window</label>
</li>
<li> <li>
<label><input id="noVNC_setting_view_clip" type="checkbox"> Clip to Window</label>
</li>
+ <li>
+ <label><input id="noVNC_setting_local_cursor" type="checkbox" /> Local Cursor</label> + <label><input id="noVNC_setting_local_cursor" type="checkbox" /> Local Cursor</label>
+ </li> + </li>
+ <li> <li>
<label><input id="noVNC_setting_autoresize" type="checkbox" /> Autoresize Window</label> <label><input id="noVNC_setting_autoresize" type="checkbox" /> Autoresize Window</label>
</li> </li>
<li>
--
2.11.0

View File

@ -1,9 +1,10 @@
From bc515ecef9162774bff846e362b4c8315032ea2a Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Tim Marx <t.marx@proxmox.com> From: Tim Marx <t.marx@proxmox.com>
Date: Fri, 21 Dec 2018 11:46:13 +0100 Date: Fri, 21 Dec 2018 11:46:13 +0100
Subject: [PATCH 12/12] pass custom command to vnc Subject: [PATCH 12/12] pass custom command to vnc
Signed-off-by: Tim Marx <t.marx@proxmox.com> Signed-off-by: Tim Marx <t.marx@proxmox.com>
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
--- ---
app/pve.js | 7 +++++++ app/pve.js | 7 +++++++
1 file changed, 7 insertions(+) 1 file changed, 7 insertions(+)
@ -20,19 +21,16 @@ index e2c37fb..9cf4b09 100644
this.lastFBWidth = undefined; this.lastFBWidth = undefined;
this.lastFBHeight = undefined; this.lastFBHeight = undefined;
this.sizeUpdateTimer = undefined; this.sizeUpdateTimer = undefined;
@@ -47,6 +48,12 @@ export default function PVEUI(UI){ @@ -46,6 +47,12 @@ export default function PVEUI(UI){
url = baseUrl + '/vncshell';
params.upgrade = 1; params.upgrade = 1;
title = 'System upgrade on node ' + this.nodename; title = 'System upgrade on node ' + this.nodename;
break; + break;
+ case 'cmd': + case 'cmd':
+ url = baseUrl + '/vncshell'; + url = baseUrl + '/vncshell';
+ params.cmd = decodeURI(this.cmd); + params.cmd = decodeURI(this.cmd);
+ title = 'Install Ceph on node ' + this.nodename; + title = 'Install Ceph on node ' + this.nodename;
+ +
+ break; break;
default: default:
throw 'implement me'; throw 'implement me';
break;
--
2.11.0