소스 검색

Merge pull request #276 from samhed/screenrealestate

Improved use of screen real estate
Joel Martin 12 년 전
부모
커밋
0e3d505e54
6개의 변경된 파일196개의 추가작업 그리고 64개의 파일을 삭제
  1. 91 43
      include/base.css
  2. 20 1
      include/black.css
  3. 32 1
      include/blue.css
  4. 40 11
      include/ui.js
  5. 9 7
      vnc.html
  6. 4 1
      vnc_auto.html

+ 91 - 43
include/base.css

@@ -1,6 +1,7 @@
 /*
 /*
  * noVNC base CSS
  * noVNC base CSS
  * Copyright (C) 2012 Joel Martin
  * Copyright (C) 2012 Joel Martin
+ * Copyright (C) 2013 Samuel Mannehed for Cendio AB
  * noVNC is licensed under the MPL 2.0 (see LICENSE.txt)
  * noVNC is licensed under the MPL 2.0 (see LICENSE.txt)
  * This file is licensed under the 2-Clause BSD license (see LICENSE.txt).
  * This file is licensed under the 2-Clause BSD license (see LICENSE.txt).
  */
  */
@@ -51,7 +52,6 @@ html {
   float:right;
   float:right;
 }
 }
 
 
-
 #noVNC_view_drag_button {
 #noVNC_view_drag_button {
   display: none;
   display: none;
 }
 }
@@ -64,32 +64,26 @@ html {
 
 
 .noVNC-buttons-left {
 .noVNC-buttons-left {
   float: left;
   float: left;
-  padding-left:10px;
-  padding-top:4px;
+  z-index: 1;
+  position: relative;
 }
 }
 
 
 .noVNC-buttons-right {
 .noVNC-buttons-right {
   float:right;
   float:right;
   right: 0px;
   right: 0px;
-  padding-right:10px;
-  padding-top:4px;
-}
-
-#noVNC_status_bar {
-  margin-top: 0px;
-  padding: 0px;
+  z-index: 2;
+  position: absolute;
 }
 }
 
 
-#noVNC_status_bar div {
+#noVNC_status {
   font-size: 12px;
   font-size: 12px;
   padding-top: 4px;
   padding-top: 4px;
-  width:100%;
-}
-
-#noVNC_status {
-  height:20px;
+  height:32px;
   text-align: center;
   text-align: center;
+  font-weight: bold;
+  color: #fff;
 }
 }
+
 #noVNC_settings_menu {
 #noVNC_settings_menu {
   margin: 3px;
   margin: 3px;
   text-align: left;
   text-align: left;
@@ -104,22 +98,12 @@ html {
   float:right;
   float:right;
 }
 }
 
 
-.noVNC_status_normal {
-  background: #eee;
-}
-.noVNC_status_error {
-  background: #f44;
-}
-.noVNC_status_warn {
-  background: #ff4;
-}
-
 /* Do not set width/height for VNC_screen or VNC_canvas or incorrect
 /* Do not set width/height for VNC_screen or VNC_canvas or incorrect
  * scaling will occur. Canvas resizes to remote VNC settings */
  * scaling will occur. Canvas resizes to remote VNC settings */
 #noVNC_screen_pad {
 #noVNC_screen_pad {
   margin: 0px;
   margin: 0px;
   padding: 0px;
   padding: 0px;
-  height: 44px;
+  height: 36px;
 }
 }
 #noVNC_screen {
 #noVNC_screen {
   text-align: center;
   text-align: center;
@@ -154,14 +138,14 @@ html {
 /*Bubble contents divs*/
 /*Bubble contents divs*/
 #noVNC_settings {
 #noVNC_settings {
   display:none;
   display:none;
-  margin-top:77px;
+  margin-top:73px;
   right:20px;
   right:20px;
   position:fixed;
   position:fixed;
 }
 }
 
 
 #noVNC_controls {
 #noVNC_controls {
   display:none;
   display:none;
-  margin-top:77px;
+  margin-top:73px;
   right:12px;
   right:12px;
   position:fixed;
   position:fixed;
 }
 }
