diff --git a/app/ui.js b/app/ui.js index 75eeab9293c09396b67b67e26f750fb60ae2f8b0..d4a7555da74375b461070db7475cbc585f8ffd3e 100644 --- a/app/ui.js +++ b/app/ui.js @@ -133,9 +133,6 @@ var UI; document.documentElement.classList.add("noVNC_touch"); // Remove the address bar setTimeout(function() { window.scrollTo(0, 1); }, 100); - UI.forceSetting('clip', true); - } else { - UI.initSetting('clip', false); } // Restore control bar position @@ -228,6 +225,7 @@ var UI; UI.initSetting('encrypt', (window.location.protocol === "https:")); UI.initSetting('true_color', true); UI.initSetting('cursor', !Util.isTouchDevice); + UI.initSetting('clip', false); UI.initSetting('resize', 'off'); UI.initSetting('shared', true); UI.initSetting('view_only', false); @@ -849,12 +847,6 @@ var UI; return val; }, - // Force a setting to be a certain value - forceSetting: function(name, val) { - UI.updateSetting(name, val); - return val; - }, - // Read form control compatible setting from cookie getSetting: function(name) { var ctrl = document.getElementById('noVNC_setting_' + name); @@ -1298,6 +1290,15 @@ var UI; var cur_clip = display.get_viewport(); var new_clip = UI.getSetting('clip'); + var resizeSetting = UI.getSetting('resize'); + if (resizeSetting === 'downscale' || resizeSetting === 'scale') { + // Disable clipping if we are scaling + new_clip = false; + } else if (Util.isTouchDevice) { + // Touch devices usually have shit scrollbars + new_clip = true; + } + if (cur_clip !== new_clip) { display.set_viewport(new_clip); } @@ -1314,18 +1315,12 @@ var UI; // Handle special cases where clipping is forced on/off or locked enableDisableViewClip: function() { var resizeSetting = UI.getSetting('resize'); - if (resizeSetting === 'downscale' || resizeSetting === 'scale') { // Disable clipping if we are scaling - UI.forceSetting('clip', false); - UI.setViewClip(false); document.getElementById('noVNC_setting_clip').disabled = true; } else { document.getElementById('noVNC_setting_clip').disabled = UI.connected || Util.isTouchDevice; - if (Util.isTouchDevice) { - UI.setViewClip(true); - } } },