From e2947f181dcd6f993975e977e1d2034ad44df4d5 Mon Sep 17 00:00:00 2001 From: "Dirk-Jan C. Binnema" Date: Mon, 24 Apr 2023 21:36:24 +0300 Subject: [PATCH] mu4e: add thread support to message-view No keybindings yet, since TAB etc. conflict. --- mu4e/mu4e-headers.el | 1 + mu4e/mu4e-view.el | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/mu4e/mu4e-headers.el b/mu4e/mu4e-headers.el index 30bca60a..3c75b63a 100644 --- a/mu4e/mu4e-headers.el +++ b/mu4e/mu4e-headers.el @@ -935,6 +935,7 @@ after the end of the search results." ;; threads (define-key map (kbd "") #'mu4e-thread-goto-root) (define-key map (kbd "") #'mu4e-thread-fold-toggle-goto-next) + (define-key map (kbd "") #'mu4e-thread-fold-toggle-goto-next) (define-key map (kbd "") #'mu4e-thread-fold-toggle-all) ;; switching to view mode (if it's visible) diff --git a/mu4e/mu4e-view.el b/mu4e/mu4e-view.el index 13627b46..47323d31 100644 --- a/mu4e/mu4e-view.el +++ b/mu4e/mu4e-view.el @@ -229,6 +229,21 @@ If this succeeds, return the new docid. Otherwise, return nil." (interactive) (mu4e--view-prev-or-next #'mu4e~headers-prev-or-next-thread nil)) +(defun mu4e-view-thread-goto-root () + "Move to thread root." + (interactive) + (mu4e--view-in-headers-context (mu4e-thread-goto-root))) + +(defun mu4e-view-thread-fold-toggle-goto-next () + "Toggle threading or go to next." + (interactive) + (mu4e--view-in-headers-context (mu4e-thread-fold-toggle-goto-next))) + +(defun mu4e-view-thread-fold-toggle-all () + "Toggle all threads." + (interactive) + (mu4e--view-in-headers-context (mu4e-thread-fold-toggle-all))) + ;;; Interactive functions (defun mu4e-view-action (&optional msg) @@ -931,6 +946,14 @@ This is useful for advising some Gnus-functionality that does not work in mu4e." (define-key map (kbd "{") #'mu4e-view-headers-prev-thread) (define-key map (kbd "}") #'mu4e-view-headers-next-thread) + ;; ;; threads + ;; TODO: find some binding that don't conflict + ;; (define-key map (kbd "") #'mu4e-view-thread-goto-root) + ;; ;; is taken already + ;; (define-key map (kbd "") #'mu4e-view-thread-fold-toggle-goto-next) + ;; (define-key map (kbd "") #'mu4e-view-thread-fold-toggle-all) + + ;; switching from view <-> headers (when visible) (define-key map "y" #'mu4e-select-other-view)