diff --git a/i3pystatus/mail/__init__.py b/i3pystatus/mail/__init__.py index e683f0e..330494c 100644 --- a/i3pystatus/mail/__init__.py +++ b/i3pystatus/mail/__init__.py @@ -43,6 +43,10 @@ class Mail(IntervalModule): pass def run(self): + """ + Returns the sum of unread messages across all registered backends + """ + unread = sum(map(lambda backend: backend.unread, self.backends)) if not unread: diff --git a/i3pystatus/mail/notmuchmail.py b/i3pystatus/mail/notmuchmail.py index 3919d45..bd3ffe3 100644 --- a/i3pystatus/mail/notmuchmail.py +++ b/i3pystatus/mail/notmuchmail.py @@ -38,7 +38,9 @@ class Notmuch(Backend): @property def unread(self): db = notmuch.Database(self.db_path) - return notmuch.Query(db, "tag:unread and tag:inbox").count_messages() + result = notmuch.Query(db, "tag:unread and tag:inbox").count_messages() + db.close() + return result Backend = Notmuch