[Patch v3 4/8] emacs: tag: add customize for deleted/added tag formats
Austin Clements
amdragon at MIT.EDU
Fri Mar 21 19:16:09 PDT 2014
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.
>
More information about the notmuch
mailing list