[PATCH] emacs: Fix display of highlighted line in notmuch-show

classic Classic list List threaded Threaded
9 messages Options
Michal Sojka-2 Michal Sojka-2
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

[PATCH] emacs: Fix display of highlighted line in notmuch-show

When notmuch-search-line-faces is used to set background color in search
results, the highlight of the current line is not always displayed
correctly. This patch fixes that by increasing the priority property of
the highlight overlay.
---
 emacs/notmuch.el |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/emacs/notmuch.el b/emacs/notmuch.el
index 5b4f1c5..f851c6f 100644
--- a/emacs/notmuch.el
+++ b/emacs/notmuch.el
@@ -249,10 +249,17 @@ For a mouse binding, return nil."
       (set-buffer-modified-p nil)
       (view-buffer (current-buffer) 'kill-buffer-if-not-modified))))
 
-(defcustom notmuch-search-hook '(hl-line-mode)
+(require 'hl-line)
+
+(defun notmuch-hl-line-mode ()
+  (prog1 (hl-line-mode)
+    (when hl-line-overlay
+      (overlay-put hl-line-overlay 'priority 1))))
+
+(defcustom notmuch-search-hook '(notmuch-hl-line-mode)
   "List of functions to call when notmuch displays the search results."
   :type 'hook
-  :options '(hl-line-mode)
+  :options '(notmuch-hl-line-mode)
   :group 'notmuch-search
   :group 'notmuch-hooks)
 
@@ -567,7 +574,7 @@ a list of strings of the form \"+TAG\" or \"-TAG\".
 the messages that are about to be tagged"
 
   :type 'hook
-  :options '(hl-line-mode)
+  :options '(notmuch-hl-line-mode)
   :group 'notmuch-hooks)
 
 (defcustom notmuch-after-tag-hook nil
@@ -578,7 +585,7 @@ a list of strings of the form \"+TAG\" or \"-TAG\".
 'query' will be a string containing the search query that determines
 the messages that were tagged"
   :type 'hook
-  :options '(hl-line-mode)
+  :options '(notmuch-hl-line-mode)
   :group 'notmuch-hooks)
 
 (defun notmuch-search-set-tags (tags)
--
1.7.7.3

_______________________________________________
notmuch mailing list
[hidden email]
http://notmuchmail.org/mailman/listinfo/notmuch
Austin Clements Austin Clements
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [PATCH] emacs: Fix display of highlighted line in notmuch-show

Quoth Michal Sojka on Feb 14 at 11:24 am:
> When notmuch-search-line-faces is used to set background color in search
> results, the highlight of the current line is not always displayed
> correctly. This patch fixes that by increasing the priority property of
> the highlight overlay.

LGTM.  Too bad hl-line doesn't have a mode hook we could do this in.
_______________________________________________
notmuch mailing list
[hidden email]
http://notmuchmail.org/mailman/listinfo/notmuch
Jani Nikula Jani Nikula
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [PATCH] emacs: Fix display of highlighted line in notmuch-show

In reply to this post by Michal Sojka-2
On Tue, 14 Feb 2012 11:24:16 +0100, Michal Sojka <[hidden email]> wrote:
> When notmuch-search-line-faces is used to set background color in search
> results, the highlight of the current line is not always displayed
> correctly. This patch fixes that by increasing the priority property of
> the highlight overlay.

One nitpick: The subject line refers to notmuch-show.

BR,
Jani.

> ---
>  emacs/notmuch.el |   15 +++++++++++----
>  1 files changed, 11 insertions(+), 4 deletions(-)
>
> diff --git a/emacs/notmuch.el b/emacs/notmuch.el
> index 5b4f1c5..f851c6f 100644
> --- a/emacs/notmuch.el
> +++ b/emacs/notmuch.el
> @@ -249,10 +249,17 @@ For a mouse binding, return nil."
>        (set-buffer-modified-p nil)
>        (view-buffer (current-buffer) 'kill-buffer-if-not-modified))))
>  
> -(defcustom notmuch-search-hook '(hl-line-mode)
> +(require 'hl-line)
> +
> +(defun notmuch-hl-line-mode ()
> +  (prog1 (hl-line-mode)
> +    (when hl-line-overlay
> +      (overlay-put hl-line-overlay 'priority 1))))
> +
> +(defcustom notmuch-search-hook '(notmuch-hl-line-mode)
>    "List of functions to call when notmuch displays the search results."
>    :type 'hook
> -  :options '(hl-line-mode)
> +  :options '(notmuch-hl-line-mode)
>    :group 'notmuch-search
>    :group 'notmuch-hooks)
>  
> @@ -567,7 +574,7 @@ a list of strings of the form \"+TAG\" or \"-TAG\".
>  the messages that are about to be tagged"
>  
>    :type 'hook
> -  :options '(hl-line-mode)
> +  :options '(notmuch-hl-line-mode)
>    :group 'notmuch-hooks)
>  
>  (defcustom notmuch-after-tag-hook nil
> @@ -578,7 +585,7 @@ a list of strings of the form \"+TAG\" or \"-TAG\".
>  'query' will be a string containing the search query that determines
>  the messages that were tagged"
>    :type 'hook
> -  :options '(hl-line-mode)
> +  :options '(notmuch-hl-line-mode)
>    :group 'notmuch-hooks)
>  
>  (defun notmuch-search-set-tags (tags)
> --
> 1.7.7.3
>
> _______________________________________________
> notmuch mailing list
> [hidden email]
> http://notmuchmail.org/mailman/listinfo/notmuch
_______________________________________________
notmuch mailing list
[hidden email]
http://notmuchmail.org/mailman/listinfo/notmuch
Michal Sojka-2 Michal Sojka-2
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

[PATCH v2] emacs: Fix display of highlighted line in notmuch-search

When notmuch-search-line-faces is used to set background color in search
results, the highlight of the current line is not always displayed
correctly. This patch fixes that by increasing the priority property of
the highlight overlay.
---
 emacs/notmuch.el |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/emacs/notmuch.el b/emacs/notmuch.el
index 5b4f1c5..f851c6f 100644
--- a/emacs/notmuch.el
+++ b/emacs/notmuch.el
@@ -249,10 +249,17 @@ For a mouse binding, return nil."
       (set-buffer-modified-p nil)
       (view-buffer (current-buffer) 'kill-buffer-if-not-modified))))
 
-(defcustom notmuch-search-hook '(hl-line-mode)
+(require 'hl-line)
+
+(defun notmuch-hl-line-mode ()
+  (prog1 (hl-line-mode)
+    (when hl-line-overlay
+      (overlay-put hl-line-overlay 'priority 1))))
+
+(defcustom notmuch-search-hook '(notmuch-hl-line-mode)
   "List of functions to call when notmuch displays the search results."
   :type 'hook
-  :options '(hl-line-mode)
+  :options '(notmuch-hl-line-mode)
   :group 'notmuch-search
   :group 'notmuch-hooks)
 
@@ -567,7 +574,7 @@ a list of strings of the form \"+TAG\" or \"-TAG\".
 the messages that are about to be tagged"
 
   :type 'hook
-  :options '(hl-line-mode)
+  :options '(notmuch-hl-line-mode)
   :group 'notmuch-hooks)
 
 (defcustom notmuch-after-tag-hook nil
@@ -578,7 +585,7 @@ a list of strings of the form \"+TAG\" or \"-TAG\".
 'query' will be a string containing the search query that determines
 the messages that were tagged"
   :type 'hook
-  :options '(hl-line-mode)
+  :options '(notmuch-hl-line-mode)
   :group 'notmuch-hooks)
 
 (defun notmuch-search-set-tags (tags)
--
1.7.7.3

_______________________________________________
notmuch mailing list
[hidden email]
http://notmuchmail.org/mailman/listinfo/notmuch
Tomi Ollila-2 Tomi Ollila-2
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [PATCH v2] emacs: Fix display of highlighted line in notmuch-search

On Tue, 14 Feb 2012 18:09:47 +0100, Michal Sojka <[hidden email]> wrote:
> When notmuch-search-line-faces is used to set background color in search
> results, the highlight of the current line is not always displayed
> correctly. This patch fixes that by increasing the priority property of
> the highlight overlay.
> ---

+1

Tomi
_______________________________________________
notmuch mailing list
[hidden email]
http://notmuchmail.org/mailman/listinfo/notmuch
Dmitry Kurochkin Dmitry Kurochkin
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [PATCH v2] emacs: Fix display of highlighted line in notmuch-search

In reply to this post by Michal Sojka-2
Hi Michal.

On Tue, 14 Feb 2012 18:09:47 +0100, Michal Sojka <[hidden email]> wrote:
> When notmuch-search-line-faces is used to set background color in search
> results, the highlight of the current line is not always displayed
> correctly. This patch fixes that by increasing the priority property of
> the highlight overlay.
> ---

How about changing `notmuch-search-color-line' to use text properties
instead of overlays?  Then hl-line overlay would take priority over it
without these changes.

See [1] by David Edmondson on why text properties are better in
general.  I plan to use text properties here to simplify updating the
face when tags are changed.

Regards,
  Dmitry

[1] id:"[hidden email]"

>  emacs/notmuch.el |   15 +++++++++++----
>  1 files changed, 11 insertions(+), 4 deletions(-)
>
> diff --git a/emacs/notmuch.el b/emacs/notmuch.el
> index 5b4f1c5..f851c6f 100644
> --- a/emacs/notmuch.el
> +++ b/emacs/notmuch.el
> @@ -249,10 +249,17 @@ For a mouse binding, return nil."
>        (set-buffer-modified-p nil)
>        (view-buffer (current-buffer) 'kill-buffer-if-not-modified))))
>  
> -(defcustom notmuch-search-hook '(hl-line-mode)
> +(require 'hl-line)
> +
> +(defun notmuch-hl-line-mode ()
> +  (prog1 (hl-line-mode)
> +    (when hl-line-overlay
> +      (overlay-put hl-line-overlay 'priority 1))))
> +
> +(defcustom notmuch-search-hook '(notmuch-hl-line-mode)
>    "List of functions to call when notmuch displays the search results."
>    :type 'hook
> -  :options '(hl-line-mode)
> +  :options '(notmuch-hl-line-mode)
>    :group 'notmuch-search
>    :group 'notmuch-hooks)
>  
> @@ -567,7 +574,7 @@ a list of strings of the form \"+TAG\" or \"-TAG\".
>  the messages that are about to be tagged"
>  
>    :type 'hook
> -  :options '(hl-line-mode)
> +  :options '(notmuch-hl-line-mode)
>    :group 'notmuch-hooks)
>  
>  (defcustom notmuch-after-tag-hook nil
> @@ -578,7 +585,7 @@ a list of strings of the form \"+TAG\" or \"-TAG\".
>  'query' will be a string containing the search query that determines
>  the messages that were tagged"
>    :type 'hook
> -  :options '(hl-line-mode)
> +  :options '(notmuch-hl-line-mode)
>    :group 'notmuch-hooks)
>  
>  (defun notmuch-search-set-tags (tags)
> --
> 1.7.7.3
>
> _______________________________________________
> notmuch mailing list
> [hidden email]
> http://notmuchmail.org/mailman/listinfo/notmuch
_______________________________________________
notmuch mailing list
[hidden email]
http://notmuchmail.org/mailman/listinfo/notmuch
Michal Sojka-2 Michal Sojka-2
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [PATCH v2] emacs: Fix display of highlighted line in notmuch-search

On Wed, 15 Feb 2012, Dmitry Kurochkin wrote:

> Hi Michal.
>
> On Tue, 14 Feb 2012 18:09:47 +0100, Michal Sojka <[hidden email]> wrote:
> > When notmuch-search-line-faces is used to set background color in search
> > results, the highlight of the current line is not always displayed
> > correctly. This patch fixes that by increasing the priority property of
> > the highlight overlay.
> > ---
>
> How about changing `notmuch-search-color-line' to use text properties
> instead of overlays?  Then hl-line overlay would take priority over it
> without these changes.
>
> See [1] by David Edmondson on why text properties are better in
> general.  I plan to use text properties here to simplify updating the
> face when tags are changed.

Hmm, I always wondered why notmuch uses overlays even if Elisp manual
says they don't scale. I remember that I wanted to replace that long
time ago, but there was some problem, which I forgot. Maybe it was the
invisibility David mentions. I guess there is some invisible text in
search output, isn't it?

-Michal
_______________________________________________
notmuch mailing list
[hidden email]
http://notmuchmail.org/mailman/listinfo/notmuch
Dmitry Kurochkin Dmitry Kurochkin
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [PATCH v2] emacs: Fix display of highlighted line in notmuch-search

On Thu, 16 Feb 2012 00:18:31 +0100, Michal Sojka <[hidden email]> wrote:

> On Wed, 15 Feb 2012, Dmitry Kurochkin wrote:
> > Hi Michal.
> >
> > On Tue, 14 Feb 2012 18:09:47 +0100, Michal Sojka <[hidden email]> wrote:
> > > When notmuch-search-line-faces is used to set background color in search
> > > results, the highlight of the current line is not always displayed
> > > correctly. This patch fixes that by increasing the priority property of
> > > the highlight overlay.
> > > ---
> >
> > How about changing `notmuch-search-color-line' to use text properties
> > instead of overlays?  Then hl-line overlay would take priority over it
> > without these changes.
> >
> > See [1] by David Edmondson on why text properties are better in
> > general.  I plan to use text properties here to simplify updating the
> > face when tags are changed.
>
> Hmm, I always wondered why notmuch uses overlays even if Elisp manual
> says they don't scale. I remember that I wanted to replace that long
> time ago, but there was some problem, which I forgot. Maybe it was the
> invisibility David mentions. I guess there is some invisible text in
> search output, isn't it?
>

Yes.  Also other faces (e.g. date, subject) are used in search.  If we
used properties in `notmuch-search-color-line', we would have to merge
with other properties.  So I take my proposal back.

Regards,
  Dmitry

> -Michal
_______________________________________________
notmuch mailing list
[hidden email]
http://notmuchmail.org/mailman/listinfo/notmuch
David Bremner-2 David Bremner-2
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [PATCH v2] emacs: Fix display of highlighted line in notmuch-search

In reply to this post by Michal Sojka-2
On Tue, 14 Feb 2012 18:09:47 +0100, Michal Sojka <[hidden email]> wrote:
> When notmuch-search-line-faces is used to set background color in search
> results, the highlight of the current line is not always displayed
> correctly. This patch fixes that by increasing the priority property of
> the highlight overlay.
> ---

Pushed,

d
_______________________________________________
notmuch mailing list
[hidden email]
http://notmuchmail.org/mailman/listinfo/notmuch
Loading...