mirror of https://github.com/djcb/mu.git
parent
c01ea37abf
commit
ada6ff6260
|
@ -868,8 +868,11 @@ after the end of the search results."
|
|||
mu4e--search-msgid-target nil)
|
||||
(when (mu4e~headers-docid-at-point)
|
||||
(mu4e~headers-highlight (mu4e~headers-docid-at-point)))))
|
||||
;; run-hooks
|
||||
(run-hooks 'mu4e-headers-found-hook))
|
||||
;; maybe enable thread folding
|
||||
(when mu4e-search-threads
|
||||
(mu4e-thread-mode))
|
||||
;; run-hooks
|
||||
(run-hooks 'mu4e-headers-found-hook))
|
||||
|
||||
|
||||
;;; Marking
|
||||
|
@ -932,12 +935,6 @@ after the end of the search results."
|
|||
(define-key map (kbd "<C-kp-subtract>")
|
||||
#'mu4e-headers-split-view-shrink)
|
||||
|
||||
;; threads
|
||||
(define-key map (kbd "<S-left>") #'mu4e-thread-goto-root)
|
||||
(define-key map (kbd "<tab>") #'mu4e-thread-fold-toggle-goto-next)
|
||||
(define-key map (kbd "<C-tab>") #'mu4e-thread-fold-toggle-goto-next)
|
||||
(define-key map (kbd "<backtab>") #'mu4e-thread-fold-toggle-all)
|
||||
|
||||
;; switching to view mode (if it's visible)
|
||||
(define-key map "y" #'mu4e-select-other-view)
|
||||
|
||||
|
|
|
@ -32,10 +32,14 @@
|
|||
;; Similarly, when a thread has marked messages, the folding stops at the first
|
||||
;; marked message.
|
||||
|
||||
;; Note, you can only use these functions when threads are available, roughly
|
||||
;; when `mu4e-search-threads' in non-nil.
|
||||
|
||||
;;; Usage example:
|
||||
;;
|
||||
;; This enforces folding after a new search
|
||||
;; (add-hook 'mu4e-headers-found-hook #'mu4e-thread-fold-apply-all)
|
||||
;; After a search, mu4e-thread-mode will be enable when threads
|
||||
;; are available; so, to automatically sort them:
|
||||
;; (add-hook 'mu4e-thread-mode-hook #'mu4e-thread-fold-apply-all)
|
||||
|
||||
;;; Code:
|
||||
|
||||
|
@ -273,5 +277,19 @@ Reset individual folding states."
|
|||
(mu4e-thread-unfold)
|
||||
(mu4e-thread-goto-next)))
|
||||
|
||||
(define-minor-mode mu4e-thread-mode
|
||||
"Mode for thread-support."
|
||||
:global nil
|
||||
:init-value nil ;; disabled by default
|
||||
:group 'mu4e
|
||||
:lighter ""
|
||||
:keymap
|
||||
(let ((map (make-sparse-keymap)))
|
||||
(define-key map (kbd "<S-left>") #'mu4e-thread-goto-root)
|
||||
(define-key map (kbd "<tab>") #'mu4e-thread-fold-toggle-goto-next)
|
||||
(define-key map (kbd "<C-tab>") #'mu4e-thread-fold-toggle-goto-next)
|
||||
(define-key map (kbd "<backtab>") #'mu4e-thread-fold-toggle-all)
|
||||
map))
|
||||
|
||||
(provide 'mu4e-thread)
|
||||
;;; mu4e-thread.el ends here
|
||||
|
|
|
@ -1118,15 +1118,19 @@ Folding stops at the @emph{first unread message}, unless you set
|
|||
the folding stops at the first marked message. Marking folded messages is not
|
||||
allowed as it is too error-prone.
|
||||
|
||||
Thread-mode functionality is only available with @code{mu4e-search-threads}
|
||||
enabled; this triggers a minor mode @code{mu4e-thread-mode} in the headers-view.
|
||||
For now, this functionality is not available in the message view, due to the
|
||||
conflicting key bindings.
|
||||
|
||||
If you want to automatically fold all threads after a query, you can use a hook:
|
||||
@lisp
|
||||
(add-hook 'mu4e-headers-found-hook #'mu4e-thread-fold-apply-all)
|
||||
(add-hook 'mu4e-thread-mode-hook #'mu4e-thread-fold-apply-all)
|
||||
@end lisp
|
||||
|
||||
By default, single-child threads are @emph{not} collapsed, since it would simply
|
||||
result in replacing a single line with the collapsed one. However, if, for
|
||||
consistency you also want to fold those, you can use
|
||||
@t{mu4e-thread-fold-single-children}.
|
||||
By default, single-child threads are @emph{not} collapsed, since it would result
|
||||
in replacing a single line with the collapsed one. However, if, for consistency,
|
||||
you also want to fold those, you can use @t{mu4e-thread-fold-single-children}.
|
||||
|
||||
@node HV Custom headers
|
||||
@section Custom headers
|
||||
|
|
Loading…
Reference in New Issue