unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: Austin Clements <amdragon@MIT.EDU>
To: Mark Walters <markwalters1009@gmail.com>
Cc: notmuch@notmuchmail.org
Subject: Re: [Patch v3 4/8] emacs: tag: add customize for deleted/added tag formats
Date: Fri, 21 Mar 2014 22:16:09 -0400	[thread overview]
Message-ID: <20140322021609.GB31187@mit.edu> (raw)
In-Reply-To: <1394597397-8486-5-git-send-email-markwalters1009@gmail.com>

Quoth Mark Walters on Mar 12 at  4:09 am:
> Add customize options for deleted/added tag formats.  These are not
> used yet but will be later in the series.
> 
> We switch to using `notmuch-apply-face' rather than `propertize' in
> the defcustom for faces so that the faces for deleted/added tags add
> to the default face attributes for the tag.
> 
> We special case deleting the unread tag as that tag is a strong visual
> cue and we don't need that cue when we are just saying it used to be
> unread. Thus, we revert to the normal tag face with strikethough for
> deleted unread tags.
> ---
>  emacs/notmuch-tag.el |   37 ++++++++++++++++++++++++++++++++++++-
>  1 files changed, 36 insertions(+), 1 deletions(-)
> 
> diff --git a/emacs/notmuch-tag.el b/emacs/notmuch-tag.el
> index a4dea39..4698856 100644
> --- a/emacs/notmuch-tag.el
> +++ b/emacs/notmuch-tag.el
> @@ -39,7 +39,7 @@ (define-widget 'notmuch-tag-format-type 'lazy
>  			    (string :tag "Display as")
>  			    (list :tag "Face" :extra-offset -4
>  				  (const :format "" :inline t
> -					 (propertize tag 'face))
> +					 (notmuch-apply-face tag))
>  				  (list :format "%v"
>  					(const :format "" quote)
>  					custom-face-edit))
> @@ -89,6 +89,41 @@ (defcustom notmuch-tag-formats
>    :group 'notmuch-show
>    :type 'notmuch-tag-format-type)
>  
> +(defcustom notmuch-tag-deleted-formats
> +  '(("unread" (notmuch-apply-face "unread"
> +		      (if (display-supports-face-attributes-p '(:strike-through "red"))
> +			  '(:strike-through "red")
> +			'(:inverse-video t))))
> +    (".*" (notmuch-apply-face tag
> +		      (if (display-supports-face-attributes-p '(:strike-through "red"))
> +			  '(:strike-through "red")
> +			'(:inverse-video t)))))

Aren't the two formatters above the same thing?  Is this somehow
different from just having the .* formatter?  The indentation also
seems a little odd, though that may just be the diff.

> +  "Custom formats for tags when deleted.
> +
> +For deleted tags the formats in `notmuch-tag-formats` are applied
> +first and then these formats are applied on top.
> +
> +By default this shows deleted tags with strike-through in red,
> +unless strike-through is not available (e.g., emacs is running in
> +a terminal) in which case it uses inverse video. To hide deleted
> +tags completely set this to
> +  '((\".*\" nil))
> +
> +See `notmuch-tag-formats' for full documentation."
> +  :group 'notmuch-show
> +  :type 'notmuch-tag-format-type)
> +
> +(defcustom notmuch-tag-added-formats
> +  '((".*" (notmuch-apply-face tag '(:underline "green"))))
> +  "Custom formats for tags when added.
> +
> +For added tags the formats in `notmuch-tag-formats` are applied
> +first and then these formats are applied on top.

Maybe add

To disable special formatting of added tags, set this to ().

to parallel notmuch-tag-deleted-formats?

> +
> +See `notmuch-tag-formats' for full documentation."
> +  :group 'notmuch-show
> +  :type 'notmuch-tag-format-type)
> +
>  (defun notmuch-tag-format-image-data (tag data)
>    "Replace TAG with image DATA, if available.
>  

  reply	other threads:[~2014-03-22  2:16 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-12  4:09 [Patch v3 0/8] emacs: show tag changes in buffer Mark Walters
2014-03-12  4:09 ` [Patch v3 1/8] emacs: Combine notmuch-combine-face-text-property{, -string} Mark Walters
2014-03-12  4:09 ` [Patch v3 2/8] Make keys of notmuch-tag-formats regexps and use caching Mark Walters
2014-03-12  4:09 ` [Patch v3 3/8] emacs: tag split customise option for format-tags into a widget Mark Walters
2014-03-12  4:09 ` [Patch v3 4/8] emacs: tag: add customize for deleted/added tag formats Mark Walters
2014-03-22  2:16   ` Austin Clements [this message]
2014-03-22  7:47     ` Mark Walters
2014-03-12  4:09 ` [Patch v3 5/8] emacs: show: mark tags changed since buffer loaded Mark Walters
2014-03-22  3:39   ` Austin Clements
2014-03-22  7:56     ` Mark Walters
2014-03-22  8:35     ` Mark Walters
2014-03-22 11:44       ` Mark Walters
2014-03-12  4:09 ` [Patch v3 6/8] emacs: show: use orig-tags for tag display Mark Walters
2014-03-12  4:09 ` [Patch v3 7/8] emacs: search: use orig-tags in search Mark Walters
2014-03-12  4:09 ` [Patch v3 8/8] emacs: tree: " Mark Walters

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://notmuchmail.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140322021609.GB31187@mit.edu \
    --to=amdragon@mit.edu \
    --cc=markwalters1009@gmail.com \
    --cc=notmuch@notmuchmail.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).