[pve-devel] [PATCH novnc 2/2] rebase patches on v1.1.0

Dominik Csapak d.csapak at proxmox.com
Mon Sep 9 12:17:05 CEST 2019


Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
i tested around a bit, everything seemed to work

 .../0001-add-pve-specific-js-code.patch       |  78 +++++------
 ...002-add-custom-fbresize-event-on-rfb.patch |  19 ++-
 ...nge-scaling-when-toggling-fullscreen.patch |  15 +--
 debian/patches/0004-add-pve-style.patch       |  23 ++--
 debian/patches/0005-remove-vnc-logos.patch    |  30 ++---
 ...ge-src-directory-for-images-js-files.patch | 124 +++++++++---------
 .../patches/0007-add-pve-vnc-commands.patch   |  11 +-
 ...add-replaceable-snippets-in-vnc.html.patch |  23 ++--
 .../0009-decrease-animation-time.patch        |  21 ++-
 debian/patches/0010-use-only-app.js.patch     |  11 +-
 .../0011-add-localCursor-setting-to-rfb.patch |  55 ++++----
 .../0012-pass-custom-command-to-vnc.patch     |  14 +-
 12 files changed, 195 insertions(+), 229 deletions(-)

diff --git a/debian/patches/0001-add-pve-specific-js-code.patch b/debian/patches/0001-add-pve-specific-js-code.patch
index c03901b..44e62a5 100644
--- a/debian/patches/0001-add-pve-specific-js-code.patch
+++ b/debian/patches/0001-add-pve-specific-js-code.patch
@@ -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 at 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 at 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
-
diff --git a/debian/patches/0002-add-custom-fbresize-event-on-rfb.patch b/debian/patches/0002-add-custom-fbresize-event-on-rfb.patch
index e88e974..a63e049 100644
--- a/debian/patches/0002-add-custom-fbresize-event-on-rfb.patch
+++ b/debian/patches/0002-add-custom-fbresize-event-on-rfb.patch
@@ -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 at 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 at 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
-
+ 
diff --git a/debian/patches/0003-change-scaling-when-toggling-fullscreen.patch b/debian/patches/0003-change-scaling-when-toggling-fullscreen.patch
index bb1eac1..3f6080e 100644
--- a/debian/patches/0003-change-scaling-when-toggling-fullscreen.patch
+++ b/debian/patches/0003-change-scaling-when-toggling-fullscreen.patch
@@ -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 at 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 at 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
-
+ 
diff --git a/debian/patches/0004-add-pve-style.patch b/debian/patches/0004-add-pve-style.patch
index 61f301b..a733168 100644
--- a/debian/patches/0004-add-pve-style.patch
+++ b/debian/patches/0004-add-pve-style.patch
@@ -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 at 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 at 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>
diff --git a/debian/patches/0005-remove-vnc-logos.patch b/debian/patches/0005-remove-vnc-logos.patch
index a477e01..aca64d9 100644
--- a/debian/patches/0005-remove-vnc-logos.patch
+++ b/debian/patches/0005-remove-vnc-logos.patch
@@ -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 at 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 at 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
-
diff --git a/debian/patches/0006-change-src-directory-for-images-js-files.patch b/debian/patches/0006-change-src-directory-for-images-js-files.patch
index 209d6e3..b5e051a 100644
--- a/debian/patches/0006-change-src-directory-for-images-js-files.patch
+++ b/debian/patches/0006-change-src-directory-for-images-js-files.patch
@@ -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 at 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 at 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
-
diff --git a/debian/patches/0007-add-pve-vnc-commands.patch b/debian/patches/0007-add-pve-vnc-commands.patch
index a062647..675b034 100644
--- a/debian/patches/0007-add-pve-vnc-commands.patch
+++ b/debian/patches/0007-add-pve-vnc-commands.patch
@@ -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 at 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 at proxmox.com>
 ---
@@ -9,10 +9,10 @@ Signed-off-by: Dominik Csapak <d.csapak at 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
-
diff --git a/debian/patches/0008-add-replaceable-snippets-in-vnc.html.patch b/debian/patches/0008-add-replaceable-snippets-in-vnc.html.patch
index 6b1cceb..0f84dd7 100644
--- a/debian/patches/0008-add-replaceable-snippets-in-vnc.html.patch
+++ b/debian/patches/0008-add-replaceable-snippets-in-vnc.html.patch
@@ -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 at 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 at 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
-
diff --git a/debian/patches/0009-decrease-animation-time.patch b/debian/patches/0009-decrease-animation-time.patch
index 34c9d8e..12ccfbe 100644
--- a/debian/patches/0009-decrease-animation-time.patch
+++ b/debian/patches/0009-decrease-animation-time.patch
@@ -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 at 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 at 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
-
diff --git a/debian/patches/0010-use-only-app.js.patch b/debian/patches/0010-use-only-app.js.patch
index edcddba..51cf720 100644
--- a/debian/patches/0010-use-only-app.js.patch
+++ b/debian/patches/0010-use-only-app.js.patch
@@ -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 at 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 at 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
-
diff --git a/debian/patches/0011-add-localCursor-setting-to-rfb.patch b/debian/patches/0011-add-localCursor-setting-to-rfb.patch
index 50d2410..a505dcb 100644
--- a/debian/patches/0011-add-localCursor-setting-to-rfb.patch
+++ b/debian/patches/0011-add-localCursor-setting-to-rfb.patch
@@ -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 at 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 at 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
-
diff --git a/debian/patches/0012-pass-custom-command-to-vnc.patch b/debian/patches/0012-pass-custom-command-to-vnc.patch
index c836b5b..3999212 100644
--- a/debian/patches/0012-pass-custom-command-to-vnc.patch
+++ b/debian/patches/0012-pass-custom-command-to-vnc.patch
@@ -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 at 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 at proxmox.com>
+Signed-off-by: Dominik Csapak <d.csapak at 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
-
-- 
2.20.1





More information about the pve-devel mailing list