5
0
mirror of git://git.proxmox.com/git/novnc-pve.git synced 2025-01-03 05:17:56 +03:00

generate index.html.tpl from vnc.html

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>
This commit is contained in:
Dominik Csapak 2017-03-07 11:18:19 +01:00 committed by Dietmar Maurer
parent c3a2bb4fc9
commit f8d9a6f315
4 changed files with 210 additions and 0 deletions

View File

@ -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

1
debian/install vendored
View 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

207
debian/patches/customize-html-tpl.diff vendored Normal file
View File

@ -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>

View File

@ -1,3 +1,4 @@
customize-html-tpl.diff
pveui.patch
fix-base-css.patch
fix-ie11-resize.patch