Gnus development mailing list
 help / color / mirror / Atom feed
From: Michael Piotrowski <mxp@dynalabs.de>
To: ding@gnus.org
Subject: Re: setting face in gnus-user-format-function-x
Date: Tue, 07 Jun 2011 18:24:35 +0200	[thread overview]
Message-ID: <x639jl38zg.fsf@dynalabs.de> (raw)
In-Reply-To: <87hb8b8i2u.fsf@micropit.couberia.bzh>

On 2011-05-31, pmlists@free.fr (Peter Münster) wrote:

>>> I would like to set different faces for some marks in the summary lines.
>>> But unfortunately, when changing the mark, the mark-letter is updated,
>>> but the face is not. Only after reopening the group, the faces get
>>> right.
>> 
>> I think your best bet would be to put a function into
>> `gnus-summary-update-hook', possibly calling
>> `gnus-summary-update-article-line' to delete the line and reinsert it.
>
> Oh, no chance for an easier solution...? :(
> Ok, one day, I'll try it.

I just tried it.  Using `gnus-summary-update-hook' works.  For my
application--a different face for the date, depending on the age of the
message--I used the following two-step approach:

1. I have a user format function that adds a non-face property, roughly
   something like this:

    (cond
     ((= message-day today)
      (put-text-property 0 10 'mxp-date 'today message-date))
     ((= message-day (1- today))
      (put-text-property 0 10 'mxp-date 'yesterday message-date))
     (t
      (put-text-property 0 10 'mxp-date 'older message-date)))

2. I have a function that looks for this property (using
   `gnus-find-text-property-region') and sets the desired face.  This
   function is called by `gnus-summary-update-hook'.

Up to now, this approach seems to work nicely.  Maybe you can adapt it
to your needs.

Greetings

-- 
Dr.-Ing. Michael Piotrowski, M.A.                   <mxp@dynalabs.de>
Public key at <http://www.dynalabs.de/mxp/pubkey.txt> (ID 0x1614A044)




  reply	other threads:[~2011-06-07 16:24 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-23 18:04 Peter Münster
2011-05-24  6:18 ` Reiner Steib
2011-05-25 13:38   ` Peter Münster
2011-05-26  6:37     ` Reiner Steib
2011-05-27  8:26       ` Peter Münster
2011-05-27  9:44         ` Michael Piotrowski
2011-05-30 18:10 ` Lars Magne Ingebrigtsen
2011-05-31  7:06   ` Peter Münster
2011-06-07 16:24     ` Michael Piotrowski [this message]
2011-06-23  8:47       ` Peter Münster
2011-06-26 10:06         ` Lars Magne Ingebrigtsen
2011-06-27 12:46           ` Peter Münster
2011-06-30  2:23             ` Lars Magne Ingebrigtsen
2011-06-30  5:14               ` Peter Münster
2011-06-30 22:03                 ` Lars Magne Ingebrigtsen
2011-07-13  9:15                   ` setting face in gnus-user-format-function-x (solved) Peter Münster
2011-07-13 11:35                     ` Peter Münster
2011-07-14  8:12                     ` Peter Münster
2011-07-14 19:09                       ` Reiner Steib
2011-07-11 16:57         ` setting face in gnus-user-format-function-x Michael Piotrowski
2011-07-13  7:36           ` Peter Münster
2011-07-18 21:09   ` special face for marks (was: setting face in gnus-user-format-function-x) Peter Münster
2011-07-19 10:09     ` special face for marks lee
2011-07-19 10:58       ` Peter Münster
2011-07-19 17:51         ` lee
2011-09-29  9:41           ` Ted Zlatanov

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

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

  git send-email \
    --in-reply-to=x639jl38zg.fsf@dynalabs.de \
    --to=mxp@dynalabs.de \
    --cc=ding@gnus.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.
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 NNTP newsgroup(s).