aboutsummaryrefslogtreecommitdiffstats
path: root/packages/packages-email.el
diff options
context:
space:
mode:
authorverdant <i@glowisle.me>2026-05-02 00:17:22 +0800
committerverdant <i@glowisle.me>2026-05-02 00:17:22 +0800
commit2fb72671c096779830912dbe84ba704ce695d879 (patch)
tree39f6016e277f35e674c50f51ed6c819eeefeb2aa /packages/packages-email.el
parent6c38d42f1a17fee4d9ead9d146e88620cf780ec7 (diff)
downloadvemacs-2fb72671c096779830912dbe84ba704ce695d879.tar.gz
vemacs-2fb72671c096779830912dbe84ba704ce695d879.zip
refactor: migrate configuration to a single org-mode file
Diffstat (limited to 'packages/packages-email.el')
-rw-r--r--packages/packages-email.el153
1 files changed, 0 insertions, 153 deletions
diff --git a/packages/packages-email.el b/packages/packages-email.el
deleted file mode 100644
index a519c42..0000000
--- a/packages/packages-email.el
+++ /dev/null
@@ -1,153 +0,0 @@
-;; -*- lexical-binding: t; -*-
-
-(require 'smtpmail)
-
-(add-to-list 'load-path "/usr/share/emacs/site-lisp/elpa-src/mu4e-1.8.14")
-
-(setq gnutls-algorithm-priority "NORMAL:%COMPAT")
-
-(defun mu4e-goodies~break-cjk-word (word)
- "Break CJK word into list of bi-grams like: 我爱你 -> 我爱 爱你"
- (if (or (<= (length word) 2)
- (equal (length word) (string-bytes word)))
- word
- (let ((pos nil)
- (char-list nil)
- (br-word nil))
- (if (setq pos (string-match ":" word))
- (concat (substring word 0 (+ 1 pos))
- (mu4e-goodies~break-cjk-word (substring word (+ 1 pos))))
- (if (memq 'ascii (find-charset-string word))
- word
- (progn
- (setq char-list (split-string word "" t))
- (while (cdr char-list)
- (setq br-word (concat br-word (concat (car char-list) (cadr char-list)) " "))
- (setq char-list (cdr char-list)))
- br-word))))))
-
-(defun mu4e-goodies~break-cjk-query (expr)
- "Break CJK strings into bi-grams in query."
- (let ((word-list (split-string expr " " t))
- (new ""))
- (dolist (word word-list new)
- (setq new (concat new (mu4e-goodies~break-cjk-word word) " ")))))
-
-(setq mu4e-query-rewrite-function 'mu4e-goodies~break-cjk-query)
-
-(use-package mu4e
- :ensure nil
- :if (executable-find "mu")
- :commands (mu4e)
- :bind (:map mu4e-view-mode-map
- ("9" . scroll-down-command)
- ("0" . scroll-up-command)
- :map mu4e-search-minor-mode-map
- ("/" . mu4e-search-maildir)
- :map mu4e-main-mode-map
- ("g" . mu4e-update-mail-and-index)
- :map mu4e-headers-mode-map
- ("<backspace>" . scroll-down-command)
- ("j" . mu4e-headers-next)
- ("k" . mu4e-headers-prev)
- ("r" . mu4e-headers-mark-for-read)
- ("!" . mu4e-headers-flag-all-read)
- ("f" . mu4e-headers-mark-for-flag))
-
- :custom
- (mu4e-headers-fields '((:human-date . 12)
- (:flags . 6)
- (:from-or-to . 22)
- (:thread-subject . nil)))
- (mu4e-view-fields '(:from :to :cc :bcc :subject :flags
- :date :maildir :mailing-list :tags))
- (mu4e-modeline-show-global nil)
- (mu4e-hide-index-messages t)
-
- :init
- (setq user-mail-address "im@verdant.ee"
- user-full-name "Verdant"
- mu4e-debug t)
-
- (setq message-send-mail-function 'sendmail-send-it
- sendmail-program "/usr/bin/msmtp"
- mail-specify-envelope-from t
- mail-envelope-from 'header)
-
- (setq message-citation-line-format "\nOn %a, %b %d, %Y at %r %z, %N wrote:\n"
- message-citation-line-function 'message-insert-formatted-citation-line
- mm-discouraged-alternatives '("text/html" "text/richtext")
- gnus-article-time-format "%a, %Y-%m-%d %T %z"
- gnus-article-date-headers '(user-defined original))
-
- :config
- (require 'mu4e-contrib)
-
- (setq mail-user-agent 'mu4e-user-agent)
-
- (setq mu4e-contexts
- (list
- (make-mu4e-context
- :name "Verdant"
- :match-func (lambda (msg)
- (when msg
- (string-prefix-p "/ljc" (mu4e-message-field msg :maildir))))
- :vars '((mu4e-sent-folder . "/Verdant/Sent")
- (mu4e-trash-folder . "/Verdant/Trash")
- (mu4e-refile-folder . "/Verdant/Archive")
- (mu4e-drafts-folder . "/Verdant/Drafts")
- (user-mail-address . "im@verdant.ee")))))
-
- (setq mu4e-compose-complete-only-personal t
- mu4e-view-show-addresses t
- mu4e-view-show-images nil
- mu4e-attachment-dir "~/Downloads"
- mu4e-sent-messages-behavior 'sent
- mu4e-context-policy 'pick-first
- mu4e-compose-context-policy 'ask-if-none
- mu4e-compose-dont-reply-to-self t
- mu4e-confirm-quit nil
- mu4e-headers-date-format "%+4Y-%m-%d"
- mu4e-view-html-plaintext-ratio-heuristic most-positive-fixnum
- mu4e-update-interval (* 30 60)
- mu4e-get-mail-command "true"
- mu4e-compose-format-flowed t
- mu4e-completing-read-function 'ido-completing-read)
-
- (setq mu4e-bookmarks '((:name "All Inbox"
- :query "maildir:/Verdant/INBOX"
- :key ?i)
- (:name "Unread messages"
- :query "flag:unread AND NOT flag:trashed"
- :key ?u)
- (:name "Today's messages"
- :query "date:today..now AND NOT flag:trashed"
- :key ?t)
- (:name "Last 7 days"
- :query "date:7d..now AND NOT flag:trashed"
- :hide-unread t
- :key ?w)
- (:name "Flagged"
- :query "flag:flagged"
- :key ?f)
- (:name "Sent"
- :query "maildir:/Verdant/Sent"
- :key ?s)))
-
- (add-to-list 'mu4e-view-actions '("browser" . mu4e-action-view-in-browser) t)
-
- (defun my/mu4e-pre-update-hook ()
- (let ((inhibit-message t))
- (message "Update and index mu4e at %s" (format-time-string "%D %-I:%M %p"))))
-
- (defun my/mu4e-stop-update-task ()
- (interactive)
- (when mu4e--update-timer
- (cancel-timer mu4e--update-timer)
- (setq mu4e--update-timer nil)))
-
- (setq mu4e-update-pre-hook 'my/mu4e-pre-update-hook)
-
- (add-to-list 'mu4e-view-fields :bcc))
-
-(provide 'packages-email)