@@ -173,7 +157,7 @@ html {
   display:none;
   display:none;
   position:fixed;
   position:fixed;
 
 
-  margin-top:77px;
+  margin-top:73px;
   right:20px;
   right:20px;
   left:20px;
   left:20px;
   padding:15px;
   padding:15px;
@@ -186,9 +170,30 @@ html {
   border-radius:10px;
   border-radius:10px;
 }
 }
 
 
+#noVNC_popup_status_panel {
+  display:none;
+  position: fixed;
+  z-index: 1;
+
+  margin:15px;
+  margin-top:60px;
+  padding:15px;
+  width:auto;
+
+  text-align:center;
+  font-weight:bold;
+  word-wrap:break-word;
+  color:#fff;
+  background:rgba(0,0,0,0.65);
+
+  -webkit-border-radius:10px;
+  -moz-border-radius:10px;
+  border-radius:10px;
+}
+
 #noVNC_clipboard {
 #noVNC_clipboard {
   display:none;
   display:none;
-  margin-top:77px;
+  margin-top:73px;
   right:30px;
   right:30px;
   position:fixed;
   position:fixed;
 }
 }
@@ -207,17 +212,11 @@ html {
   z-index: -1;
   z-index: -1;
 }
 }
 
 
-.noVNC_status_warn {
-  background-color:yellow;
-}
-
 /*
 /*
  * Advanced Styling
  * Advanced Styling
  */
  */
 
 
