From ace31d7916316057ad8fe77c2df418139f2d6fef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Benencia?= Date: Sun, 27 Oct 2024 17:10:24 -0700 Subject: emacs: mv vterm.el to package rul-terminals --- .emacs.d/init.el | 2 +- .emacs.d/rul-emacs.org | 2 +- .emacs.d/rul-init.d/notmuch.el | 136 ---------------------------- .emacs.d/rul-init.d/vterm.el | 5 - .emacs.d/rul-lisp/packages/rul-terminals.el | 7 ++ 5 files changed, 9 insertions(+), 143 deletions(-) delete mode 100644 .emacs.d/rul-init.d/notmuch.el delete mode 100644 .emacs.d/rul-init.d/vterm.el create mode 100644 .emacs.d/rul-lisp/packages/rul-terminals.el diff --git a/.emacs.d/init.el b/.emacs.d/init.el index f4aaa45..8777fb8 100644 --- a/.emacs.d/init.el +++ b/.emacs.d/init.el @@ -69,6 +69,7 @@ (require 'rul-modeline) (require 'rul-media) (require 'rul-org) +(require 'rul-terminals) (require 'rul-wm) (require 'rul-write) @@ -76,7 +77,6 @@ (load-file "~/.emacs.d/rul-init.d/ibuffer.el") (load-file "~/.emacs.d/rul-init.d/imenu.el") (load-file "~/.emacs.d/rul-init.d/magit.el") -(load-file "~/.emacs.d/rul-init.d/vterm.el") (load-file "~/.emacs.d/rul-init.d/which-key.el") (when-let* ((file (locate-user-emacs-file "rul-post-init.el")) diff --git a/.emacs.d/rul-emacs.org b/.emacs.d/rul-emacs.org index 186aace..da25d24 100644 --- a/.emacs.d/rul-emacs.org +++ b/.emacs.d/rul-emacs.org @@ -185,6 +185,7 @@ Now, I simply start it from Emacs itself. This approach works well for me. (require 'rul-modeline) (require 'rul-media) (require 'rul-org) +(require 'rul-terminals) (require 'rul-wm) (require 'rul-write) @@ -192,7 +193,6 @@ Now, I simply start it from Emacs itself. This approach works well for me. (load-file "~/.emacs.d/rul-init.d/ibuffer.el") (load-file "~/.emacs.d/rul-init.d/imenu.el") (load-file "~/.emacs.d/rul-init.d/magit.el") -(load-file "~/.emacs.d/rul-init.d/vterm.el") (load-file "~/.emacs.d/rul-init.d/which-key.el") (when-let* ((file (locate-user-emacs-file "rul-post-init.el")) diff --git a/.emacs.d/rul-init.d/notmuch.el b/.emacs.d/rul-init.d/notmuch.el deleted file mode 100644 index e8e4d9d..0000000 --- a/.emacs.d/rul-init.d/notmuch.el +++ /dev/null @@ -1,136 +0,0 @@ -;; -------- -;; notmuch mode -;; -------- -(require 'rul-config-mail) -(use-package notmuch -:ensure t -:config -;;;; General UI -(setq notmuch-show-logo nil - notmuch-column-control 1.0 - notmuch-hello-auto-refresh t - notmuch-hello-recent-searches-max 20 - notmuch-hello-thousands-separator "" - notmuch-show-all-tags-list t) - -;; Keymaps -(defun rul/capture-mail() - "Capture mail to org mode." - (interactive) - (org-store-link nil) - (org-capture nil "m") - ) - -(bind-key "c" 'rul/capture-mail notmuch-show-mode-map) - -(define-key notmuch-show-mode-map "R" 'notmuch-show-reply) -(define-key notmuch-search-mode-map "R" 'notmuch-search-reply-to-thread) - -; Spam -(define-key notmuch-show-mode-map "S" - (lambda () - "mark message as spam" - (interactive) - (notmuch-show-tag (list "+spam" "-inbox" "-unread")))) - -(define-key notmuch-search-mode-map "S" - (lambda (&optional beg end) - "mark thread as spam" - (interactive (notmuch-search-interactive-region)) - (notmuch-search-tag (list "+spam" "-inbox" "-unread") beg end))) - -; Archive -(setq notmuch-archive-tags (list "-inbox" "+archive")) -(define-key notmuch-show-mode-map "A" - (lambda () - "archive" - (interactive) - (notmuch-show-tag (list "+archive" "-inbox" "-unread")) - (notmuch-refresh-this-buffer))) - -(define-key notmuch-search-mode-map "A" - (lambda (&optional beg end) - "archive thread" - (interactive (notmuch-search-interactive-region)) - (notmuch-search-tag (list "+archive" "-inbox" "-unread") beg end) - (notmuch-refresh-this-buffer))) - -; Mark as read -(define-key notmuch-search-mode-map "r" - (lambda (&optional beg end) - "mark thread as read" - (interactive (notmuch-search-interactive-region)) - (notmuch-search-tag (list "-unread") beg end) - (notmuch-search-next-thread))) - -(define-key notmuch-search-mode-map (kbd "RET") - (lambda () - "Show the selected thread with notmuch-tree if it has more -than one email. Use notmuch-show otherwise." - (interactive) - (if (= (plist-get (notmuch-search-get-result) :total) 1) - (notmuch-search-show-thread) - (notmuch-tree (notmuch-search-find-thread-id) - notmuch-search-query-string - nil - (notmuch-prettify-subject (notmuch-search-find-subject)))))) - -(defun color-inbox-if-unread () (interactive) - (save-excursion - (goto-char (point-min)) - (let ((cnt (car (process-lines "notmuch" "count" "tag:inbox and tag:unread")))) - (when (> (string-to-number cnt) 0) - (save-excursion - (when (search-forward "inbox" (point-max) t) - (let* ((overlays (overlays-in (match-beginning 0) (match-end 0))) - (overlay (car overlays))) - (when overlay - (overlay-put overlay 'face '((:inherit bold) (:foreground "green"))))))))))) - -(defvar notmuch-hello-refresh-count 0) -(defun notmuch-hello-refresh-status-message () - (let* ((new-count - (string-to-number - (car (process-lines notmuch-command "count")))) - (diff-count (- new-count notmuch-hello-refresh-count))) - (cond - ((= notmuch-hello-refresh-count 0) - (message "You have %s messages." - (notmuch-hello-nice-number new-count))) - ((> diff-count 0) - (message "You have %s more messages since last refresh." - (notmuch-hello-nice-number diff-count))) - ((< diff-count 0) - (message "You have %s fewer messages since last refresh." - (notmuch-hello-nice-number (- diff-count))))) - (setq notmuch-hello-refresh-count new-count))) - -(add-hook 'notmuch-hello-refresh-hook 'color-inbox-if-unread) -(add-hook 'notmuch-hello-refresh-hook 'notmuch-hello-refresh-status-message) - -(setq notmuch-hello-sections '(notmuch-hello-insert-saved-searches - notmuch-hello-insert-search - notmuch-hello-insert-recent-searches - notmuch-hello-insert-alltags - )) - -;; https://git.sr.ht/~tslil/dotfiles/tree/4e51afbb/emacs/notmuch-config.el#L76-82 -(defmacro make-binds (mode-map binds argfunc &rest body) - "Create keybindings in `mode-map' using a list of (keystr . arg) -pairs in `binds' of the form ( ... (argfunc arg) body)." - `(progn ,@(mapcar (lambda (pair) - `(define-key ,mode-map (kbd ,(car pair)) - (lambda () (interactive) (,argfunc ,(cdr pair)) ,@body))) - (eval binds)))) - -(defvar notmuch-hello-tree-searches '(("u" . "tag:unread") - ("i" . "tag:inbox") - ("*" . "*")) - "List of (key . query) pairs to bind in notmuch-hello.") - -(make-binds notmuch-hello-mode-map - notmuch-hello-tree-searches - notmuch-search) -) - -(use-package notmuch-indicator :ensure t) diff --git a/.emacs.d/rul-init.d/vterm.el b/.emacs.d/rul-init.d/vterm.el deleted file mode 100644 index 5116bf0..0000000 --- a/.emacs.d/rul-init.d/vterm.el +++ /dev/null @@ -1,5 +0,0 @@ -(use-package multi-vterm - :ensure t - :config - (setq vterm-max-scrollback 100000) - (add-hook 'vterm-mode-hook 'goto-address-mode)) diff --git a/.emacs.d/rul-lisp/packages/rul-terminals.el b/.emacs.d/rul-lisp/packages/rul-terminals.el new file mode 100644 index 0000000..95dcbe9 --- /dev/null +++ b/.emacs.d/rul-lisp/packages/rul-terminals.el @@ -0,0 +1,7 @@ +(use-package multi-vterm + :ensure t + :config + (setq vterm-max-scrollback 100000) + (add-hook 'vterm-mode-hook 'goto-address-mode)) + +(provide 'rul-terminals) -- cgit v1.2.3