#!/bin/python import notmuch import subprocess import os def notify(title, message): subprocess.Popen( [ "notify-send", "--app-name=notmuch-notify", "--category=email.arrived", "--icon=mail-unread", title, message, ] ) # Workaround for bug in the notmuch module's default config resolution if os.environ.get("NOTMUCH_CONFIG") is None: os.environ["NOTMUCH_CONFIG"] = os.path.join( os.environ.get( "XDG_CONFIG_HOME", os.path.join(os.path.expanduser("~"), ".config") ), "notmuch", os.environ.get("NOTMUCH_PROFILE", "default"), "config", ) for message in ( notmuch.Database( mode=notmuch.Database.MODE.READ_WRITE, ) .create_query("tag:notify") .search_messages() ): print(message) message.remove_tag("notify") notify(message.get_header("From"), message.get_header("Subject")) del message