www.delorie.com/gnu/docs/emacs/gnus_110.html   search  
 
Buy the book!


Gnus Manual

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.23 Tree Display

If you don't like the normal Gnus summary display, you might try setting gnus-use-trees to t. This will create (by default) an additional tree buffer. You can execute all summary mode commands in the tree buffer.

There are a few variables to customize the tree display, of course:

gnus-tree-mode-hook
A hook called in all tree mode buffers.

gnus-tree-mode-line-format
A format string for the mode bar in the tree mode buffers (see section 8.4.2 Mode Line Formatting). The default is `Gnus: %%b %S %Z'. For a list of valid specs, see section 3.1.3 Summary Buffer Mode Line.

gnus-selected-tree-face
Face used for highlighting the selected article in the tree buffer. The default is modeline.

gnus-tree-line-format
A format string for the tree nodes. The name is a bit of a misnomer, though--it doesn't define a line, but just the node. The default value is `%(%[%3,3n%]%)', which displays the first three characters of the name of the poster. It is vital that all nodes are of the same length, so you must use `%4,4n'-like specifiers.

Valid specs are:

`n'
The name of the poster.
`f'
The From header.
`N'
The number of the article.
`['
The opening bracket.
`]'
The closing bracket.
`s'
The subject.

See section 8.4 Formatting Variables.

Variables related to the display are:

gnus-tree-brackets
This is used for differentiating between "real" articles and "sparse" articles. The format is ((real-open . real-close) (sparse-open . sparse-close) (dummy-open . dummy-close)), and the default is ((?[ . ?]) (?( . ?)) (?{ . ?}) (?< . ?>)).

gnus-tree-parent-child-edges
This is a list that contains the characters used for connecting parent nodes to their children. The default is (?- ?\\ ?|).

gnus-tree-minimize-window
If this variable is non-nil, Gnus will try to keep the tree buffer as small as possible to allow more room for the other Gnus windows. If this variable is a number, the tree buffer will never be higher than that number. The default is t. Note that if you have several windows displayed side-by-side in a frame and the tree buffer is one of these, minimizing the tree window will also resize all other windows displayed next to it.

gnus-generate-tree-function
The function that actually generates the thread tree. Two predefined functions are available: gnus-generate-horizontal-tree and gnus-generate-vertical-tree (which is the default).

Here's an example from a horizontal tree buffer:

 
{***}-(***)-[odd]-[Gun]
     |      \[Jan]
     |      \[odd]-[Eri]
     |      \(***)-[Eri]
     |            \[odd]-[Paa]
     \[Bjo]
     \[Gun]
     \[Gun]-[Jor]

Here's the same thread displayed in a vertical tree buffer:

 
{***}
  |--------------------------\-----\-----\
(***)                         [Bjo] [Gun] [Gun]
  |--\-----\-----\                          |
[odd] [Jan] [odd] (***)                   [Jor]
  |           |     |--\
[Gun]       [Eri] [Eri] [odd]
                          |
                        [Paa]

If you're using horizontal trees, it might be nice to display the trees side-by-side with the summary buffer. You could add something like the following to your `.gnus.el' file:

 
(setq gnus-use-trees t
      gnus-generate-tree-function 'gnus-generate-horizontal-tree
      gnus-tree-minimize-window nil)
(gnus-add-configuration
 '(article
   (vertical 1.0
             (horizontal 0.25
                         (summary 0.75 point)
                         (tree 1.0))
             (article 1.0))))

See section 8.5 Windows Configuration.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

  webmaster   donations   bookstore     delorie software   privacy  
  Copyright © 2003   by The Free Software Foundation     Updated Jun 2003  

Please take a moment to fill out this visitor survey
You can help support this site by visiting the advertisers that sponsor it! (only once each, though)