* .local/bin/rofi-light: Increase width by one character.
[~bandali/configs] / .emacs.d / lisp / bandali-message.el
index c13bffc..6a3d2b9 100644 (file)
@@ -1,6 +1,6 @@
 ;;; bandali-message.el --- bandali's message.el setup  -*- lexical-binding: t; -*-
 
-;; Copyright (C) 2018-2020  Amin Bandali
+;; Copyright (C) 2018-2022  Amin Bandali
 
 ;; Author: Amin Bandali <bandali@gnu.org>
 ;; Keywords: mail, news
            (concat "Hi %F,\n\n" b/message-cite-style-format)
          b/message-cite-style-format)))
     "Citation style based on Mozilla Thunderbird's. Use with message-cite-style.")
-  (csetq
+  (setq
    message-elide-ellipsis "[...]\n"
    ;; message-cite-style 'message-cite-style-bandali
    message-citation-line-format "%N writes:\n"
    message-citation-line-function 'message-insert-formatted-citation-line
+   message-confirm-send t
    message-kill-buffer-on-exit t
-   message-send-mail-function 'message-send-mail-with-sendmail
-   message-sendmail-envelope-from 'header
+   message-send-mail-function #'smtpmail-send-it
    message-subscribed-address-functions
    '(gnus-find-subscribed-addresses)
    message-dont-reply-to-names
-   "\\(\\(amin@shemshak\\.org\\)\\|\\(.*@aminb\\.org\\)\\|\\(\\(bandali\\|mab\\|aminb?\\)@gnu\\.org\\)\\|bandali@fsf\\.org\\|\\(a?bandali@\\(csclub\\.\\)?uwaterloo\\.ca\\)\\|amin\\.bandali@savoirfairelinux\\.com\\)")
-  ;; (require 'company-ebdb)
+   "\\(\\(bandali@kelar\\.org\\)\\|\\(amin@shemshak\\.org\\)\\|\\(\\(bandali\\|mab\\|aminb?\\)@gnu\\.org\\)\\|\\(a?bandali@\\(csclub\\.\\)?uwaterloo\\.ca\\)\\|amin\\.bandali@savoirfairelinux\\.com\\)")
   ;; (custom-set-faces
   ;;  '(message-header-subject
   ;;    ((t (:foreground "#111" :weight semi-bold))))
   ;;    ((t (:foreground "#333" :weight normal))))
 
   ;; footnote
-  (with-eval-after-load 'footnote
-    ;; (csetq footnote-start-tag ""
-    ;;        footnote-end-tag   ""
-    ;;        footnote-style     'unicode)
-    (when (featurep 'which-key)
-      (which-key-add-major-mode-key-based-replacements 'message-mode
-        "C-c f n" "footnote")))
-
-  ;; orgalist
-  (add-hook 'message-mode-hook
-            (lambda ()
-              ;; work around incompatibility between
-              ;; orgalist and yasnippet
-              (yas-minor-mode -1)
-              (orgalist-mode 1)
-              (yas-minor-mode 1)))
+  ;; (with-eval-after-load 'footnote
+  ;;   (setq footnote-start-tag ""
+  ;;         footnote-end-tag   ""
+  ;;         footnote-style     'unicode))
+
+  ;; custom newline & reformat function
+  (defun b/message-newline-or-asterism (arg)
+    "Create newlines per my liking or insert asterism if ARG is
+non-nil."
+    (interactive "P")
+    (if arg
+        (b/insert-asterism)
+      (progn
+        (beginning-of-line)
+        (delete-region (point) (line-end-position))
+        (newline)
+        (open-line 1))))
+  (define-key message-mode-map
+    (kbd "M-RET") #'b/message-newline-or-asterism)
 
   ;; local key bindings
+  (define-key message-mode-map
+    [remap next-line] #'mail-abbrev-next-line)
+  (define-key message-mode-map
+    [remap end-of-buffer] #'mail-abbrev-end-of-buffer)
   (defvar b/footnote-prefix-map)
   (define-prefix-command 'b/footnote-prefix-map)
   (define-key message-mode-map (kbd "C-c f n")
 (add-hook 'message-mode-hook #'flyspell-mode)
 (add-hook 'message-mode-hook
           (lambda ()
-            ;; (setq-local fill-column b/fill-column
-            ;;             message-fill-column b/fill-column)
-            (eval-when-compile (defvar company-idle-delay))
-            (make-local-variable 'company-idle-delay)
-            (setq company-idle-delay 0.2)))
-
-;; (with-eval-after-load 'message-x
-;;   (csetq
-;;    message-x-completion-alist
-;;    '(("\\([rR]esent-\\|[rR]eply-\\)?[tT]o:\\|[bB]?[cC][cC]:"
-;;       . gnus-harvest-find-address)
-;;      ((if
-;;           (boundp
-;;            (quote message-newgroups-header-regexp))
-;;           message-newgroups-header-regexp message-newsgroups-header-regexp)
-;;       . message-expand-group))))
-
-;; (require 'gnus-harvest)
-;; (if (featurep 'message-x)
-;;     (gnus-harvest-install 'message-x)
-;;   (gnus-harvest-install))
+            (local-unset-key (kbd "C-c C-s"))))
 
 (provide 'bandali-message)
 ;;; bandali-message.el ends here