diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 4e9c69db8..81365d3c1 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -49,6 +49,8 @@ Changed - Replacements like `{url}` can now also be used in the middle of an argument. Consequently, commands taking another command (`:later`, `:repeat` and `:bind`) now don't immediately evaluate variables. +- Tab titles in the `:buffer` completion now update correctly when a page's + title is changed via javascript. Removed ~~~~~~~ diff --git a/qutebrowser/completion/models/miscmodels.py b/qutebrowser/completion/models/miscmodels.py index 3daa03323..bbbaa8a9d 100644 --- a/qutebrowser/completion/models/miscmodels.py +++ b/qutebrowser/completion/models/miscmodels.py @@ -174,6 +174,7 @@ class TabCompletionModel(base.BaseCompletionModel): for i in range(tabbed_browser.count()): tab = tabbed_browser.widget(i) tab.url_changed.connect(self.rebuild) + tab.title_changed.connect(self.rebuild) tab.shutting_down.connect(self.delayed_rebuild) tabbed_browser.new_tab.connect(self.on_new_tab) objreg.get("app").new_window.connect(self.on_new_window) @@ -187,6 +188,7 @@ class TabCompletionModel(base.BaseCompletionModel): def on_new_tab(self, tab): """Add hooks to new tabs.""" tab.url_changed.connect(self.rebuild) + tab.title_changed.connect(self.rebuild) tab.shutting_down.connect(self.delayed_rebuild) self.rebuild() diff --git a/tests/manual/completion/changing_title.html b/tests/manual/completion/changing_title.html new file mode 100644 index 000000000..19e0e6c05 --- /dev/null +++ b/tests/manual/completion/changing_title.html @@ -0,0 +1,11 @@ + + Old title + + + + +

This page should change its title after 3s.

+

When opening the :buffer completion ("gt"), the title should update while it's open.

+