resizeTimeout: null,
statusTimeout: null,
hideKeyboardTimeout: null,
- controlbarTimeout: null,
+ idleControlbarTimeout: null,
+ closeControlbarTimeout: null,
controlbarGrabbed: false,
controlbarDrag: false,
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")
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")
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);
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() {
.classList.add("noVNC_idle");
},
+ keepControlbar: function() {
+ clearTimeout(UI.closeControlbarTimeout);
+ },
+
openControlbar: function() {
document.getElementById('noVNC_control_bar')
.classList.add("noVNC_open");
connect: function() {
UI.closeAllPanels();
- UI.closeControlbar();
var host = document.getElementById('noVNC_setting_host').value;
var port = document.getElementById('noVNC_setting_port').value;