]> git.proxmox.com Git - novnc-pve.git/commitdiff
generate index.html.tpl from vnc.html
authorDominik Csapak <d.csapak@proxmox.com>
Tue, 7 Mar 2017 10:18:19 +0000 (11:18 +0100)
committerDietmar Maurer <dietmar@proxmox.com>
Thu, 9 Mar 2017 09:32:01 +0000 (10:32 +0100)
we do not want to have the html for novnc in the pve-manager package,
so we have it in the novnc-pve package as a template, which we will
load using Template::Toolkit

the changes are copied from NoVncIndex.pm from pve-manager/PVE/

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Makefile
debian/install
debian/patches/customize-html-tpl.diff [new file with mode: 0644]
debian/patches/series

index b6e17779bd3e59c827f45b31eec7f4d131cd1769..9ddde443ca5c578fb28ae663c859308639d571cc 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -25,6 +25,7 @@ ${DEB}: ${TARSRC}
        tar xf ${NOVNCSRC}
        cp -a debian ${NOVNCDIR}/debian
        cp ${NOVNCDIR}/include/ui.js ${NOVNCDIR}/pveui.js
+       cp ${NOVNCDIR}/vnc.html ${NOVNCDIR}/index.html.tpl
        # fix file permissions
        chmod 0644 ${NOVNCDIR}/include/jsunzip.js
        echo "git clone git://git.proxmox.com/git/novnc-pve.git\\ngit checkout ${GITVERSION}" > ${NOVNCDIR}/debian/SOURCE
index 2594cecb61d828e189ff266e92e30af477a798f5..e272398c90783206c4d162f09004796b8b2aeabf 100644 (file)
@@ -20,3 +20,4 @@ include/Orbitron700.ttf       /usr/share/novnc-pve/include
 include/Orbitron700.woff /usr/share/novnc-pve/include
 include/keysym.js      /usr/share/novnc-pve/include
 include/inflator.js    /usr/share/novnc-pve/include
