From b10c1b063de0623b16baedd2d41add7bc5a849e2 Mon Sep 17 00:00:00 2001 From: haitaka Date: Wed, 13 Apr 2016 19:08:50 +0600 Subject: [PATCH 1/6] Site favicon as window icon when 'tabs-are-windows' is enabled --- qutebrowser/mainwindow/tabbedbrowser.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/qutebrowser/mainwindow/tabbedbrowser.py b/qutebrowser/mainwindow/tabbedbrowser.py index 7c6c4e9c8..dc18fd673 100644 --- a/qutebrowser/mainwindow/tabbedbrowser.py +++ b/qutebrowser/mainwindow/tabbedbrowser.py @@ -533,6 +533,9 @@ class TabbedBrowser(tabwidget.TabWidget): # We can get signals for tabs we already deleted... return self.setTabIcon(idx, tab.icon()) + if idx == self.currentIndex() and config.get('tabs', + 'tabs-are-windows'): + self.window().setWindowIcon(tab.icon()) @pyqtSlot(usertypes.KeyMode) def on_mode_left(self, mode): From de93e6c7eefdf337c658368495af8acdeadd54a3 Mon Sep 17 00:00:00 2001 From: haitaka Date: Wed, 13 Apr 2016 19:15:01 +0600 Subject: [PATCH 2/6] remove trailing whitespace --- qutebrowser/mainwindow/tabbedbrowser.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qutebrowser/mainwindow/tabbedbrowser.py b/qutebrowser/mainwindow/tabbedbrowser.py index dc18fd673..9f027f6f1 100644 --- a/qutebrowser/mainwindow/tabbedbrowser.py +++ b/qutebrowser/mainwindow/tabbedbrowser.py @@ -533,7 +533,7 @@ class TabbedBrowser(tabwidget.TabWidget): # We can get signals for tabs we already deleted... return self.setTabIcon(idx, tab.icon()) - if idx == self.currentIndex() and config.get('tabs', + if idx == self.currentIndex() and config.get('tabs', 'tabs-are-windows'): self.window().setWindowIcon(tab.icon()) From d61ee2681f63313dce9936f1318a32375ba406ef Mon Sep 17 00:00:00 2001 From: haitaka Date: Thu, 14 Apr 2016 20:26:00 +0600 Subject: [PATCH 3/6] set back to the qutebrowser logo in on_load_started --- qutebrowser/browser/commands.py | 2 ++ qutebrowser/mainwindow/tabbedbrowser.py | 12 ++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/qutebrowser/browser/commands.py b/qutebrowser/browser/commands.py index 278380578..2908a6183 100644 --- a/qutebrowser/browser/commands.py +++ b/qutebrowser/browser/commands.py @@ -350,6 +350,8 @@ class CommandDispatcher: new_tabbed_browser.set_page_title(idx, cur_title) if config.get('tabs', 'show-favicons'): new_tabbed_browser.setTabIcon(idx, curtab.icon()) + if config.get('tabs', 'tabs-are-windows'): + new_tabbed_browser.window().setWindowIcon(curtab.icon()) newtab.keep_icon = True newtab.setZoomFactor(curtab.zoomFactor()) history = qtutils.serialize(curtab.history()) diff --git a/qutebrowser/mainwindow/tabbedbrowser.py b/qutebrowser/mainwindow/tabbedbrowser.py index 9f027f6f1..df5329345 100644 --- a/qutebrowser/mainwindow/tabbedbrowser.py +++ b/qutebrowser/mainwindow/tabbedbrowser.py @@ -114,6 +114,7 @@ class TabbedBrowser(tabwidget.TabWidget): self._now_focused = None self.search_text = None self.search_flags = 0 + self.default_window_icon = self.window().windowIcon() objreg.get('config').changed.connect(self.update_favicons) objreg.get('config').changed.connect(self.update_window_title) objreg.get('config').changed.connect(self.update_tab_titles) @@ -442,11 +443,16 @@ class TabbedBrowser(tabwidget.TabWidget): def update_favicons(self): """Update favicons when config was changed.""" show = config.get('tabs', 'show-favicons') + tabs_are_wins = config.get('tabs', 'tabs-are-windows') for i, tab in enumerate(self.widgets()): if show: self.setTabIcon(i, tab.icon()) + if tabs_are_wins: + self.window().setWindowIcon(tab.icon()) else: self.setTabIcon(i, QIcon()) + if tabs_are_wins: + self.window().setWindowIcon(self.default_window_icon) @pyqtSlot() def on_load_started(self, tab): @@ -465,6 +471,9 @@ class TabbedBrowser(tabwidget.TabWidget): tab.keep_icon = False else: self.setTabIcon(idx, QIcon()) + if (config.get('tabs', 'tabs-are-windows') and + config.get('tabs', 'show-favicons')): + self.window().setWindowIcon(self.default_window_icon) if idx == self.currentIndex(): self.update_window_title() @@ -533,8 +542,7 @@ class TabbedBrowser(tabwidget.TabWidget): # We can get signals for tabs we already deleted... return self.setTabIcon(idx, tab.icon()) - if idx == self.currentIndex() and config.get('tabs', - 'tabs-are-windows'): + if config.get('tabs', 'tabs-are-windows'): self.window().setWindowIcon(tab.icon()) @pyqtSlot(usertypes.KeyMode) From 2645334425e082225531a62503e3f742ad81d486 Mon Sep 17 00:00:00 2001 From: Alexey Glushko Date: Thu, 14 Apr 2016 17:20:34 +0000 Subject: [PATCH 4/6] Indent fixing --- qutebrowser/mainwindow/tabbedbrowser.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qutebrowser/mainwindow/tabbedbrowser.py b/qutebrowser/mainwindow/tabbedbrowser.py index df5329345..1570cfd6f 100644 --- a/qutebrowser/mainwindow/tabbedbrowser.py +++ b/qutebrowser/mainwindow/tabbedbrowser.py @@ -472,7 +472,7 @@ class TabbedBrowser(tabwidget.TabWidget): else: self.setTabIcon(idx, QIcon()) if (config.get('tabs', 'tabs-are-windows') and - config.get('tabs', 'show-favicons')): + config.get('tabs', 'show-favicons')): self.window().setWindowIcon(self.default_window_icon) if idx == self.currentIndex(): self.update_window_title() From f90776f75c39a5ebdeff77a15e11e1ed6c224f4f Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Sat, 7 May 2016 21:37:01 +0200 Subject: [PATCH 5/6] Add documentation for default_window_icon --- qutebrowser/mainwindow/tabbedbrowser.py | 1 + 1 file changed, 1 insertion(+) diff --git a/qutebrowser/mainwindow/tabbedbrowser.py b/qutebrowser/mainwindow/tabbedbrowser.py index 3c612dcb6..b754ce9cb 100644 --- a/qutebrowser/mainwindow/tabbedbrowser.py +++ b/qutebrowser/mainwindow/tabbedbrowser.py @@ -67,6 +67,7 @@ class TabbedBrowser(tabwidget.TabWidget): shutting_down: Whether we're currently shutting down. _local_marks: Jump markers local to each page _global_marks: Jump markers used across all pages + default_window_icon: The qutebrowser window icon Signals: cur_progress: Progress of the current tab changed (loadProgress). From a5cea14a0fd563811a43a0a5d92f409c0a0f933f Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Sat, 7 May 2016 21:39:19 +0200 Subject: [PATCH 6/6] Update docs --- CHANGELOG.asciidoc | 1 + README.asciidoc | 1 + scripts/dev/src2asciidoc.py | 1 + 3 files changed, 3 insertions(+) diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index a75a543ce..5a477b2da 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -44,6 +44,7 @@ Changed - Various SSL ciphers are now disabled by default. With recent Qt/OpenSSL versions those already all are disabled, but with older versions they might not be. +- Show favicons as window icon with `tabs-are-windows` set. Fixed ----- diff --git a/README.asciidoc b/README.asciidoc index 1090ac4f0..796675674 100644 --- a/README.asciidoc +++ b/README.asciidoc @@ -179,6 +179,7 @@ Contributors, sorted by the number of commits in descending order: * Halfwit * rikn00 * kanikaa1234 +* haitaka * Michael Ilsaas * Martin Zimmermann * Brian Jackson diff --git a/scripts/dev/src2asciidoc.py b/scripts/dev/src2asciidoc.py index a38cc44c8..1630634a4 100755 --- a/scripts/dev/src2asciidoc.py +++ b/scripts/dev/src2asciidoc.py @@ -399,6 +399,7 @@ def _get_authors(): 'Error 800': 'error800', 'larryhynes': 'Larry Hynes', 'Daniel': 'Daniel Schadt', + 'Alexey Glushko': 'haitaka', } commits = subprocess.check_output(['git', 'log', '--format=%aN']) authors = [corrections.get(author, author)