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:
parent
9b519cf359
commit
2b8dde16bc
@ -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>
|
||||
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
|
||||
methods (API2Request, etc.)
|
||||
@ -11,10 +11,10 @@ autoresizing, commandstoggle, etc.
|
||||
|
||||
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
|
||||
---
|
||||
app/pve.js | 418 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
app/ui.js | 71 +++++++++--
|
||||
app/pve.js | 418 +++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
app/ui.js | 66 +++++++--
|
||||
vnc.html | 10 +-
|
||||
3 files changed, 482 insertions(+), 17 deletions(-)
|
||||
3 files changed, 480 insertions(+), 14 deletions(-)
|
||||
create mode 100644 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
|
||||
index 4fe2a3f..59f7cca 100644
|
||||
index 17ec48d..4683c02 100644
|
||||
--- a/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 RFB from "../core/rfb.js";
|
||||
import * as WebUtil from "./webutil.js";
|
||||
@ -453,15 +453,16 @@ index 4fe2a3f..59f7cca 100644
|
||||
|
||||
const UI = {
|
||||
|
||||
@@ -58,6 +59,7 @@ const UI = {
|
||||
@@ -54,6 +55,8 @@ const UI = {
|
||||
// Render default UI and initialize settings menu
|
||||
start(callback) {
|
||||
start() {
|
||||
|
||||
+ UI.PVE = new PVEUI(UI);
|
||||
// Setup global variables first
|
||||
UI.isSafari = (navigator.userAgent.indexOf('Safari') !== -1 &&
|
||||
navigator.userAgent.indexOf('Chrome') === -1);
|
||||
@@ -89,6 +91,9 @@ const UI = {
|
||||
+
|
||||
UI.initSettings();
|
||||
|
||||
// Translate the DOM
|
||||
@@ -81,6 +84,9 @@ const UI = {
|
||||
UI.addConnectionControlHandlers();
|
||||
UI.addClipboardHandlers();
|
||||
UI.addSettingsHandlers();
|
||||
@ -471,7 +472,7 @@ index 4fe2a3f..59f7cca 100644
|
||||
document.getElementById("noVNC_status")
|
||||
.addEventListener('click', UI.hideStatus);
|
||||
|
||||
@@ -97,23 +102,19 @@ const UI = {
|
||||
@@ -89,19 +95,15 @@ const UI = {
|
||||
|
||||
UI.openControlbar();
|
||||
|
||||
@ -491,18 +492,11 @@ index 4fe2a3f..59f7cca 100644
|
||||
- // Show the connect panel on first load unless autoconnecting
|
||||
- UI.openConnectPanel();
|
||||
- }
|
||||
|
||||
- if (typeof callback === "function") {
|
||||
- callback(UI.rfb);
|
||||
- }
|
||||
+ if (typeof callback === "function") {
|
||||
+ callback(UI.rfb);
|
||||
+ }
|
||||
+ });
|
||||
},
|
||||
|
||||
initFullscreen() {
|
||||
@@ -156,9 +157,10 @@ const UI = {
|
||||
return Promise.resolve(UI.rfb);
|
||||
},
|
||||
@@ -145,9 +147,10 @@ const UI = {
|
||||
/* Populate the controls if defaults are provided in the URL */
|
||||
UI.initSetting('host', window.location.hostname);
|
||||
UI.initSetting('port', port);
|
||||
@ -513,16 +507,16 @@ index 4fe2a3f..59f7cca 100644
|
||||
+ UI.initSetting('autoresize', true);
|
||||
UI.initSetting('shared', true);
|
||||
UI.initSetting('view_only', false);
|
||||
UI.initSetting('path', 'websockify');
|
||||
@@ -342,6 +344,7 @@ const UI = {
|
||||
UI.initSetting('show_dot', false);
|
||||
@@ -334,6 +337,7 @@ const UI = {
|
||||
UI.addSettingChangeHandler('resize');
|
||||
UI.addSettingChangeHandler('resize', UI.enableDisableViewClip);
|
||||
UI.addSettingChangeHandler('resize', UI.applyResizeMode);
|
||||
UI.addSettingChangeHandler('resize', UI.updateViewClip);
|
||||
+ UI.addSettingChangeHandler('autoresize');
|
||||
UI.addSettingChangeHandler('view_clip');
|
||||
UI.addSettingChangeHandler('view_clip', UI.updateViewClip);
|
||||
UI.addSettingChangeHandler('shared');
|
||||
@@ -390,6 +393,9 @@ const UI = {
|
||||
@@ -384,6 +388,9 @@ const UI = {
|
||||
document.documentElement.classList.add("noVNC_connecting");
|
||||
break;
|
||||
case 'connected':
|
||||
@ -532,7 +526,7 @@ index 4fe2a3f..59f7cca 100644
|
||||
document.documentElement.classList.add("noVNC_connected");
|
||||
break;
|
||||
case 'disconnecting':
|
||||
@@ -397,6 +403,11 @@ const UI = {
|
||||
@@ -391,6 +398,11 @@ const UI = {
|
||||
document.documentElement.classList.add("noVNC_disconnecting");
|
||||
break;
|
||||
case 'disconnected':
|
||||
@ -544,7 +538,7 @@ index 4fe2a3f..59f7cca 100644
|
||||
break;
|
||||
case 'reconnecting':
|
||||
transition_elem.textContent = _("Reconnecting...");
|
||||
@@ -818,6 +829,7 @@ const UI = {
|
||||
@@ -805,6 +817,7 @@ const UI = {
|
||||
UI.closePowerPanel();
|
||||
UI.closeClipboardPanel();
|
||||
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;
|
||||
}
|
||||
|
||||
@ -565,7 +559,7 @@ index 4fe2a3f..59f7cca 100644
|
||||
if (password === null) {
|
||||
password = undefined;
|
||||
}
|
||||
@@ -1567,9 +1585,36 @@ const UI = {
|
||||
@@ -1549,9 +1568,36 @@ const UI = {
|
||||
/* ------^-------
|
||||
* /EXTRA KEYS
|
||||
* ==============
|
||||
@ -604,25 +598,26 @@ index 4fe2a3f..59f7cca 100644
|
||||
const view_only = UI.rfb.viewOnly;
|
||||
if (UI.rfb && !view_only) {
|
||||
diff --git a/vnc.html b/vnc.html
|
||||
index 701714c..6c041b5 100644
|
||||
index 212321b..072d86b 100644
|
||||
--- a/vnc.html
|
||||
+++ b/vnc.html
|
||||
@@ -200,7 +200,7 @@
|
||||
@@ -191,7 +191,7 @@
|
||||
<li class="noVNC_heading">
|
||||
<img src="app/images/settings.svg"> Settings
|
||||
<img alt="" src="app/images/settings.svg"> Settings
|
||||
</li>
|
||||
- <li>
|
||||
+ <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>
|
||||
@@ -211,15 +211,17 @@
|
||||
<label><input id="noVNC_setting_view_clip" type="checkbox" /> Clip to Window</label>
|
||||
</li>
|
||||
@@ -201,16 +201,18 @@
|
||||
<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>
|
||||
+ </li>
|
||||
+ <li>
|
||||
<li>
|
||||
<label for="noVNC_setting_resize">Scaling Mode:</label>
|
||||
<select id="noVNC_setting_resize" name="vncResize">
|
||||
- <option value="off">None</option>
|
||||
@ -637,6 +632,3 @@ index 701714c..6c041b5 100644
|
||||
<div class="noVNC_expander">Advanced</div>
|
||||
<div><ul>
|
||||
<li>
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
@ -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>
|
||||
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
|
||||
window
|
||||
@ -13,10 +13,10 @@ Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
|
||||
2 files changed, 21 insertions(+)
|
||||
|
||||
diff --git a/app/ui.js b/app/ui.js
|
||||
index 59f7cca..d960a12 100644
|
||||
index 4683c02..1b0f7aa 100644
|
||||
--- a/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("bell", UI.bell);
|
||||
UI.rfb.addEventListener("desktopname", UI.updateDesktopName);
|
||||
@ -24,7 +24,7 @@ index 59f7cca..d960a12 100644
|
||||
UI.rfb.clipViewport = UI.getSetting('view_clip');
|
||||
UI.rfb.scaleViewport = UI.getSetting('resize') === 'scale';
|
||||
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");
|
||||
},
|
||||
|
||||
@ -42,10 +42,10 @@ index 59f7cca..d960a12 100644
|
||||
* /PVE
|
||||
* ==============
|
||||
diff --git a/core/rfb.js b/core/rfb.js
|
||||
index 3433030..3e0f176 100644
|
||||
index 89b8130..c079af1 100644
|
||||
--- a/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._updateScale();
|
||||
|
||||
@ -59,9 +59,6 @@ index 3433030..3e0f176 100644
|
||||
+ );
|
||||
+ this.dispatchEvent(event);
|
||||
+
|
||||
this._timing.fbu_rt_start = (new Date()).getTime();
|
||||
this._updateContinuousUpdates();
|
||||
}
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
||||
|
@ -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>
|
||||
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',
|
||||
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(+)
|
||||
|
||||
diff --git a/app/ui.js b/app/ui.js
|
||||
index d960a12..662352f 100644
|
||||
index 1b0f7aa..8cc6cfd 100644
|
||||
--- a/app/ui.js
|
||||
+++ b/app/ui.js
|
||||
@@ -1212,6 +1212,13 @@ const UI = {
|
||||
@@ -1201,6 +1201,13 @@ const UI = {
|
||||
} else if (document.msExitFullscreen) {
|
||||
document.msExitFullscreen();
|
||||
}
|
||||
@ -29,7 +29,7 @@ index d960a12..662352f 100644
|
||||
} else {
|
||||
if (document.documentElement.requestFullscreen) {
|
||||
document.documentElement.requestFullscreen();
|
||||
@@ -1222,7 +1229,11 @@ const UI = {
|
||||
@@ -1211,7 +1218,11 @@ const UI = {
|
||||
} else if (document.body.msRequestFullscreen) {
|
||||
document.body.msRequestFullscreen();
|
||||
}
|
||||
@ -38,9 +38,6 @@ index d960a12..662352f 100644
|
||||
+ UI.enableSetting('resize');
|
||||
}
|
||||
+ UI.applyResizeMode();
|
||||
UI.enableDisableViewClip();
|
||||
UI.updateFullscreenButton();
|
||||
},
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
||||
|
23
debian/patches/0004-add-pve-style.patch
vendored
23
debian/patches/0004-add-pve-style.patch
vendored
@ -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>
|
||||
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)
|
||||
|
||||
@ -11,8 +11,8 @@ and fix the z-index of the connect overlay
|
||||
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
|
||||
---
|
||||
app/styles/pve.css | 42 ++++++++++++++++++++++++++++++++++++++++++
|
||||
vnc.html | 1 +
|
||||
2 files changed, 43 insertions(+)
|
||||
vnc.html | 3 ++-
|
||||
2 files changed, 44 insertions(+), 1 deletion(-)
|
||||
create mode 100644 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;
|
||||
+}
|
||||
diff --git a/vnc.html b/vnc.html
|
||||
index 6c041b5..3110e8b 100644
|
||||
index 072d86b..57b44a1 100644
|
||||
--- a/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 -->
|
||||
<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" />
|
||||
|
||||
<!--
|
||||
<script type='text/javascript'
|
||||
--
|
||||
2.11.0
|
||||
|
||||
<!-- this is included as a normal file in order to catch script-loading errors as well -->
|
||||
<script src="app/error-handler.js"></script>
|
||||
|
30
debian/patches/0005-remove-vnc-logos.patch
vendored
30
debian/patches/0005-remove-vnc-logos.patch
vendored
@ -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>
|
||||
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
|
||||
|
||||
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
|
||||
---
|
||||
vnc.html | 26 --------------------------
|
||||
1 file changed, 26 deletions(-)
|
||||
vnc.html | 32 +++-----------------------------
|
||||
1 file changed, 3 insertions(+), 29 deletions(-)
|
||||
|
||||
diff --git a/vnc.html b/vnc.html
|
||||
index 3110e8b..bc1a47d 100644
|
||||
index 57b44a1..1420849 100644
|
||||
--- a/vnc.html
|
||||
+++ b/vnc.html
|
||||
@@ -23,36 +23,10 @@
|
||||
Remove this if you use the .htaccess -->
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
@@ -17,36 +17,10 @@
|
||||
|
||||
- <!-- 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="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">
|
||||
@ -39,18 +39,18 @@ index 3110e8b..bc1a47d 100644
|
||||
- <link rel="icon" sizes="16x16" type="image/png" href="app/images/icons/novnc-16x16.png">
|
||||
-
|
||||
<!-- Apple iOS Safari settings -->
|
||||
<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" />
|
||||
- <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">
|
||||
- <!-- 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="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="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 -->
|
||||
<link rel="stylesheet" href="app/styles/base.css" />
|
||||
<link rel="stylesheet" href="/novnc/app/styles/pve.css" />
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
@ -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>
|
||||
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/
|
||||
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>
|
||||
---
|
||||
app/ui.js | 2 +-
|
||||
vnc.html | 56 ++++++++++++++++++++++++++++----------------------------
|
||||
2 files changed, 29 insertions(+), 29 deletions(-)
|
||||
vnc.html | 58 +++++++++++++++++++++++++++----------------------------
|
||||
2 files changed, 30 insertions(+), 30 deletions(-)
|
||||
|
||||
diff --git a/app/ui.js b/app/ui.js
|
||||
index 662352f..c523fcd 100644
|
||||
index 8cc6cfd..7201179 100644
|
||||
--- a/app/ui.js
|
||||
+++ b/app/ui.js
|
||||
@@ -1720,7 +1720,7 @@ const UI = {
|
||||
const LINGUAS = ["de", "el", "es", "nl", "pl", "sv", "tr", "zh_CN", "zh_TW"];
|
||||
l10n.setup(LINGUAS);
|
||||
if (l10n.language !== "en" && l10n.dictionary === undefined) {
|
||||
- WebUtil.fetchJSON('app/locale/' + l10n.language + '.json', (translations) => {
|
||||
+ WebUtil.fetchJSON('/novnc/app/locale/' + l10n.language + '.json', function (translations) {
|
||||
l10n.dictionary = translations;
|
||||
|
||||
// wait for translations to load before loading the UI
|
||||
@@ -1713,7 +1713,7 @@ l10n.setup(LINGUAS);
|
||||
if (l10n.language === "en" || l10n.dictionary !== undefined) {
|
||||
UI.prime();
|
||||
} else {
|
||||
- WebUtil.fetchJSON('app/locale/' + l10n.language + '.json')
|
||||
+ WebUtil.fetchJSON('/novnc/app/locale/' + l10n.language + '.json')
|
||||
.then((translations) => { l10n.dictionary = translations; })
|
||||
.catch(err => Log.Error("Failed to load translations: " + err))
|
||||
.then(UI.prime);
|
||||
diff --git a/vnc.html b/vnc.html
|
||||
index bc1a47d..d17ee81 100644
|
||||
index 1420849..f93cf89 100644
|
||||
--- a/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-status-bar-style" content="black-translucent" />
|
||||
<!-- 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/pve.css" />
|
||||
|
||||
<!--
|
||||
@@ -37,11 +37,11 @@
|
||||
-->
|
||||
|
||||
<!-- 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 type="text/javascript" src="/novnc/app/error-handler.js"></script>
|
||||
- <script src="app/error-handler.js"></script>
|
||||
+ <script src="/novnc/app/error-handler.js"></script>
|
||||
|
||||
<!-- begin scripts -->
|
||||
<!-- promise polyfills promises for IE11 -->
|
||||
@ -52,7 +48,7 @@ index bc1a47d..d17ee81 100644
|
||||
<!-- ES2015/ES6 modules polyfill -->
|
||||
<script type="module">
|
||||
window._noVNC_has_module_support = true;
|
||||
@@ -50,12 +50,12 @@
|
||||
@@ -39,12 +39,12 @@
|
||||
window.addEventListener("load", function() {
|
||||
if (window._noVNC_has_module_support) return;
|
||||
var loader = document.createElement("script");
|
||||
@ -67,37 +63,36 @@ index bc1a47d..d17ee81 100644
|
||||
<!-- end scripts -->
|
||||
</head>
|
||||
|
||||
@@ -80,49 +80,49 @@
|
||||
<h1 class="noVNC_logo" translate="no"><span>no</span><br />VNC</h1>
|
||||
@@ -69,51 +69,51 @@
|
||||
<h1 class="noVNC_logo" translate="no"><span>no</span><br>VNC</h1>
|
||||
|
||||
<!-- Drag/Pan the viewport -->
|
||||
- <input type="image" alt="viewport drag" src="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"
|
||||
title="Move/Drag Viewport" />
|
||||
title="Move/Drag Viewport">
|
||||
|
||||
<!--noVNC Touch Device only 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="/novnc/app/images/mouse_none.svg"
|
||||
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="/novnc/app/images/mouse_left.svg"
|
||||
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="/novnc/app/images/mouse_middle.svg"
|
||||
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="/novnc/app/images/mouse_right.svg"
|
||||
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="/novnc/app/images/keyboard.svg"
|
||||
id="noVNC_keyboard_button" class="noVNC_button"
|
||||
value="Keyboard" title="Show Keyboard" />
|
||||
id="noVNC_keyboard_button" class="noVNC_button" title="Show Keyboard">
|
||||
</div>
|
||||
|
||||
<!-- 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="/novnc/app/images/toggleextrakeys.svg"
|
||||
id="noVNC_toggle_extra_keys_button" class="noVNC_button"
|
||||
title="Show Extra Keys"/>
|
||||
title="Show Extra Keys">
|
||||
<div class="noVNC_vcenter">
|
||||
<div id="noVNC_modifiers" class="noVNC_panel">
|
||||
- <input type="image" alt="Ctrl" src="app/images/ctrl.svg"
|
||||
+ <input type="image" alt="Ctrl" src="/novnc/app/images/ctrl.svg"
|
||||
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="/novnc/app/images/alt.svg"
|
||||
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="/novnc/app/images/tab.svg"
|
||||
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="/novnc/app/images/esc.svg"
|
||||
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="/novnc/app/images/ctrlaltdel.svg"
|
||||
id="noVNC_send_ctrl_alt_del_button" class="noVNC_button"
|
||||
title="Send Ctrl-Alt-Del" />
|
||||
title="Send Ctrl-Alt-Del">
|
||||
</div>
|
||||
@@ -130,13 +130,13 @@
|
||||
@@ -121,13 +121,13 @@
|
||||
</div>
|
||||
|
||||
<!-- Shutdown/Reboot -->
|
||||
- <input type="image" alt="Shutdown/Reboot" src="app/images/power.svg"
|
||||
+ <input type="image" alt="Shutdown/Reboot" src="/novnc/app/images/power.svg"
|
||||
id="noVNC_power_button" class="noVNC_button"
|
||||
title="Shutdown/Reboot..." />
|
||||
title="Shutdown/Reboot...">
|
||||
<div class="noVNC_vcenter">
|
||||
<div id="noVNC_power" class="noVNC_panel">
|
||||
<div class="noVNC_heading">
|
||||
- <img src="app/images/power.svg"> Power
|
||||
+ <img src="/novnc/app/images/power.svg"> Power
|
||||
- <img alt="" src="app/images/power.svg"> Power
|
||||
+ <img alt="" src="/novnc/app/images/power.svg"> Power
|
||||
</div>
|
||||
<input type="button" id="noVNC_shutdown_button" value="Shutdown" />
|
||||
<input type="button" id="noVNC_reboot_button" value="Reboot" />
|
||||
@@ -145,13 +145,13 @@
|
||||
<input type="button" id="noVNC_shutdown_button" value="Shutdown">
|
||||
<input type="button" id="noVNC_reboot_button" value="Reboot">
|
||||
@@ -136,13 +136,13 @@
|
||||
</div>
|
||||
|
||||
<!-- Clipboard -->
|
||||
- <input type="image" alt="Clipboard" src="app/images/clipboard.svg"
|
||||
+ <input type="image" alt="Clipboard" src="/novnc/app/images/clipboard.svg"
|
||||
id="noVNC_clipboard_button" class="noVNC_button"
|
||||
title="Clipboard" />
|
||||
title="Clipboard">
|
||||
<div class="noVNC_vcenter">
|
||||
<div id="noVNC_clipboard" class="noVNC_panel">
|
||||
<div class="noVNC_heading">
|
||||
- <img src="app/images/clipboard.svg"> Clipboard
|
||||
+ <img src="/novnc/app/images/clipboard.svg"> Clipboard
|
||||
- <img alt="" src="app/images/clipboard.svg"> Clipboard
|
||||
+ <img alt="" src="/novnc/app/images/clipboard.svg"> Clipboard
|
||||
</div>
|
||||
<textarea id="noVNC_clipboard_text" rows=5></textarea>
|
||||
<br />
|
||||
@@ -161,19 +161,19 @@
|
||||
<br>
|
||||
@@ -152,19 +152,19 @@
|
||||
</div>
|
||||
|
||||
<!-- Toggle fullscreen -->
|
||||
- <input type="image" alt="Fullscreen" src="app/images/fullscreen.svg"
|
||||
+ <input type="image" alt="Fullscreen" src="/novnc/app/images/fullscreen.svg"
|
||||
id="noVNC_fullscreen_button" class="noVNC_button noVNC_hidden"
|
||||
title="Fullscreen" />
|
||||
title="Fullscreen">
|
||||
|
||||
<!-- Settings -->
|
||||
- <input type="image" alt="Settings" src="app/images/settings.svg"
|
||||
+ <input type="image" alt="Settings" src="/novnc/app/images/settings.svg"
|
||||
id="noVNC_settings_button" class="noVNC_button"
|
||||
title="Settings" />
|
||||
title="Settings">
|
||||
<div class="noVNC_vcenter">
|
||||
<div id="noVNC_settings" class="noVNC_panel">
|
||||
<ul>
|
||||
<li class="noVNC_heading">
|
||||
- <img src="app/images/settings.svg"> Settings
|
||||
+ <img src="/novnc/app/images/settings.svg"> Settings
|
||||
- <img alt="" src="app/images/settings.svg"> Settings
|
||||
+ <img alt="" src="/novnc/app/images/settings.svg"> Settings
|
||||
</li>
|
||||
<li style="display:none;">
|
||||
<label><input id="noVNC_setting_shared" type="checkbox" /> Shared Mode</label>
|
||||
@@ -246,7 +246,7 @@
|
||||
<label><input id="noVNC_setting_shared" type="checkbox"> Shared Mode</label>
|
||||
@@ -241,7 +241,7 @@
|
||||
</div>
|
||||
|
||||
<!-- Connection Controls -->
|
||||
- <input type="image" alt="Disconnect" src="app/images/disconnect.svg"
|
||||
+ <input type="image" alt="Disconnect" src="/novnc/app/images/disconnect.svg"
|
||||
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 class="noVNC_logo" translate="no"><span>no</span>VNC</div>
|
||||
<div id="noVNC_connect_button"><div>
|
||||
- <img src="app/images/connect.svg"> Connect
|
||||
+ <img src="/novnc/app/images/connect.svg"> Connect
|
||||
- <img alt="" src="app/images/connect.svg"> Connect
|
||||
+ <img alt="" src="/novnc/app/images/connect.svg"> Connect
|
||||
</div></div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -306,8 +306,8 @@
|
||||
@@ -300,8 +300,8 @@
|
||||
</div>
|
||||
|
||||
<audio id="noVNC_bell">
|
||||
@ -213,6 +212,3 @@ index bc1a47d..d17ee81 100644
|
||||
</audio>
|
||||
</body>
|
||||
</html>
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
11
debian/patches/0007-add-pve-vnc-commands.patch
vendored
11
debian/patches/0007-add-pve-vnc-commands.patch
vendored
@ -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>
|
||||
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>
|
||||
---
|
||||
@ -9,10 +9,10 @@ Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
|
||||
1 file changed, 21 insertions(+)
|
||||
|
||||
diff --git a/vnc.html b/vnc.html
|
||||
index d17ee81..eca9a54 100644
|
||||
index f93cf89..fad5d4a 100644
|
||||
--- a/vnc.html
|
||||
+++ b/vnc.html
|
||||
@@ -245,6 +245,27 @@
|
||||
@@ -240,6 +240,27 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -40,6 +40,3 @@ index d17ee81..eca9a54 100644
|
||||
<!-- Connection Controls -->
|
||||
<input type="image" alt="Disconnect" src="/novnc/app/images/disconnect.svg"
|
||||
id="noVNC_disconnect_button" class="noVNC_button"
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
@ -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>
|
||||
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
|
||||
|
||||
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
|
||||
---
|
||||
vnc.html | 8 +++++++-
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
vnc.html | 10 ++++++++--
|
||||
1 file changed, 8 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/vnc.html b/vnc.html
|
||||
index eca9a54..f63aaa7 100644
|
||||
index fad5d4a..bba7d7d 100644
|
||||
--- a/vnc.html
|
||||
+++ b/vnc.html
|
||||
@@ -15,7 +15,7 @@
|
||||
@@ -13,7 +13,7 @@
|
||||
or the fragment:
|
||||
http://example.com/#host=HOST&port=PORT&encrypt=1
|
||||
-->
|
||||
- <title>noVNC</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 -->
|
||||
<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">
|
||||
+ if (typeof(PVE) === 'undefined') PVE = {};
|
||||
+ PVE.UserName = '[% username %]';
|
||||
@ -36,6 +38,3 @@ index eca9a54..f63aaa7 100644
|
||||
|
||||
<!-- begin scripts -->
|
||||
<!-- promise polyfills promises for IE11 -->
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
@ -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>
|
||||
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
|
||||
|
||||
@ -11,10 +11,10 @@ Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
|
||||
1 file changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
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
|
||||
+++ b/app/styles/base.css
|
||||
@@ -285,7 +285,7 @@ select:active {
|
||||
@@ -283,7 +283,7 @@ select:active {
|
||||
position: fixed;
|
||||
z-index: 10;
|
||||
|
||||
@ -23,7 +23,7 @@ index 344db9b..6e0d8d6 100644
|
||||
|
||||
/* Edge misrenders animations wihthout this */
|
||||
transform: translateX(0);
|
||||
@@ -302,7 +302,7 @@ select:active {
|
||||
@@ -300,7 +300,7 @@ select:active {
|
||||
position: relative;
|
||||
left: -100%;
|
||||
|
||||
@ -32,7 +32,7 @@ index 344db9b..6e0d8d6 100644
|
||||
|
||||
background-color: rgb(110, 132, 163);
|
||||
border-radius: 0 10px 10px 0;
|
||||
@@ -320,7 +320,7 @@ select:active {
|
||||
@@ -318,7 +318,7 @@ select:active {
|
||||
height: 100%;
|
||||
width: 30px;
|
||||
left: -30px;
|
||||
@ -41,7 +41,7 @@ index 344db9b..6e0d8d6 100644
|
||||
}
|
||||
#noVNC_control_bar.noVNC_open::before {
|
||||
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 {
|
||||
content: "";
|
||||
@ -50,7 +50,7 @@ index 344db9b..6e0d8d6 100644
|
||||
background: url("../images/handle.svg");
|
||||
position: absolute;
|
||||
top: 22px; /* (50px-6px)/2 */
|
||||
@@ -476,7 +476,7 @@ select:active {
|
||||
@@ -474,7 +474,7 @@ select:active {
|
||||
.noVNC_panel {
|
||||
transform: translateX(25px);
|
||||
|
||||
@ -59,7 +59,7 @@ index 344db9b..6e0d8d6 100644
|
||||
|
||||
max-height: 100vh; /* Chrome is buggy with 100% */
|
||||
overflow-x: hidden;
|
||||
@@ -653,7 +653,7 @@ select:active {
|
||||
@@ -651,7 +651,7 @@ select:active {
|
||||
|
||||
cursor: pointer;
|
||||
|
||||
@ -68,6 +68,3 @@ index 344db9b..6e0d8d6 100644
|
||||
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
11
debian/patches/0010-use-only-app.js.patch
vendored
11
debian/patches/0010-use-only-app.js.patch
vendored
@ -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>
|
||||
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,
|
||||
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(-)
|
||||
|
||||
diff --git a/vnc.html b/vnc.html
|
||||
index f63aaa7..83825eb 100644
|
||||
index bba7d7d..6fb195e 100644
|
||||
--- a/vnc.html
|
||||
+++ b/vnc.html
|
||||
@@ -46,22 +46,7 @@
|
||||
@@ -35,22 +35,7 @@
|
||||
</script>
|
||||
|
||||
<!-- begin scripts -->
|
||||
@ -39,6 +39,3 @@ index f63aaa7..83825eb 100644
|
||||
<!-- end scripts -->
|
||||
</head>
|
||||
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
@ -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>
|
||||
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)
|
||||
|
||||
@ -14,27 +14,27 @@ Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
|
||||
4 files changed, 36 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/app/ui.js b/app/ui.js
|
||||
index c523fcd..ac310ba 100644
|
||||
index 7201179..35d5d7a 100644
|
||||
--- a/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('resize', 'off');
|
||||
UI.initSetting('autoresize', true);
|
||||
+ UI.initSetting('local_cursor', true);
|
||||
UI.initSetting('shared', true);
|
||||
UI.initSetting('view_only', false);
|
||||
UI.initSetting('path', 'websockify');
|
||||
@@ -350,6 +351,8 @@ const UI = {
|
||||
UI.addSettingChangeHandler('shared');
|
||||
UI.addSettingChangeHandler('view_only');
|
||||
UI.initSetting('show_dot', false);
|
||||
@@ -345,6 +346,8 @@ const UI = {
|
||||
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.updateLocalCursor);
|
||||
UI.addSettingChangeHandler('host');
|
||||
UI.addSettingChangeHandler('port');
|
||||
UI.addSettingChangeHandler('path');
|
||||
@@ -1052,6 +1055,7 @@ const UI = {
|
||||
@@ -1041,6 +1044,7 @@ const UI = {
|
||||
UI.rfb.addEventListener("desktopname", UI.updateDesktopName);
|
||||
UI.rfb.addEventListener("fbresize", UI.updateSessionSize);
|
||||
UI.rfb.clipViewport = UI.getSetting('view_clip');
|
||||
@ -42,7 +42,7 @@ index c523fcd..ac310ba 100644
|
||||
UI.rfb.scaleViewport = UI.getSetting('resize') === 'scale';
|
||||
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;
|
||||
UI.rfb.viewOnly = UI.getSetting('view_only');
|
||||
diff --git a/core/rfb.js b/core/rfb.js
|
||||
index 3e0f176..8216c53 100644
|
||||
index c079af1..2beb00c 100644
|
||||
--- a/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._scaleViewport = false;
|
||||
this._resizeSession = false;
|
||||
@ -66,9 +66,9 @@ index 3e0f176..8216c53 100644
|
||||
}
|
||||
|
||||
// ===== 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; }
|
||||
+ set localCursor(localCursor) {
|
||||
@ -83,11 +83,11 @@ index 3e0f176..8216c53 100644
|
||||
|
||||
disconnect() {
|
||||
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
|
||||
+++ b/core/util/cursor.js
|
||||
@@ -12,6 +12,8 @@ export default class Cursor {
|
||||
constructor(container) {
|
||||
constructor() {
|
||||
this._target = null;
|
||||
|
||||
+ this._showLocalCursor = false;
|
||||
@ -95,7 +95,7 @@ index 18aa7be..2a99bd4 100644
|
||||
this._canvas = document.createElement('canvas');
|
||||
|
||||
if (useFallback) {
|
||||
@@ -128,7 +130,7 @@ export default class Cursor {
|
||||
@@ -115,7 +117,7 @@ export default class Cursor {
|
||||
}
|
||||
|
||||
clear() {
|
||||
@ -104,7 +104,7 @@ index 18aa7be..2a99bd4 100644
|
||||
this._canvas.width = 0;
|
||||
this._canvas.height = 0;
|
||||
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;
|
||||
}
|
||||
|
||||
@ -116,7 +116,7 @@ index 18aa7be..2a99bd4 100644
|
||||
_handleMouseOver(event) {
|
||||
// This event could be because we're entering the target, or
|
||||
// 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.top = this._position.y + "px";
|
||||
}
|
||||
@ -128,19 +128,16 @@ index 18aa7be..2a99bd4 100644
|
||||
+
|
||||
}
|
||||
diff --git a/vnc.html b/vnc.html
|
||||
index 83825eb..438d531 100644
|
||||
index 6fb195e..d48091d 100644
|
||||
--- a/vnc.html
|
||||
+++ b/vnc.html
|
||||
@@ -177,6 +177,9 @@
|
||||
<label><input id="noVNC_setting_view_clip" type="checkbox" /> Clip to Window</label>
|
||||
</li>
|
||||
@@ -167,6 +167,9 @@
|
||||
<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>
|
||||
+ </li>
|
||||
+ <li>
|
||||
<li>
|
||||
<label><input id="noVNC_setting_autoresize" type="checkbox" /> Autoresize Window</label>
|
||||
</li>
|
||||
<li>
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
@ -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>
|
||||
Date: Fri, 21 Dec 2018 11:46:13 +0100
|
||||
Subject: [PATCH 12/12] pass custom command to vnc
|
||||
|
||||
Signed-off-by: Tim Marx <t.marx@proxmox.com>
|
||||
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
|
||||
---
|
||||
app/pve.js | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
@ -20,19 +21,16 @@ index e2c37fb..9cf4b09 100644
|
||||
this.lastFBWidth = undefined;
|
||||
this.lastFBHeight = 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;
|
||||
title = 'System upgrade on node ' + this.nodename;
|
||||
break;
|
||||
+ break;
|
||||
+ case 'cmd':
|
||||
+ url = baseUrl + '/vncshell';
|
||||
+ params.cmd = decodeURI(this.cmd);
|
||||
+ title = 'Install Ceph on node ' + this.nodename;
|
||||
+
|
||||
+ break;
|
||||
break;
|
||||
default:
|
||||
throw 'implement me';
|
||||
break;
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user