unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
* [PATCH] emacs: use new face for notmuch-jump and related
@ 2021-05-21 16:55 Protesilaos Stavrou
  2021-05-25 19:41 ` Tomi Ollila
  0 siblings, 1 reply; 3+ messages in thread
From: Protesilaos Stavrou @ 2021-05-21 16:55 UTC (permalink / raw)
  To: notmuch

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.
---
 NEWS                  | 4 ++++
 emacs/notmuch-jump.el | 9 +++++++--
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/NEWS b/NEWS
index c0ae6afe..83e42b44 100644
--- a/NEWS
+++ b/NEWS
@@ -29,6 +29,10 @@ Emacs
 Restore the dynamically bound variables `tag-changes` and `query` in
 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)
 =========================
 
diff --git a/emacs/notmuch-jump.el b/emacs/notmuch-jump.el
index 6fab5a79..e228c8a2 100644
--- a/emacs/notmuch-jump.el
+++ b/emacs/notmuch-jump.el
@@ -62,6 +62,11 @@ (defun notmuch-jump-search ()
       (error "To use notmuch-jump, %s"
 	     "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)
 
 ;;;###autoload
@@ -88,7 +93,7 @@ (defun notmuch-jump (action-map prompt)
 	    (buffer-string)))
 	 (full-prompt
 	  (concat table "\n\n"
-		  (propertize prompt 'face 'minibuffer-prompt)))
+		  (propertize prompt 'face 'notmuch-jump-key)))
 	 ;; By default, the minibuffer applies the minibuffer face to
 	 ;; the entire prompt.  However, we want to clearly
 	 ;; distinguish bindings (which we put in the prompt face
@@ -123,7 +128,7 @@ (defun notmuch-jump--format-actions (action-map)
     ;; Format each action
     (mapcar (pcase-lambda (`(,key ,desc))
 	      (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)) ? )
 		      " " desc))
 	    action-map)))
-- 
2.31.1



-- 
Protesilaos Stavrou
https://protesilaos.com

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] emacs: use new face for notmuch-jump and related
  2021-05-21 16:55 [PATCH] emacs: use new face for notmuch-jump and related Protesilaos Stavrou
@ 2021-05-25 19:41 ` Tomi Ollila
  2021-05-25 19:53   ` Protesilaos Stavrou
  0 siblings, 1 reply; 3+ messages in thread
From: Tomi Ollila @ 2021-05-25 19:41 UTC (permalink / raw)
  To: Protesilaos Stavrou, notmuch

On Fri, May 21 2021, Protesilaos Stavrou wrote:

> 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 looks like a good change. How does one test this
and see the difference?

Tomi

> ---
>  NEWS                  | 4 ++++
>  emacs/notmuch-jump.el | 9 +++++++--
>  2 files changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/NEWS b/NEWS
> index c0ae6afe..83e42b44 100644
> --- a/NEWS
> +++ b/NEWS
> @@ -29,6 +29,10 @@ Emacs
>  Restore the dynamically bound variables `tag-changes` and `query` in
>  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)
>  =========================
>  
> diff --git a/emacs/notmuch-jump.el b/emacs/notmuch-jump.el
> index 6fab5a79..e228c8a2 100644
> --- a/emacs/notmuch-jump.el
> +++ b/emacs/notmuch-jump.el
> @@ -62,6 +62,11 @@ (defun notmuch-jump-search ()
>        (error "To use notmuch-jump, %s"
>  	     "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)
>  
>  ;;;###autoload
> @@ -88,7 +93,7 @@ (defun notmuch-jump (action-map prompt)
>  	    (buffer-string)))
>  	 (full-prompt
>  	  (concat table "\n\n"
> -		  (propertize prompt 'face 'minibuffer-prompt)))
> +		  (propertize prompt 'face 'notmuch-jump-key)))
>  	 ;; By default, the minibuffer applies the minibuffer face to
>  	 ;; the entire prompt.  However, we want to clearly
>  	 ;; distinguish bindings (which we put in the prompt face
> @@ -123,7 +128,7 @@ (defun notmuch-jump--format-actions (action-map)
>      ;; Format each action
>      (mapcar (pcase-lambda (`(,key ,desc))
>  	      (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)) ? )
>  		      " " desc))
>  	    action-map)))
> -- 
> 2.31.1
>
>
>
> -- 
> Protesilaos Stavrou
> https://protesilaos.com
> _______________________________________________
> notmuch mailing list -- notmuch@notmuchmail.org
> To unsubscribe send an email to notmuch-leave@notmuchmail.org

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] emacs: use new face for notmuch-jump and related
  2021-05-25 19:41 ` Tomi Ollila
@ 2021-05-25 19:53   ` Protesilaos Stavrou
  0 siblings, 0 replies; 3+ messages in thread
From: Protesilaos Stavrou @ 2021-05-25 19:53 UTC (permalink / raw)
  To: Tomi Ollila; +Cc: notmuch

On 2021-05-25, 22:41 +0300, Tomi Ollila <tomi.ollila@iki.fi> wrote:

> On Fri, May 21 2021, Protesilaos Stavrou wrote:
>
>> 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 looks like a good change. How does one test this
> and see the difference?
>
> Tomi

Hello Tomi!

By default there will be no visual difference with how it was before.
Just so that we do not upset existing users.

Something like this can be used to change the new face (for demo
purposes):

(set-face-attribute 'notmuch-jump-key nil :background "blue" :foreground "white" :weight 'bold)

All the best,
Prot


-- 
Protesilaos Stavrou
https://protesilaos.com

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-05-25 20:01 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-21 16:55 [PATCH] emacs: use new face for notmuch-jump and related Protesilaos Stavrou
2021-05-25 19:41 ` Tomi Ollila
2021-05-25 19:53   ` Protesilaos Stavrou

unofficial mirror of notmuch@notmuchmail.org

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://yhetil.org/notmuch/0 notmuch/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 notmuch notmuch/ https://yhetil.org/notmuch \
		notmuch@notmuchmail.org
	public-inbox-index notmuch

Example config snippet for mirrors.
Newsgroups are available over NNTP:
	nntp://news.yhetil.org/yhetil.mail.notmuch.general
	nntp://news.gmane.io/gmane.mail.notmuch.general


code repositories for project(s) associated with this inbox:

	notmuch.git.git (no URL configured)

AGPL code for this site: git clone http://ou63pmih66umazou.onion/public-inbox.git