diff options
author | Samuel Mannehed <samuel@cendio.se> | 2016-08-31 11:57:38 +0200 |
---|---|---|
committer | Pierre Ossman <ossman@cendio.se> | 2016-09-23 14:39:21 +0200 |
commit | 3f93a385a273299ec4662b89c8f99752d5e392f1 (patch) | |
tree | 2a6285d6f82cea6a841ae3bb66d69673a3881f13 | |
parent | 04b399e27d3eaa9ba55d46c05c1d3760dc22d1e6 (diff) | |
download | novnc-3f93a385a273299ec4662b89c8f99752d5e392f1.tar.gz |
Auto-close the toolbar on connect after a delay
-rw-r--r-- | app/ui.js | 27 |
1 files changed, 22 insertions, 5 deletions
@@ -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; |