aboutsummaryrefslogtreecommitdiff
path: root/Doom/.config/doom/modules/private/mail/autoload.el
diff options
context:
space:
mode:
Diffstat (limited to 'Doom/.config/doom/modules/private/mail/autoload.el')
-rw-r--r--Doom/.config/doom/modules/private/mail/autoload.el19
1 files changed, 19 insertions, 0 deletions
diff --git a/Doom/.config/doom/modules/private/mail/autoload.el b/Doom/.config/doom/modules/private/mail/autoload.el
new file mode 100644
index 0000000..13a79f9
--- /dev/null
+++ b/Doom/.config/doom/modules/private/mail/autoload.el
@@ -0,0 +1,19 @@
+;;; private/mail/autoload.el -*- lexical-binding: t; -*-
+
+;;;###autoload
+(defun +mail/open-mail ()
+ "Activate (or switch to) `notmuch' in its workspace."
+ (interactive)
+ (unless (featurep! :ui workspaces)
+ (user-error ":ui workspaces is required, but disabled"))
+ (condition-case-unless-debug e
+ (progn
+ (+workspace-switch "*MAIL*" t)
+ (if-let* ((buf (cl-find-if (lambda (it) (string-match-p "^\\*notmuch" (buffer-name (window-buffer it))))
+ (doom-visible-windows))))
+ (select-window (get-buffer-window buf))
+ (notmuch-search "tag:inbox"))
+ (+workspace/display))
+ ('error
+ (+notmuch/quit)
+ (signal (car e) (cdr e)))))