From f77bc903e74740b26d225f8e453a1b66d7b89d7d Mon Sep 17 00:00:00 2001 From: "Dirk-Jan C. Binnema" Date: Sun, 8 Jan 2023 13:31:51 +0200 Subject: [PATCH] mu4e: move modeline handling from mu4e-headers to mu4e-search --- mu4e/mu4e-headers.el | 31 +------------------------------ mu4e/mu4e-obsolete.el | 10 ++++++++++ mu4e/mu4e-search.el | 29 +++++++++++++++++++++++++++++ 3 files changed, 40 insertions(+), 30 deletions(-) diff --git a/mu4e/mu4e-headers.el b/mu4e/mu4e-headers.el index 9383c0f5..b9f6c292 100644 --- a/mu4e/mu4e-headers.el +++ b/mu4e/mu4e-headers.el @@ -236,18 +236,6 @@ Must have the same length as `mu4e-headers-thread-connection-prefix'.") (defvar mu4e-headers-thread-duplicate-prefix '("=" . "≡ ") "Prefix for duplicate messages.") -(defvar mu4e-headers-threaded-label '("T" . "Ⓣ") - "Non-fancy and fancy labels to indicate threaded search in the mode-line.") -(defvar mu4e-headers-full-label '("F" . "Ⓕ") - "Non-fancy and fancy labels to indicate full search in the mode-line.") -(defvar mu4e-headers-related-label '("R" . "Ⓡ") - "Non-fancy and fancy labels to indicate related search in the mode-line.") -(defvar mu4e-headers-skip-duplicates-label '("U" . "Ⓤ") ;; 'U' for 'unique' - "Non-fancy and fancy labels for include-related search in the mode-line.") -(defvar mu4e-headers-hide-label '("H" . "Ⓗ") - "Non-fancy and fancy labels to indicate header-hiding is active in -the mode-line.") - ;;;; Various (defvar mu4e-headers-actions @@ -1181,7 +1169,7 @@ The following specs are supported: (mu4e-search-minor-mode) (hl-line-mode 1) - (mu4e--modeline-register #'mu4e~headers-modeline-item) + (mu4e--modeline-register #'mu4e--search-modeline-item) (mu4e--modeline-update)) ;;; Highlighting @@ -1247,23 +1235,6 @@ message plist, or nil if not found." ;;; Queries & searching -(defvar mu4e~headers-mode-line-label "") -(defun mu4e~headers-modeline-item () - "Update mode-line settings." - (let* ((flagstr - (mapconcat - (lambda (flag-cell) - (if (car flag-cell) - (if mu4e-use-fancy-chars - (cddr flag-cell) (cadr flag-cell) ) "")) - `((,mu4e-search-full . ,mu4e-headers-full-label) - (,mu4e-search-include-related . ,mu4e-headers-related-label) - (,mu4e-search-threads . ,mu4e-headers-threaded-label) - (,mu4e-search-skip-duplicates - . ,mu4e-headers-skip-duplicates-label) - (,mu4e-search-hide-enabled . ,mu4e-headers-hide-label)) - ""))) - (concat flagstr " " mu4e--search-last-query))) ;;; Search-based marking diff --git a/mu4e/mu4e-obsolete.el b/mu4e/mu4e-obsolete.el index 529f3df1..ccee1d81 100644 --- a/mu4e/mu4e-obsolete.el +++ b/mu4e/mu4e-obsolete.el @@ -185,6 +185,16 @@ (define-obsolete-variable-alias 'mu4e-headers-hide-enabled 'mu4e-search-hide-enabled "1.9.11") +(define-obsolete-variable-alias 'mu4e-headers-threaded-label + 'mu4e-search-threaded-label "1.9.12") +(define-obsolete-variable-alias 'mu4e-headers-full-label + 'mu4e-search-full-label "1.9.12") +(define-obsolete-variable-alias 'mu4e-headers-related-label + 'mu4e-search-related-label "1.9.12") +(define-obsolete-variable-alias 'mu4e-headers-skip-duplicates-label + 'mu4e-search-skip-duplicates-label "1.9.12") +(define-obsolete-variable-alias 'mu4e-headers-hide-label + 'mu4e-search-hide-label "1.9.12") ;; mu4e-main diff --git a/mu4e/mu4e-search.el b/mu4e/mu4e-search.el index 9c56c0b1..b6b48105 100644 --- a/mu4e/mu4e-search.el +++ b/mu4e/mu4e-search.el @@ -462,6 +462,35 @@ If KEY is provided, use it instead of asking user." (unless dont-refresh (mu4e-search-rerun))))) +(defvar mu4e-search-threaded-label '("T" . "Ⓣ") + "Non-fancy and fancy labels to indicate threaded search in the mode-line.") +(defvar mu4e-search-full-label '("F" . "Ⓕ") + "Non-fancy and fancy labels to indicate full search in the mode-line.") +(defvar mu4e-search-related-label '("R" . "Ⓡ") + "Non-fancy and fancy labels to indicate related search in the mode-line.") +(defvar mu4e-search-skip-duplicates-label '("U" . "Ⓤ") ;; 'U' for 'unique' + "Non-fancy and fancy labels for include-related search in the mode-line.") +(defvar mu4e-search-hide-label '("H" . "Ⓗ") + "Non-fancy and fancy labels to indicate header-hiding is active in +the mode-line.") + +(defun mu4e--search-modeline-item () + "Get mu4e-search modeline item." + (let* ((flagstr + (mapconcat + (lambda (flag-cell) + (if (car flag-cell) + (if mu4e-use-fancy-chars + (cddr flag-cell) (cadr flag-cell) ) "")) + `((,mu4e-search-full . ,mu4e-search-full-label) + (,mu4e-search-include-related . ,mu4e-search-related-label) + (,mu4e-search-threads . ,mu4e-search-threaded-label) + (,mu4e-search-skip-duplicates + . ,mu4e-search-skip-duplicates-label) + (,mu4e-search-hide-enabled . ,mu4e-search-hide-label)) + ""))) + (concat flagstr " " mu4e--search-last-query))) + (define-minor-mode mu4e-search-minor-mode "Mode for searching for messages." :global nil