summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/ui.js7
-rw-r--r--core/util/browser.js4
2 files changed, 8 insertions, 3 deletions
diff --git a/app/ui.js b/app/ui.js
index 4e4aec7..a045bca 100644
--- a/app/ui.js
+++ b/app/ui.js
@@ -8,7 +8,8 @@
import * as Log from '../core/util/logging.js';
import _, { l10n } from './localization.js';
-import { isTouchDevice, isSafari, dragThreshold } from '../core/util/browser.js';
+import { isTouchDevice, isSafari, isIOS, isAndroid, dragThreshold }
+ from '../core/util/browser.js';
import { setCapture, getPointerEvent } from '../core/util/events.js';
import KeyTable from "../core/input/keysym.js";
import keysyms from "../core/input/keysymdef.js";
@@ -1243,8 +1244,8 @@ const UI = {
// Can't be clipping if viewport is scaled to fit
UI.forceSetting('view_clip', false);
UI.rfb.clipViewport = false;
- } else if (isTouchDevice) {
- // Touch devices usually have shit scrollbars
+ } else if (isIOS() || isAndroid()) {
+ // iOS and Android usually have shit scrollbars
UI.forceSetting('view_clip', true);
UI.rfb.clipViewport = true;
} else {
diff --git a/core/util/browser.js b/core/util/browser.js
index 088997b..026a31a 100644
--- a/core/util/browser.js
+++ b/core/util/browser.js
@@ -64,6 +64,10 @@ export function isIOS() {
!!(/ipod/i).exec(navigator.platform));
}
+export function isAndroid() {
+ return navigator && !!(/android/i).exec(navigator.userAgent);
+}
+
export function isSafari() {
return navigator && (navigator.userAgent.indexOf('Safari') !== -1 &&
navigator.userAgent.indexOf('Chrome') === -1);