diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 0dc4f9da0..9132f9717 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -41,6 +41,7 @@ Fixed - `:record-macro` (`q`) now doesn't try to record macros for special keys without a text. - Fixed PAC (proxy autoconfig) not working with QtWebKit - `:download --mhtml` now uses the new file dialog +- Insert mode now gets entered correctly with a non-100% zoom v0.9.1 ------ diff --git a/qutebrowser/browser/mouse.py b/qutebrowser/browser/mouse.py index 19e37ad97..7052c9353 100644 --- a/qutebrowser/browser/mouse.py +++ b/qutebrowser/browser/mouse.py @@ -95,7 +95,8 @@ class MouseEventFilter(QObject): self._ignore_wheel_event = True if e.button() != Qt.NoButton: - self._tab.elements.find_at_pos(e.pos(), + zoom = self._tab.zoom.factor() + self._tab.elements.find_at_pos(e.pos() / zoom, self._mousepress_insertmode_cb) return False diff --git a/tests/end2end/test_insert_mode.py b/tests/end2end/test_insert_mode.py index 727e7633d..59c279feb 100644 --- a/tests/end2end/test_insert_mode.py +++ b/tests/end2end/test_insert_mode.py @@ -35,12 +35,15 @@ import pytest ('autofocus.html', 'qute-input-autofocus', 'keypress', 'cutebrowser', 'true'), ]) -def test_insert_mode(file_name, elem_id, source, input_text, auto_insert, +@pytest.mark.parametrize('zoom', [100, 125]) +def test_insert_mode(file_name, elem_id, source, input_text, auto_insert, zoom, quteproc, request): url_path = 'data/insert_mode_settings/html/{}'.format(file_name) quteproc.open_path(url_path) quteproc.set_setting('input', 'auto-insert-mode', auto_insert) + quteproc.send_cmd(':zoom {}'.format(zoom)) + quteproc.send_cmd(':click-element --force-event id {}'.format(elem_id)) quteproc.wait_for(message='Entering mode KeyMode.insert (reason: *)') quteproc.send_cmd(':debug-set-fake-clipboard')