diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 53298cc4f..07a23092e 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -103,6 +103,7 @@ Changed anymore. - The `completion -> show` setting can now be set to `always`, `auto` or `never`. +- `:open-editor` can now be used in any mode. - Lots of improvements to and bugfixes for the QtWebEngine backend, such as working hints. However, using qutebrowser directly from git is still advised when using `--backend webengine`. diff --git a/README.asciidoc b/README.asciidoc index 8c06602a1..9aa59705e 100644 --- a/README.asciidoc +++ b/README.asciidoc @@ -244,6 +244,7 @@ Contributors, sorted by the number of commits in descending order: * Moez Bouhlel * Matthias Lisin * Marcel Schilling +* Ján Kobezda * Julie Engel * Johannes Martinsson * Jean-Christophe Petkovich diff --git a/qutebrowser/browser/commands.py b/qutebrowser/browser/commands.py index 5dfd86242..0b368a474 100644 --- a/qutebrowser/browser/commands.py +++ b/qutebrowser/browser/commands.py @@ -1468,8 +1468,8 @@ class CommandDispatcher: self.on_editing_finished, elem)) ed.edit(text) - @cmdutils.register(instance='command-dispatcher', - modes=[KeyMode.insert], hide=True, scope='window') + @cmdutils.register(instance='command-dispatcher', hide=True, + scope='window') def open_editor(self): """Open an external editor with the currently selected form field. diff --git a/tests/end2end/features/editor.feature b/tests/end2end/features/editor.feature index aac8413e6..5160ebf69 100644 --- a/tests/end2end/features/editor.feature +++ b/tests/end2end/features/editor.feature @@ -67,3 +67,29 @@ Feature: Opening external editors And I wait for "Read back: foobar" in the log And I run :click-element id qute-button Then the javascript message "text: foobar" should be logged + + Scenario: Spawning an editor in normal mode + When I set up a fake editor returning "foobar" + And I open data/editor.html + And I run :click-element id qute-textarea + And I wait for "Clicked editable element!" in the log + And I run :leave-mode + And I wait for "Leaving mode KeyMode.insert (reason: leave current)" in the log + And I run :open-editor + And I wait for "Read back: foobar" in the log + And I run :click-element id qute-button + Then the javascript message "text: foobar" should be logged + + Scenario: Spawning an editor in caret mode + When I set up a fake editor returning "foobar" + And I open data/editor.html + And I run :click-element id qute-textarea + And I wait for "Clicked editable element!" in the log + And I run :leave-mode + And I wait for "Leaving mode KeyMode.insert (reason: leave current)" in the log + And I run :enter-mode caret + And I wait for "Entering mode KeyMode.caret (reason: command)" in the log + And I run :open-editor + And I wait for "Read back: foobar" in the log + And I run :click-element id qute-button + Then the javascript message "text: foobar" should be logged