-/* Control bar */
-#noVNC-control-bar {
-  position:fixed;
+.noVNC_status_normal {
   background: #b2bdcd; /* Old browsers */
   background: #b2bdcd; /* Old browsers */
   background: -moz-linear-gradient(top, #b2bdcd 0%, #899cb3 49%, #7e93af 51%, #6e84a3 100%); /* FF3.6+ */
   background: -moz-linear-gradient(top, #b2bdcd 0%, #899cb3 49%, #7e93af 51%, #6e84a3 100%); /* FF3.6+ */
   background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#b2bdcd), color-stop(49%,#899cb3), color-stop(51%,#7e93af), color-stop(100%,#6e84a3)); /* Chrome,Safari4+ */
   background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#b2bdcd), color-stop(49%,#899cb3), color-stop(51%,#7e93af), color-stop(100%,#6e84a3)); /* Chrome,Safari4+ */
@@ -225,9 +224,32 @@ html {
   background: -o-linear-gradient(top, #b2bdcd 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* Opera11.10+ */
   background: -o-linear-gradient(top, #b2bdcd 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* Opera11.10+ */
   background: -ms-linear-gradient(top, #b2bdcd 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* IE10+ */
   background: -ms-linear-gradient(top, #b2bdcd 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* IE10+ */
   background: linear-gradient(top, #b2bdcd 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* W3C */
   background: linear-gradient(top, #b2bdcd 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* W3C */
+}
+.noVNC_status_error {
+  background: #f04040; /* Old browsers */
+  background: -moz-linear-gradient(top, #f04040 0%, #899cb3 49%, #7e93af 51%, #6e84a3 100%); /* FF3.6+ */
+  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f04040), color-stop(49%,#899cb3), color-stop(51%,#7e93af), color-stop(100%,#6e84a3)); /* Chrome,Safari4+ */
+  background: -webkit-linear-gradient(top, #f04040 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* Chrome10+,Safari5.1+ */
+  background: -o-linear-gradient(top, #f04040 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* Opera11.10+ */
+  background: -ms-linear-gradient(top, #f04040 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* IE10+ */
+  background: linear-gradient(top, #f04040 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* W3C */
+}
+.noVNC_status_warn {
+  background: #f0f040; /* Old browsers */
+  background: -moz-linear-gradient(top, #f0f040 0%, #899cb3 49%, #7e93af 51%, #6e84a3 100%); /* FF3.6+ */
+  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f0f040), color-stop(49%,#899cb3), color-stop(51%,#7e93af), color-stop(100%,#6e84a3)); /* Chrome,Safari4+ */
+  background: -webkit-linear-gradient(top, #f0f040 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* Chrome10+,Safari5.1+ */
+  background: -o-linear-gradient(top, #f0f040 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* Opera11.10+ */
+  background: -ms-linear-gradient(top, #f0f040 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* IE10+ */
+  background: linear-gradient(top, #f0f040 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* W3C */
+}
 
 
+/* Control bar */
+#noVNC-control-bar {
+  position:fixed;
+  
   display:block;
   display:block;
-  height:44px;
+  height:36px;
   left:0;
   left:0;
   top:0;
   top:0;
   width:100%;
   width:100%;
@@ -368,10 +390,39 @@ html {
   font-size: 180px;
   font-size: 180px;
 }
 }
 
 
-@media screen and (min-width: 481px) and (max-width: 640px) {
+.noVNC-buttons-left {
+  padding-left: 10px;
+}
+
+.noVNC-buttons-right {
+  padding-right: 10px;
+}
+
+#noVNC_status {
+  z-index: 0;
+  position: absolute;
+  width: 100%;
+}
+
+@media screen and (max-width: 640px){
   .noVNC_status_button {
   .noVNC_status_button {
     font-size: 10px;
     font-size: 10px;
   }
   }
+  .noVNC-buttons-left {
+    padding-left: 0px;
+  }
+  .noVNC-buttons-right {
+    padding-right: 0px;
+  }
+  #noVNC_status {
+    z-index: 1;
+    position: relative;
+    width: auto;
+    float: left;
+  }
+}
+
+@media screen and (min-width: 481px) and (max-width: 640px) {
   #noVNC_clipboard_text {
   #noVNC_clipboard_text {
     width: 410px;
     width: 410px;
   }
   }
@@ -381,9 +432,6 @@ html {
 }
 }
 
 
 @media screen and (min-width: 321px) and (max-width: 480px) {
 @media screen and (min-width: 321px) and (max-width: 480px) {
-  .noVNC_status_button {
-    font-size: 10px;
-  }
   #noVNC_clipboard_text {
   #noVNC_clipboard_text {
     width: 250px;
     width: 250px;
   }
   }

+ 20 - 1
include/black.css

@@ -1,6 +1,7 @@
 /*
 /*
  * noVNC black CSS
  * noVNC black CSS
  * Copyright (C) 2012 Joel Martin
  * Copyright (C) 2012 Joel Martin
+ * Copyright (C) 2013 Samuel Mannehed for Cendio AB
  * noVNC is licensed under the MPL 2.0 (see LICENSE.txt)
  * noVNC is licensed under the MPL 2.0 (see LICENSE.txt)
  * This file is licensed under the 2-Clause BSD license (see LICENSE.txt).
  * This file is licensed under the 2-Clause BSD license (see LICENSE.txt).
  */
  */
@@ -9,7 +10,7 @@
   background-color:#000;
   background-color:#000;
 }
 }
 
 
-#noVNC-control-bar {
+.noVNC_status_normal {
   background: #4c4c4c; /* Old browsers */
   background: #4c4c4c; /* Old browsers */
   background: -moz-linear-gradient(top, #4c4c4c 0%, #2c2c2c 50%, #000000 51%, #131313 100%); /* FF3.6+ */
   background: -moz-linear-gradient(top, #4c4c4c 0%, #2c2c2c 50%, #000000 51%, #131313 100%); /* FF3.6+ */
   background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#4c4c4c), color-stop(50%,#2c2c2c), color-stop(51%,#000000), color-stop(100%,#131313)); /* Chrome,Safari4+ */
   background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#4c4c4c), color-stop(50%,#2c2c2c), color-stop(51%,#000000), color-stop(100%,#131313)); /* Chrome,Safari4+ */
@@ -18,6 +19,24 @@
   background: -ms-linear-gradient(top, #4c4c4c 0%,#2c2c2c 50%,#000000 51%,#131313 100%); /* IE10+ */
   background: -ms-linear-gradient(top, #4c4c4c 0%,#2c2c2c 50%,#000000 51%,#131313 100%); /* IE10+ */
   background: linear-gradient(top, #4c4c4c 0%,#2c2c2c 50%,#000000 51%,#131313 100%); /* W3C */
   background: linear-gradient(top, #4c4c4c 0%,#2c2c2c 50%,#000000 51%,#131313 100%); /* W3C */
 }
 }
+.noVNC_status_error {
+  background: #f04040; /* Old browsers */
+  background: -moz-linear-gradient(top, #f04040 0%, #2c2c2c 50%, #000000 51%, #131313 100%); /* FF3.6+ */
+  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f04040), color-stop(50%,#2c2c2c), color-stop(51%,#000000), color-stop(100%,#131313)); /* Chrome,Safari4+ */
+  background: -webkit-linear-gradient(top, #f04040 0%,#2c2c2c 50%,#000000 51%,#131313 100%); /* Chrome10+,Safari5.1+ */
+  background: -o-linear-gradient(top, #f04040 0%,#2c2c2c 50%,#000000 51%,#131313 100%); /* Opera11.10+ */
+  background: -ms-linear-gradient(top, #f04040 0%,#2c2c2c 50%,#000000 51%,#131313 100%); /* IE10+ */
+  background: linear-gradient(top, #f04040 0%,#2c2c2c 50%,#000000 51%,#131313 100%); /* W3C */
+}
+.noVNC_status_warn {
+  background: #f0f040; /* Old browsers */
+  background: -moz-linear-gradient(top, #f0f040 0%, #2c2c2c 50%, #000000 51%, #131313 100%); /* FF3.6+ */
+  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f0f040), color-stop(50%,#2c2c2c), color-stop(51%,#000000), color-stop(100%,#131313)); /* Chrome,Safari4+ */
+  background: -webkit-linear-gradient(top, #f0f040 0%,#2c2c2c 50%,#000000 51%,#131313 100%); /* Chrome10+,Safari5.1+ */
+  background: -o-linear-gradient(top, #f0f040 0%,#2c2c2c 50%,#000000 51%,#131313 100%); /* Opera11.10+ */
+  background: -ms-linear-gradient(top, #f0f040 0%,#2c2c2c 50%,#000000 51%,#131313 100%); /* IE10+ */
+  background: linear-gradient(top, #f0f040 0%,#2c2c2c 50%,#000000 51%,#131313 100%); /* W3C */
+}
 
 
 .triangle-right {
 .triangle-right {
   border:2px solid #fff;
   border:2px solid #fff;

+ 32 - 1
include/blue.css

@@ -1,11 +1,12 @@
 /*
 /*
  * noVNC blue CSS
  * noVNC blue CSS
  * Copyright (C) 2012 Joel Martin
  * Copyright (C) 2012 Joel Martin
+ * Copyright (C) 2013 Samuel Mannehed for Cendio AB
  * noVNC is licensed under the MPL 2.0 (see LICENSE.txt)
  * noVNC is licensed under the MPL 2.0 (see LICENSE.txt)
  * This file is licensed under the 2-Clause BSD license (see LICENSE.txt).
  * This file is licensed under the 2-Clause BSD license (see LICENSE.txt).
  */
  */
 
 
-#noVNC-control-bar {
+.noVNC_status_normal {
   background-color:#04073d;
   background-color:#04073d;
   background-image: -webkit-gradient(
   background-image: -webkit-gradient(
     linear,
     linear,
@@ -20,6 +21,36 @@
     rgb(4,7,61) 50%
     rgb(4,7,61) 50%
   );
   );
 }
 }
+.noVNC_status_error {
+  background-color:#f04040;
+  background-image: -webkit-gradient(
+    linear,
+    left bottom,
+    left top,
+    color-stop(0.54, rgb(240,64,64)),
+    color-stop(0.5, rgb(4,7,61))
+  );
+  background-image: -moz-linear-gradient(
+    center bottom,
+    rgb(4,7,61) 54%,
+    rgb(249,64,64) 50%
+  );
+}
+.noVNC_status_warn {
+  background-color:#f0f040;
+  background-image: -webkit-gradient(
+    linear,
+    left bottom,
+    left top,
+    color-stop(0.54, rgb(240,240,64)),
+    color-stop(0.5, rgb(4,7,61))
+  );
+  background-image: -moz-linear-gradient(
+    center bottom,
+    rgb(4,7,61) 54%,
+    rgb(240,240,64) 50%
+  );
+}
 
 
 .triangle-right {
 .triangle-right {
   border:2px solid #fff;
   border:2px solid #fff;

+ 40 - 11
include/ui.js

@@ -21,6 +21,7 @@ var UI = {
 rfb_state : 'loaded',
 rfb_state : 'loaded',
 settingsOpen : false,
 settingsOpen : false,
 connSettingsOpen : false,
 connSettingsOpen : false,
+popupStatusOpen : false,
 clipboardOpen: false,
 clipboardOpen: false,
 keyboardVisible: false,
 keyboardVisible: false,
 
 
@@ -158,6 +159,8 @@ addMouseHandlers: function() {
     $D("keyboardinput").onblur = UI.keyInputBlur;
     $D("keyboardinput").onblur = UI.keyInputBlur;
 
 
     $D("sendCtrlAltDelButton").onclick = UI.sendCtrlAltDel;
     $D("sendCtrlAltDelButton").onclick = UI.sendCtrlAltDel;
+    $D("noVNC_status").onclick = UI.togglePopupStatusPanel;
+    $D("noVNC_popup_status_panel").onclick = UI.togglePopupStatusPanel;
     $D("clipboardButton").onclick = UI.toggleClipboardPanel;
     $D("clipboardButton").onclick = UI.toggleClipboardPanel;
     $D("settingsButton").onclick = UI.toggleSettingsPanel;
     $D("settingsButton").onclick = UI.toggleSettingsPanel;
     $D("connectButton").onclick = UI.toggleConnectPanel;
     $D("connectButton").onclick = UI.toggleConnectPanel;
@@ -259,20 +262,39 @@ forceSetting: function(name, val) {
 },
 },
 
 
 
 
+// Show the popup status panel
+togglePopupStatusPanel: function() {
+    var psp = $D('noVNC_popup_status_panel');
+    if (UI.popupStatusOpen === true) {
+        psp.style.display = "none";
+        UI.popupStatusOpen = false;
+    } else {
+        psp.innerHTML = $D('noVNC_status').innerHTML;
+        psp.style.display = "block";
+        psp.style.left = window.innerWidth/2 - 
+            parseInt(window.getComputedStyle(psp, false).width)/2 -30 + "px";
+        UI.popupStatusOpen = true;
+    }
+},
+
 // Show the clipboard panel
 // Show the clipboard panel
 toggleClipboardPanel: function() {
 toggleClipboardPanel: function() {
     // Close the description panel
     // Close the description panel
     $D('noVNC_description').style.display = "none";
     $D('noVNC_description').style.display = "none";
-    //Close settings if open
+    // Close settings if open
     if (UI.settingsOpen === true) {
     if (UI.settingsOpen === true) {
         UI.settingsApply();
         UI.settingsApply();
         UI.closeSettingsMenu();
         UI.closeSettingsMenu();
     }
     }
-    //Close connection settings if open
+    // Close connection settings if open
     if (UI.connSettingsOpen === true) {
     if (UI.connSettingsOpen === true) {
         UI.toggleConnectPanel();
         UI.toggleConnectPanel();
     }
     }
-    //Toggle Clipboard Panel
+    // Close popup status panel if open
+    if (UI.popupStatusOpen === true) {
+        UI.togglePopupStatusPanel();
+    }
+    // Toggle Clipboard Panel
     if (UI.clipboardOpen === true) {
     if (UI.clipboardOpen === true) {
         $D('noVNC_clipboard').style.display = "none";
         $D('noVNC_clipboard').style.display = "none";
         $D('clipboardButton').className = "noVNC_status_button";
         $D('clipboardButton').className = "noVNC_status_button";
@@ -288,17 +310,22 @@ toggleClipboardPanel: function() {
 toggleConnectPanel: function() {
 toggleConnectPanel: function() {
     // Close the description panel
     // Close the description panel
     $D('noVNC_description').style.display = "none";
     $D('noVNC_description').style.display = "none";
-    //Close connection settings if open
+    // Close connection settings if open
     if (UI.settingsOpen === true) {
     if (UI.settingsOpen === true) {
         UI.settingsApply();
         UI.settingsApply();
         UI.closeSettingsMenu();
         UI.closeSettingsMenu();
         $D('connectButton').className = "noVNC_status_button";
         $D('connectButton').className = "noVNC_status_button";
     }
     }
+    // Close clipboard panel if open
     if (UI.clipboardOpen === true) {
     if (UI.clipboardOpen === true) {
         UI.toggleClipboardPanel();
         UI.toggleClipboardPanel();
     }
     }
+    // Close popup status panel if open
+    if (UI.popupStatusOpen === true) {
+        UI.togglePopupStatusPanel();
+    }
 
 
-    //Toggle Connection Panel
+    // Toggle Connection Panel
     if (UI.connSettingsOpen === true) {
     if (UI.connSettingsOpen === true) {
         $D('noVNC_controls').style.display = "none";
         $D('noVNC_controls').style.display = "none";
         $D('connectButton').className = "noVNC_status_button";
         $D('connectButton').className = "noVNC_status_button";
@@ -349,13 +376,18 @@ toggleSettingsPanel: function() {
 openSettingsMenu: function() {
 openSettingsMenu: function() {
     // Close the description panel
     // Close the description panel
     $D('noVNC_description').style.display = "none";
     $D('noVNC_description').style.display = "none";
+    // Close clipboard panel if open
     if (UI.clipboardOpen === true) {
     if (UI.clipboardOpen === true) {
         UI.toggleClipboardPanel();
         UI.toggleClipboardPanel();
     }
     }
-    //Close connection settings if open
+    // Close connection settings if open
     if (UI.connSettingsOpen === true) {
     if (UI.connSettingsOpen === true) {
         UI.toggleConnectPanel();
         UI.toggleConnectPanel();
     }
     }
+    // Close popup status panel if open
+    if (UI.popupStatusOpen === true) {
+        UI.togglePopupStatusPanel();
+    }
     $D('noVNC_settings').style.display = "block";
     $D('noVNC_settings').style.display = "block";
     $D('settingsButton').className = "noVNC_status_button_selected";
     $D('settingsButton').className = "noVNC_status_button_selected";
     UI.settingsOpen = true;
     UI.settingsOpen = true;
@@ -439,8 +471,6 @@ setMouseButton: function(num) {
 updateState: function(rfb, state, oldstate, msg) {
 updateState: function(rfb, state, oldstate, msg) {
     var s, sb, c, d, cad, vd, klass;
     var s, sb, c, d, cad, vd, klass;
     UI.rfb_state = state;
     UI.rfb_state = state;
-    s = $D('noVNC_status');
-    sb = $D('noVNC_status_bar');
     switch (state) {
     switch (state) {
         case 'failed':
         case 'failed':
         case 'fatal':
         case 'fatal':
@@ -470,9 +500,8 @@ updateState: function(rfb, state, oldstate, msg) {
     }
     }
 
 
     if (typeof(msg) !== 'undefined') {
     if (typeof(msg) !== 'undefined') {
-        s.setAttribute("class", klass);
-        sb.setAttribute("class", klass);
-        s.innerHTML = msg;
+        $D('noVNC-control-bar').setAttribute("class", klass);
+        $D('noVNC_status').innerHTML = msg;
     }
     }
 
 
     UI.updateVisualState();
     UI.updateVisualState();

+ 9 - 7
vnc.html

@@ -5,6 +5,7 @@
     <!--
     <!--
     noVNC example: simple example using default UI
     noVNC example: simple example using default UI
     Copyright (C) 2012 Joel Martin
     Copyright (C) 2012 Joel Martin
+    Copyright (C) 2013 Samuel Mannehed for Cendio AB
     noVNC is licensed under the MPL 2.0 (see LICENSE.txt)
     noVNC is licensed under the MPL 2.0 (see LICENSE.txt)
     This file is licensed under the 2-Clause BSD license (see LICENSE.txt).
     This file is licensed under the 2-Clause BSD license (see LICENSE.txt).
 
 
@@ -65,12 +66,13 @@
                 <input type="image" src="images/keyboard.png"
                 <input type="image" src="images/keyboard.png"
                     id="showKeyboard" class="noVNC_status_button"
                     id="showKeyboard" class="noVNC_status_button"
                     value="Keyboard" title="Show Keyboard"/>
                     value="Keyboard" title="Show Keyboard"/>
-                <input type="email"
-                    autocapitalize="off" autocorrect="off"
-                    id="keyboardinput" class="noVNC_status_button"/>
+                <input type="email" autocapitalize="off" autocorrect="off"
+                    id="keyboardinput" class=""/>
             </div>
             </div>
         </div>
         </div>
 
 
+        <div id="noVNC_status">Loading</div>
+
         <!--noVNC Buttons-->
         <!--noVNC Buttons-->
         <div class="noVNC-buttons-right">
         <div class="noVNC-buttons-right">
             <input type="image" src="images/ctrlaltdel.png"
             <input type="image" src="images/ctrlaltdel.png"
@@ -106,6 +108,10 @@
             <input id="descriptionButton" type="button" value="Close">
             <input id="descriptionButton" type="button" value="Close">
         </div>
         </div>
 
 
+        <!-- Popup Status Panel -->
+        <div id="noVNC_popup_status_panel" class="">
+        </div>
+
         <!-- Clipboard Panel -->
         <!-- Clipboard Panel -->
         <div id="noVNC_clipboard" class="triangle-right top">
         <div id="noVNC_clipboard" class="triangle-right top">
             <textarea id="noVNC_clipboard_text" rows=5>
             <textarea id="noVNC_clipboard_text" rows=5>
@@ -163,10 +169,6 @@
     <div id="noVNC_screen">
     <div id="noVNC_screen">
         <div id="noVNC_screen_pad"></div>
         <div id="noVNC_screen_pad"></div>
 
 
-        <div id="noVNC_status_bar" class="noVNC_status_bar">
-                <div id="noVNC_status">Loading</div>
-        </div>
-
         <h1 id="noVNC_logo"><span>no</span><br />VNC</h1>
         <h1 id="noVNC_logo"><span>no</span><br />VNC</h1>
 
 
         <!-- HTML5 Canvas -->
         <!-- HTML5 Canvas -->

+ 4 - 1
vnc_auto.html

@@ -5,6 +5,7 @@
     <!-- 
     <!-- 
     noVNC example: simple example using default UI
     noVNC example: simple example using default UI
     Copyright (C) 2012 Joel Martin
     Copyright (C) 2012 Joel Martin
+    Copyright (C) 2013 Samuel Mannehed for Cendio AB
     noVNC is licensed under the MPL 2.0 (see LICENSE.txt)
     noVNC is licensed under the MPL 2.0 (see LICENSE.txt)
     This file is licensed under the 2-Clause BSD license (see LICENSE.txt).
     This file is licensed under the 2-Clause BSD license (see LICENSE.txt).
 
 
@@ -46,7 +47,9 @@
     <div id="noVNC_screen">
     <div id="noVNC_screen">
             <div id="noVNC_status_bar" class="noVNC_status_bar" style="margin-top: 0px;">
             <div id="noVNC_status_bar" class="noVNC_status_bar" style="margin-top: 0px;">
                 <table border=0 width="100%"><tr>
                 <table border=0 width="100%"><tr>
-                    <td><div id="noVNC_status">Loading</div></td>
+                    <td><div id="noVNC_status" style="position: relative; height: auto;">
+                        Loading
+                    </div></td>
                     <td width="1%"><div id="noVNC_buttons">
                     <td width="1%"><div id="noVNC_buttons">
                         <input type=button value="Send CtrlAltDel"
                         <input type=button value="Send CtrlAltDel"
                             id="sendCtrlAltDelButton">
                             id="sendCtrlAltDelButton">