diff --git a/gertty/app.py b/gertty/app.py index 4227094..30ed840 100644 --- a/gertty/app.py +++ b/gertty/app.py @@ -148,9 +148,11 @@ class BreadCrumbBar(urwid.WidgetWrap): super(BreadCrumbBar, self).__init__(self.display_widget) def _get_breadcrumb_text(self, screen): - title = getattr(screen, 'title', str(screen)) + title = getattr(screen, 'short_title', None) + if not title: + title = getattr(screen, 'title', str(screen)) text = "%s %s" % (BreadCrumbBar.BREADCRUMB_SYMBOL, title) - if len(text) > 20: + if len(text) > 23: text = "%s..." % text[:20] return urwid.Text(text, wrap='clip') diff --git a/gertty/view/change_list.py b/gertty/view/change_list.py index db60663..b6418c2 100644 --- a/gertty/view/change_list.py +++ b/gertty/view/change_list.py @@ -256,6 +256,10 @@ class ChangeListView(urwid.WidgetWrap): self.title = u'Unreviewed changes in %s' % self.query_desc else: self.title = u'All changes in %s' % self.query_desc + self.short_title = self.query_desc + if '/' in self.short_title and ' ' not in self.short_title: + i = self.short_title.rfind('/') + self.short_title = self.short_title[i+1:] self.app.status.update(title=self.title) categories = set() for change in change_list: diff --git a/gertty/view/project_list.py b/gertty/view/project_list.py index ff8b3f1..d102fa3 100644 --- a/gertty/view/project_list.py +++ b/gertty/view/project_list.py @@ -315,10 +315,12 @@ class ProjectListView(urwid.WidgetWrap): def refresh(self): if self.subscribed: self.title = u'Subscribed projects' + self.short_title = self.title[:] if self.unreviewed: self.title += u' with unreviewed changes' else: self.title = u'All projects' + self.short_title = self.title[:] self.app.status.update(title=self.title) with self.app.db.getSession() as session: i = 0