summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Mannehed <samuel@cendio.se>2016-08-31 11:57:38 +0200
committerPierre Ossman <ossman@cendio.se>2016-09-23 14:39:21 +0200
commit3f93a385a273299ec4662b89c8f99752d5e392f1 (patch)
tree2a6285d6f82cea6a841ae3bb66d69673a3881f13
parent04b399e27d3eaa9ba55d46c05c1d3760dc22d1e6 (diff)
downloadnovnc-3f93a385a273299ec4662b89c8f99752d5e392f1.tar.gz
Auto-close the toolbar on connect after a delay
-rw-r--r--app/ui.js27
1 files changed, 22 insertions, 5 deletions
diff --git a/app/ui.js b/app/ui.js
index cdf20a9..0ccffad 100644
--- a/app/ui.js
+++ b/app/ui.js
@@ -41,7 +41,8 @@ var UI;
resizeTimeout: null,
statusTimeout: null,
hideKeyboardTimeout: null,
- controlbarTimeout: null,
+ idleControlbarTimeout: null,
+ closeControlbarTimeout: null,
controlbarGrabbed: false,
controlbarDrag: false,
@@ -202,6 +203,11 @@ var UI;
document.getElementById("noVNC_control_bar")
.addEventListener('keypress', UI.activateControlbar);
+ document.getElementById("noVNC_control_bar")
+ .addEventListener('mousedown', UI.keepControlbar);
+ document.getElementById("noVNC_control_bar")
+ .addEventListener('keypress', UI.keepControlbar);
+
document.getElementById("noVNC_view_drag_button")
.addEventListener('click', UI.toggleViewDrag);
document.getElementById("noVNC_send_ctrl_alt_del_button")
@@ -245,6 +251,11 @@ var UI;
document.getElementById("noVNC_control_bar")
.addEventListener('input', UI.activateControlbar);
+ document.getElementById("noVNC_control_bar")
+ .addEventListener('touchstart', UI.keepControlbar);
+ document.getElementById("noVNC_control_bar")
+ .addEventListener('input', UI.keepControlbar);
+
document.getElementById("noVNC_control_bar_handle")
.addEventListener('touchstart', UI.controlbarHandleMouseDown);
document.getElementById("noVNC_control_bar_handle")
@@ -405,6 +416,9 @@ var UI;
document.documentElement.classList.add("noVNC_connected");
UI.updateViewClip();
UI.setMouseButton(1);
+
+ // Hide the controlbar after 2 seconds
+ UI.closeControlbarTimeout = setTimeout(UI.closeControlbar, 2000);
} else {
document.documentElement.classList.remove("noVNC_connected");
UI.updateXvpButton(0);
@@ -480,13 +494,13 @@ var UI;
document.getElementById('noVNC_status').classList.remove("noVNC_open");
},
- activateControlbar: function() {
- clearTimeout(UI.controlbarTimeout);
+ activateControlbar: function(event) {
+ clearTimeout(UI.idleControlbarTimeout);
// We manipulate the anchor instead of the actual control
// bar in order to avoid creating new a stacking group
document.getElementById('noVNC_control_bar_anchor')
.classList.remove("noVNC_idle");
- UI.controlbarTimeout = window.setTimeout(UI.idleControlbar, 2000);
+ UI.idleControlbarTimeout = window.setTimeout(UI.idleControlbar, 2000);
},
idleControlbar: function() {
@@ -494,6 +508,10 @@ var UI;
.classList.add("noVNC_idle");
},
+ keepControlbar: function() {
+ clearTimeout(UI.closeControlbarTimeout);
+ },
+
openControlbar: function() {
document.getElementById('noVNC_control_bar')
.classList.add("noVNC_open");
@@ -923,7 +941,6 @@ var UI;
connect: function() {
UI.closeAllPanels();
- UI.closeControlbar();
var host = document.getElementById('noVNC_setting_host').value;
var port = document.getElementById('noVNC_setting_port').value;