emacs: use new face for notmuch-jump and related

The minibuffer-prompt face that was used before made it impossible to
differentiate between two distinct UI elements: (i) the prompt's text
which itself cannot be acted upon, (ii) the actionable keys used to
jump to searches/tags.

The use of a named face, notmuch-jump-key, makes it possible for users
or theme developers to apply properties that are specific to each of
those two cases.

In the interest of backward compatibility, the new face inherits from
minibuffer-prompt.
This commit is contained in:
Protesilaos Stavrou 2021-05-21 19:55:31 +03:00 committed by David Bremner
parent d21e72c9f9
commit 5cc106b0e3
2 changed files with 11 additions and 2 deletions

4
NEWS
View file

@ -68,6 +68,10 @@ Emacs
Restore the dynamically bound variables `tag-changes` and `query` in Restore the dynamically bound variables `tag-changes` and `query` in
in `notmuch-before-tag-hook` and `notmuch-after-tag-hook`. in `notmuch-before-tag-hook` and `notmuch-after-tag-hook`.
Add `notmuch-jump-key` face to fontify keys in `notmuch-jump` and
related functions. To ensure backward compatibility, the new face
inherits from `minibuffer-prompt`.
Notmuch 0.32 (2021-05-02) Notmuch 0.32 (2021-05-02)
========================= =========================

View file

@ -62,6 +62,11 @@ fast way to jump to a saved search from anywhere in Notmuch."
(error "To use notmuch-jump, %s" (error "To use notmuch-jump, %s"
"please customize shortcut keys in notmuch-saved-searches.")))) "please customize shortcut keys in notmuch-saved-searches."))))
(defface notmuch-jump-key
'((t :inherit minibuffer-prompt))
"Default face used for keys in `notmuch-jump' and related."
:group 'notmuch-faces)
(defvar notmuch-jump--action nil) (defvar notmuch-jump--action nil)
;;;###autoload ;;;###autoload
@ -88,7 +93,7 @@ not appear in the pop-up buffer."
(buffer-string))) (buffer-string)))
(full-prompt (full-prompt
(concat table "\n\n" (concat table "\n\n"
(propertize prompt 'face 'minibuffer-prompt))) (propertize prompt 'face 'notmuch-jump-key)))
;; By default, the minibuffer applies the minibuffer face to ;; By default, the minibuffer applies the minibuffer face to
;; the entire prompt. However, we want to clearly ;; the entire prompt. However, we want to clearly
;; distinguish bindings (which we put in the prompt face ;; distinguish bindings (which we put in the prompt face
@ -123,7 +128,7 @@ buffer."
;; Format each action ;; Format each action
(mapcar (pcase-lambda (`(,key ,desc)) (mapcar (pcase-lambda (`(,key ,desc))
(setq key (format-kbd-macro key)) (setq key (format-kbd-macro key))
(concat (propertize key 'face 'minibuffer-prompt) (concat (propertize key 'face 'notmuch-jump-key)
(make-string (- key-width (length key)) ? ) (make-string (- key-width (length key)) ? )
" " desc)) " " desc))
action-map))) action-map)))