From ccf3cb6d7c5775dab9fe7671e8ddadecccc8e92f Mon Sep 17 00:00:00 2001 From: Jay Kamat Date: Wed, 19 Jul 2017 23:11:39 -0700 Subject: Restructure minimum tab size behavior --- qutebrowser/mainwindow/tabwidget.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/qutebrowser/mainwindow/tabwidget.py b/qutebrowser/mainwindow/tabwidget.py index eeee223aa..7719743f2 100644 --- a/qutebrowser/mainwindow/tabwidget.py +++ b/qutebrowser/mainwindow/tabwidget.py @@ -503,10 +503,6 @@ class TabBar(QTabBar): # We return it directly rather than setting `size' because we don't # want to ensure it's valid in this special case. return QSize() - elif self.count() * minimum_size.width() > self.width(): - # If we don't have enough space, we return the minimum size so we - # get scroll buttons as soon as needed. - size = minimum_size else: tab_width_pinned_conf = config.get('tabs', 'pinned-width') @@ -523,13 +519,13 @@ class TabBar(QTabBar): width = tab_width_pinned_conf else: - # If we *do* have enough space, tabs should occupy the whole - # window width. If there are pinned tabs their size will be - # subtracted from the total window width. - # During shutdown the self.count goes down, - # but the self.pinned_count not - this generates some odd + # Tabs should attempt to occupy the whole window width. If + # there are pinned tabs their size will be subtracted from the + # total window width. During shutdown the self.count goes + # down, but the self.pinned_count not - this generates some odd # behavior. To avoid this we compare self.count against - # self.pinned_count. + # self.pinned_count. If we end up having too little space, we + # set the minimum size below. if self.pinned_count > 0 and no_pinned_count > 0: width = no_pinned_width / no_pinned_count else: @@ -541,6 +537,10 @@ class TabBar(QTabBar): index < no_pinned_width % no_pinned_count): width += 1 + # If we don't have enough space, we return the minimum size so we + # get scroll buttons as soon as needed. + width = max(width, minimum_size.width()) + size = QSize(width, height) qtutils.ensure_valid(size) return size -- cgit v1.2.3-54-g00ecf