+index.html.tpl         /usr/share/novnc-pve
diff --git a/debian/patches/customize-html-tpl.diff b/debian/patches/customize-html-tpl.diff
new file mode 100644 (file)
index 0000000..46e38d3
--- /dev/null
@@ -0,0 +1,207 @@
+--- a/index.html.tpl
++++ b/index.html.tpl
+@@ -1,18 +1,7 @@
+ <!DOCTYPE html>
+ <html>
+ <head>
+-
+-    <!--
+-    noVNC example: simple example using default UI
+-    Copyright (C) 2012 Joel Martin
+-    Copyright (C) 2013 Samuel Mannehed for Cendio AB
+-    noVNC is licensed under the MPL 2.0 (see LICENSE.txt)
+-    This file is licensed under the 2-Clause BSD license (see LICENSE.txt).
+-
+-    Connect parameters are provided in query string:
+-        http://example.com/?host=HOST&port=PORT&encrypt=1&true_color=1
+-    -->
+-    <title>noVNC</title>
++    <title>[% nodename %] - Proxmox Console</title>
+     <meta charset="utf-8">
+@@ -22,46 +11,39 @@
+     <!-- 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" />
+-    <!-- App Start Icon  -->
+-    <link rel="apple-touch-startup-image" href="images/screen_320x460.png" />
+-    <!-- For iOS devices set the icon to use if user bookmarks app on their homescreen -->
+-    <link rel="apple-touch-icon" href="images/screen_57x57.png">
+-    <!--
+-    <link rel="apple-touch-icon-precomposed" href="images/screen_57x57.png" />
+-    -->
+-
+-
+     <!-- Stylesheets -->
+-    <link rel="stylesheet" href="include/base.css" />
+-    <link rel="alternate stylesheet" href="include/black.css" TITLE="Black" />
+-    <link rel="alternate stylesheet" href="include/blue.css" TITLE="Blue" />
+-
+-    <!--
+-    <script type='text/javascript'
+-        src='http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js'></script>
+-    -->
++    <link rel="stylesheet" href="/novnc/include/base.css" />
++    [% IF langfile %]
++    <script type='text/javascript' src='/pve2/locale/pve-lang-[% lang %].js'></script>
++    [% ELSE %]
++    <script type="text/javascript">function gettext(buf) { return buf; }</script>
++    [% END %]
++    <script type="text/javascript">
++if (typeof(PVE) === 'undefined') PVE = {};
++PVE.UserName = '[% username %]';
++PVE.CSRFPreventionToken = '[% token %]';
++INCLUDE_URI='/novnc/include/';
++    </script>
+ </head>
+ <body>
+     <div id="noVNC-control-bar" class="noVNC_status_normal">
+         <!--noVNC Mobile Device only Buttons-->
+         <div class="noVNC-buttons-left">
+-            <input type="image" alt="viewport drag" src="images/drag.png"
++            <input type="image" alt="viewport drag" src="/novnc/images/drag.png"
+                 id="noVNC_view_drag_button" class="noVNC_status_button"
+                 title="Move/Drag Viewport">
+             <div id="noVNC_mobile_buttons">
+-                <input type="image" alt="No mousebutton" src="images/mouse_none.png"
++                <input type="image" alt="No mousebutton" src="/novnc/images/mouse_none.png"
+                     id="noVNC_mouse_button0" class="noVNC_status_button">
+-                <input type="image" alt="Left mousebutton" src="images/mouse_left.png"
++                <input type="image" alt="Left mousebutton" src="/novnc/images/mouse_left.png"
+                     id="noVNC_mouse_button1" class="noVNC_status_button">
+-                <input type="image" alt="Middle mousebutton" src="images/mouse_middle.png"
++                <input type="image" alt="Middle mousebutton" src="/novnc/images/mouse_middle.png"
+                     id="noVNC_mouse_button2" class="noVNC_status_button">
+-                <input type="image" alt="Right mousebutton" src="images/mouse_right.png"
++                <input type="image" alt="Right mousebutton" src="/novnc/images/mouse_right.png"
+                     id="noVNC_mouse_button4" class="noVNC_status_button">
+-                <input type="image" alt="Keyboard" src="images/keyboard.png"
++                <input type="image" alt="Keyboard" src="/novnc/images/keyboard.png"
+                     id="showKeyboard" class="noVNC_status_button"
+                     value="Keyboard" title="Show Keyboard"/>
+                 <!-- Note that Google Chrome on Android doesn't respect any of these,
+@@ -72,16 +54,18 @@
+                     autocorrect="off" autocomplete="off" spellcheck="false"
+                     mozactionhint="Enter"></textarea>
+                 <div id="noVNC_extra_keys">
+-                    <input type="image" alt="Extra keys" src="images/showextrakeys.png"
++                    <input type="image" alt="Extra keys" src="/novnc/images/showextrakeys.png"
+                         id="showExtraKeysButton" class="noVNC_status_button">
+-                    <input type="image" alt="Ctrl" src="images/ctrl.png"
++                    <input type="image" alt="Ctrl" src="/novnc/images/ctrl.png"
+                         id="toggleCtrlButton" class="noVNC_status_button">
+-                    <input type="image" alt="Alt" src="images/alt.png"
++                    <input type="image" alt="Alt" src="/novnc/images/alt.png"
+                         id="toggleAltButton" class="noVNC_status_button">
+-                    <input type="image" alt="Tab" src="images/tab.png"
++                    <input type="image" alt="Tab" src="/novnc/images/tab.png"
+                         id="sendTabButton" class="noVNC_status_button">
+-                    <input type="image" alt="Esc" src="images/esc.png"
++                    <input type="image" alt="Esc" src="/novnc/images/esc.png"
+                         id="sendEscButton" class="noVNC_status_button">
++                  <input type="image" alt="Ctrl+Alt+Del" src="/novnc/images/ctrlaltdel.png"
++                      id="sendCtrlAltDelButton" class="noVNC_status_button">
+                 </div>
+             </div>
+         </div>
+@@ -90,43 +74,21 @@
+         <!--noVNC Buttons-->
+         <div class="noVNC-buttons-right">
+-            <input type="image" alt="Ctrl+Alt+Del" src="images/ctrlaltdel.png"
+-                id="sendCtrlAltDelButton" class="noVNC_status_button"
+-                title="Send Ctrl-Alt-Del" />
+-            <input type="image" alt="Shutdown/Reboot" src="images/power.png"
+-                id="xvpButton" class="noVNC_status_button"
+-                title="Shutdown/Reboot..." />
+-            <input type="image" alt="Clipboard" src="images/clipboard.png"
++          <input type="image" alt="Send keys" src="/novnc/images/showextrakeys.png"
++              id="showSendKeysButton" class="noVNC_status_button"
++              title="Send keys" />
++            <input type="image" alt="Clipboard" src="/novnc/images/clipboard.png"
+                 id="clipboardButton" class="noVNC_status_button"
+                 title="Clipboard" />
+-            <input type="image" alt="Fullscreen" src="images/fullscreen.png"
++            <input type="image" alt="Fullscreen" src="/novnc/images/fullscreen.png"
+                 id="fullscreenButton" class="noVNC_status_button"
+                 title="Fullscreen" />
+-            <input type="image" alt="Settings" src="images/settings.png"
+-                id="settingsButton" class="noVNC_status_button"
+-                title="Settings" />
+-            <input type="image" alt="Connect" src="images/connect.png"
+-                id="connectButton" class="noVNC_status_button"
+-                title="Connect" />
+-            <input type="image" alt="Disconnect" src="images/disconnect.png"
+-                id="disconnectButton" class="noVNC_status_button"
+-                title="Disconnect" />
++          <input type="image" alt="Commands" src="/novnc/images/power.png"
++              id="pveCommandsButton" class="noVNC_status_button"
++              title="Commands" />
+         </div>
+-        <!-- Description Panel -->
+-        <!-- Shown by default when hosted at for kanaka.github.com -->
+         <div id="noVNC_description" class="">
+-            noVNC is a browser based VNC client implemented using HTML5 Canvas
+-            and WebSockets. You will either need a VNC server with WebSockets
+-            support (such as <a href="http://libvncserver.sourceforge.net/">libvncserver</a>)
+-            or you will need to use
+-            <a href="https://github.com/kanaka/websockify">websockify</a>
+-            to bridge between your browser and VNC server. See the noVNC
+-            <a href="https://github.com/kanaka/noVNC">README</a>
+-            and <a href="http://kanaka.github.com/noVNC">website</a>
+-            for more information.
+-            <br />
+-            <input id="descriptionButton" type="button" value="Close">
+         </div>
+         <!-- Popup Status -->
+@@ -142,14 +104,11 @@
+                 value="Clear">
+         </div>
+-        <!-- XVP Shutdown/Reboot Panel -->
+-        <div id="noVNC_xvp" class="triangle-right top">
+-            <span id="noVNC_xvp_menu">
+-                <input type="button" id="xvpShutdownButton" value="Shutdown" />
+-                <input type="button" id="xvpRebootButton" value="Reboot" />
+-                <input type="button" id="xvpResetButton" value="Reset" />
+-            </span>
+-        </div>
++      <!-- PVE command Panel -->
++      <div id="noVNC_pve_commands" class="triangle-right top">
++          <span id="noVNC_pve_command_menu">
++          </span>
++      </div>
+         <!-- Settings Panel -->
+         <div id="noVNC_settings" class="triangle-right top">
+@@ -191,6 +150,12 @@
+             </span>
+         </div>
++      <!-- PVE Send Key Panel -->
++      <div id="noVNC_send_keys" class="triangle-right top">
++          <span id="noVNC_send_keys_panel">
++          </span>
++      </div>
++
+         <!-- Connection Panel -->
+         <div id="noVNC_controls" class="triangle-right top">
+             <ul>
+@@ -215,8 +180,8 @@
+         </div>
+     </div>
+-    <script src="include/util.js"></script>
+-    <script src="include/ui.js"></script>
++    <script src="/novnc/include/util.js"></script>
++    <script src="/novnc/include/pveui.js"></script>
+  </body>
+ </html>
index c12bbacbafcce6889f2f686782e687c1095ca249..ad0f372c2fcb5698e1d2a682b88b17a673beef8e 100644 (file)
@@ -1,3 +1,4 @@
+customize-html-tpl.diff
 pveui.patch
 fix-base-css.patch
 fix-ie11-resize.patch