aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/notmuch/.local/lib
diff options
context:
space:
mode:
Diffstat (limited to 'notmuch/.local/lib')
-rwxr-xr-xnotmuch/.local/lib/notmuch/notmuch-notify42
1 files changed, 42 insertions, 0 deletions
diff --git a/notmuch/.local/lib/notmuch/notmuch-notify b/notmuch/.local/lib/notmuch/notmuch-notify
new file mode 100755
index 0000000..bc93f09
--- /dev/null
+++ b/notmuch/.local/lib/notmuch/notmuch-notify
@@ -0,0 +1,42 @@
+#!/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