gnus: Group Line Specification

 
 2.1.1 Group Line Specification
 ------------------------------
 
 The default format of the group buffer is nice and dull, but you can
 make it as exciting and ugly as you feel like.
 
    Here’s a couple of example group lines:
 
           25: news.announce.newusers
       *    0: alt.fan.andrea-dworkin
 
    Quite simple, huh?
 
    You can see that there are 25 unread articles in
 ‘news.announce.newusers’.  There are no unread articles, but some ticked
 articles, in ‘alt.fan.andrea-dworkin’ (see that little asterisk at the
 beginning of the line?).
 
    You can change that format to whatever you want by fiddling with the
 ‘gnus-group-line-format’ variable.  This variable works along the lines
 of a ‘format’ specification, which is pretty much the same as a ‘printf’
 specifications, for those of you who use (feh!)  C.  SeeFormatting
 Variables.
 
    ‘%M%S%5y:%B%(%g%)\n’ is the value that produced those lines above.
 
    There should always be a colon on the line; the cursor always moves
 to the colon after performing an operation.  SeePositioning Point.
 Nothing else is required—not even the group name.  All displayed text is
 just window dressing, and is never examined by Gnus.  Gnus stores all
 real information it needs using text properties.
 
    (Note that if you make a really strange, wonderful, spreadsheet-like
 layout, everybody will believe you are hard at work with the accounting
 instead of wasting time reading news.)
 
    Here’s a list of all available format characters:
 
 ‘M’
      An asterisk if the group only has marked articles.
 
 ‘S’
      Whether the group is subscribed.
 
 ‘L’
      Level of subscribedness.
 
 ‘N’
      Number of unread articles.
 
 ‘I’
      Number of dormant articles.
 
 ‘T’
      Number of ticked articles.
 
 ‘R’
      Number of read articles.
 
 ‘U’
      Number of unseen articles.
 
 ‘t’
      Estimated total number of articles.  (This is really MAX-NUMBER
      minus MIN-NUMBER plus 1.)
 
      Gnus uses this estimation because the NNTP protocol provides
      efficient access to MAX-NUMBER and MIN-NUMBER but getting the true
      unread message count is not possible efficiently.  For hysterical
      raisins, even the mail back ends, where the true number of unread
      messages might be available efficiently, use the same limited
      interface.  To remove this restriction from Gnus means that the
      back end interface has to be changed, which is not an easy job.
 
      The nnml backend (SeeMail Spool) has a feature called “group
      compaction” which circumvents this deficiency: the idea is to
      renumber all articles from 1, removing all gaps between numbers,
      hence getting a correct total count.  Other backends may support
      this in the future.  In order to keep your total article count
      relatively up to date, you might want to compact your groups (or
      even directly your server) from time to time.  SeeMisc Group
      Stuff, SeeServer Commands.
 
 ‘y’
      Number of unread, unticked, non-dormant articles.
 
 ‘i’
      Number of ticked and dormant articles.
 
 ‘g’
      Full group name.
 
 ‘G’
      Group name.
 
 ‘C’
      Group comment (SeeGroup Parameters) or group name if there is
      no comment element in the group parameters.
 
 ‘D’
      Newsgroup description.  You need to read the group descriptions
      before these will appear, and to do that, you either have to set
      ‘gnus-read-active-file’ or use the group buffer ‘M-d’ command.
 
 ‘o’
      ‘m’ if moderated.
 
 ‘O’
      ‘(m)’ if moderated.
 
 ‘s’
      Select method.
 
 ‘B’
      If the summary buffer for the group is open or not.
 
 ‘n’
      Select from where.
 
 ‘z’
      A string that looks like ‘<%s:%n>’ if a foreign select method is
      used.
 
 ‘P’
      Indentation based on the level of the topic (SeeGroup Topics).
 
 ‘c’
      Short (collapsed) group name.  The ‘gnus-group-uncollapsed-levels’
      variable says how many levels to leave at the end of the group
      name.  The default is 1—this will mean that group names like
      ‘gnu.emacs.gnus’ will be shortened to ‘g.e.gnus’.
 
 ‘m’
      ‘%’ (‘gnus-new-mail-mark’) if there has arrived new mail to the
      group lately.
 
 ‘p’
      ‘#’ (‘gnus-process-mark’) if the group is process marked.
 
 ‘d’
      A string that says when you last read the group (SeeGroup
      Timestamp).
 
 ‘F’
      The disk space used by the articles fetched by both the cache and
      agent.  The value is automatically scaled to bytes(B),
      kilobytes(K), megabytes(M), or gigabytes(G) to minimize the column
      width.  A format of %7F is sufficient for a fixed-width column.
 
 ‘u’
      User defined specifier.  The next character in the format string
      should be a letter.  Gnus will call the function
      ‘gnus-user-format-function-’‘X’, where ‘X’ is the letter following
      ‘%u’.  The function will be passed a single dummy parameter as
      argument.  The function should return a string, which will be
      inserted into the buffer just like information from any other
      specifier.
 
    All the “number-of” specs will be filled with an asterisk (‘*’) if no
 info is available—for instance, if it is a non-activated foreign group,
 or a bogus native group.