From 43456eadbcaa80ff3369cefc18e84cc2739dc8cf Mon Sep 17 00:00:00 2001 From: SqrtMinusOne Date: Fri, 25 Aug 2023 16:04:31 +0300 Subject: [PATCH] feat(mail): add keys for notmuch-jump --- .emacs.d/mail.el | 31 ++++++++++++++++++------------- Mail.org | 18 +++++++++++++----- 2 files changed, 31 insertions(+), 18 deletions(-) diff --git a/.emacs.d/mail.el b/.emacs.d/mail.el index 4a5af17..9f2f9f2 100644 --- a/.emacs.d/mail.el +++ b/.emacs.d/mail.el @@ -54,19 +54,24 @@ notmuch-message-mode 0 "mail") (setq notmuch-saved-searches - '((:name "drafts" :query "tag:draft") - (:name "main (inbox)" :query "tag:main AND tag:inbox") - (:name "main (unread)" :query "tag:main AND tag:unread") - (:name "main (sent)" :query "tag:main AND tag:sent") - (:name "main (all mail)" :query "tag:main") - (:name "progin (inbox)" :query "tag:progin AND tag:inbox") - (:name "progin (unread)" :query "tag:progin AND tag:unread") - (:name "progin (sent)" :query "tag:progin AND tag:sent") - (:name "progin (all mail)" :query "tag:progin") - (:name "pvkorytov (inbox)" :query "tag:pvkorytov AND tag:inbox") - (:name "pvkorytov (unread)" :query "tag:pvkorytov AND tag:unread") - (:name "pvkorytov (sent)" :query "tag:pvkorytov AND tag:sent") - (:name "pvkorytov (all mail)" :query "tag:pvkorytov"))) + '((:name "drafts" :query "tag:draft" :key "d") + (:name "main (inbox)" :query "tag:main AND tag:inbox" :key "mi") + (:name "main (unread)" :query "tag:main AND tag:unread" :key "mu") + (:name "main (sent)" :query "tag:main AND tag:sent" :key "ms") + (:name "main (all mail)" :query "tag:main" :key "ma") + (:name "progin (inbox)" :query "tag:progin AND tag:inbox" :key "pi") + (:name "progin (unread)" :query "tag:progin AND tag:unread" :key "pu") + (:name "progin (sent)" :query "tag:progin AND tag:sent" :key "ps") + (:name "progin (all mail)" :query "tag:progin" :key "pa") + (:name "pvkorytov (inbox)" :query "tag:pvkorytov AND tag:inbox" :key "vi") + (:name "pvkorytov (unread)" :query "tag:pvkorytov AND tag:unread" :key "vu") + (:name "pvkorytov (sent)" :query "tag:pvkorytov AND tag:sent" :key "vs") + (:name "pvkorytov (all mail)" :query "tag:pvkorytov" :key "va"))) + +(general-define-key + :states '(normal visual) + :keymaps '(notmuch-hello-mode-map) + "f" #'notmuch-jump-search) (with-eval-after-load 'notmuch (add-hook 'message-setup-hook 'mml-secure-sign-pgpmime)) diff --git a/Mail.org b/Mail.org index 764ff2d..97b7a97 100644 --- a/Mail.org +++ b/Mail.org @@ -451,9 +451,9 @@ Root keybindings: #+NAME: root_tags | Root tag | Prefix | Keybinding description | |-----------+--------+------------------------| -| main | t | thexcloud@gmail.com | +| main | m | thexcloud@gmail.com | | progin | p | progin6304@gmail.com | -| pvkorytov | e | pvkorytov@etu.ru | +| pvkorytov | v | pvkorytov@etu.ru | #+NAME: filter_tags | Tag | Prefix | Name | @@ -471,22 +471,30 @@ The following formats the tables above to a proper syntax for =setq notmuch-save (dolist (tag filter_tags) (add-to-list 'searches - (format "(:name \"%s\" :query \"%s\")" + (format "(:name \"%s\" :query \"%s\" :key \"%s\")" (format "%s (%s)" (nth 0 root_tag) (nth 2 tag)) (concat "tag:" (nth 0 root_tag) (unless (string-empty-p (nth 0 tag)) - (concat " AND tag:" (nth 0 tag))))) + (concat " AND tag:" (nth 0 tag)))) + (concat (nth 1 root_tag) (nth 1 tag))) t))) (string-join searches "\n")) #+end_src #+begin_src emacs-lisp :noweb yes (setq notmuch-saved-searches - '((:name "drafts" :query "tag:draft") + '((:name "drafts" :query "tag:draft" :key "d") <>)) #+end_src + +#+begin_src emacs-lisp +(general-define-key + :states '(normal visual) + :keymaps '(notmuch-hello-mode-map) + "f" #'notmuch-jump-search) +#+end_src ** Signing messages #+begin_src emacs-lisp (with-eval-after-load 'notmuch