[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The group buffer lists all (or parts) of the available groups. It is the first buffer shown when Gnus starts, and will never be killed as long as Gnus is active.
2.1 Group Buffer Format | Information listed and how you can change it. | |
2.2 Group Maneuvering | Commands for moving in the group buffer. | |
2.3 Selecting a Group | Actually reading news. | |
2.4 Subscription Commands | Unsubscribing, killing, subscribing. | |
2.5 Group Data | Changing the info for a group. | |
2.6 Group Levels | Levels? What are those, then? | |
2.7 Group Score | A mechanism for finding out what groups you like. | |
2.8 Marking Groups | You can mark groups for later processing. | |
2.9 Foreign Groups | Creating and editing groups. | |
2.10 Group Parameters | Each group may have different parameters set. | |
2.11 Listing Groups | Gnus can list various subsets of the groups. | |
2.12 Sorting Groups | Re-arrange the group order. | |
2.13 Group Maintenance | Maintaining a tidy `.newsrc' file. | |
2.14 Browse Foreign Server | You can browse a server. See what it has to offer. | |
2.15 Exiting Gnus | Stop reading news and get some work done. | |
2.16 Group Topics | A folding group mode divided into topics. | |
2.17 Misc Group Stuff | Other stuff that you can to do. |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
2.1.1 Group Line Specification | Deciding how the group buffer is to look. | |
2.1.2 Group Mode Line Specification | The group buffer mode line. | |
2.1.3 Group Highlighting | Having nice colors in the group buffer. |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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.
See section 8.4 Formatting 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. See section 8.4.6 Positioning 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:
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. If you want to work on this, please contact the Gnus mailing list.
gnus-read-active-file
or use the group buffer M-d
command.
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'.
gnus-new-mail-mark
) if there has arrived new mail to
the group lately.
gnus-process-mark
) if the group is process marked.
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.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The mode line can be changed by setting
gnus-group-mode-line-format
(see section 8.4.2 Mode Line Formatting). It
doesn't understand that many format specifiers:
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Highlighting in the group buffer is controlled by the
gnus-group-highlight
variable. This is an alist with elements
that look like (form . face)
. If form evaluates to
something non-nil
, the face will be used on the line.
Here's an example value for this variable that might look nice if the background is dark:
(cond (window-system (setq custom-background-mode 'light) (defface my-group-face-1 '((t (:foreground "Red" :bold t))) "First group face") (defface my-group-face-2 '((t (:foreground "DarkSeaGreen4" :bold t))) "Second group face") (defface my-group-face-3 '((t (:foreground "Green4" :bold t))) "Third group face") (defface my-group-face-4 '((t (:foreground "SteelBlue" :bold t))) "Fourth group face") (defface my-group-face-5 '((t (:foreground "Blue" :bold t))) "Fifth group face"))) (setq gnus-group-highlight '(((> unread 200) . my-group-face-1) ((and (< level 3) (zerop unread)) . my-group-face-2) ((< level 3) . my-group-face-3) ((zerop unread) . my-group-face-4) (t . my-group-face-5))) |
Also see section 8.6 Faces and Fonts.
Variables that are dynamically bound when the forms are evaluated include:
group
unread
method
mailp
level
score
ticked
total
topic
When the forms are eval
ed, point is at the beginning of the line
of the group in question, so you can use many of the normal Gnus
functions for snarfing info on the group.
gnus-group-update-hook
is called when a group line is changed.
It will not be called when gnus-visual
is nil
. This hook
calls gnus-group-highlight-line
by default.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
All movement commands understand the numeric prefix and will behave as expected, hopefully.
gnus-group-next-unread-group
).
gnus-group-prev-unread-group
).
gnus-group-next-group
).
gnus-group-prev-group
).
gnus-group-next-unread-group-same-level
).
gnus-group-prev-unread-group-same-level
).
Three commands for jumping to groups:
gnus-group-jump-to-group
). Killed groups can be jumped to, just
like living groups.
gnus-group-best-unread-group
).
gnus-group-first-unread-group
).
If gnus-group-goto-unread
is nil
, all the movement
commands will move to the next group, not the next unread group. Even
the commands that say they move to the next unread group. The default
is t
.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
gnus-group-read-group
). If there are no
unread articles in the group, or if you give a non-numerical prefix to
this command, Gnus will offer to fetch all the old articles in this
group from the server. If you give a numerical prefix n, n
determines the number of articles Gnus will fetch. If n is
positive, Gnus fetches the n newest articles, if n is
negative, Gnus fetches the abs(n)
oldest articles.
Thus, SPC enters the group normally, C-u SPC offers old articles, C-u 4 2 SPC fetches the 42 newest articles, and C-u - 4 2 SPC fetches the 42 oldest ones.
When you are in the group (in the Summary buffer), you can type M-g to fetch new articles, or C-u M-g to also show the old ones.
gnus-group-select-group
). Takes the same arguments as
gnus-group-read-group
---the only difference is that this command
does not display the first unread article automatically upon group
entry.
gnus-group-quick-select-group
). No
scoring/killing will be performed, there will be no highlights and no
expunging. This might be useful if you're in a real hurry and have to
enter some humongous group. If you give a 0 prefix to this command
(i.e., 0 M-RET), Gnus won't even generate the summary buffer,
which is useful if you want to toggle threading before generating the
summary buffer (see section 3.26.3 Summary Generation Commands).
gnus-group-visible-select-group
).
gnus-group-select-group-ephemerally
). Even threading has been
turned off. Everything you do in the group after selecting it in this
manner will have no permanent effects.
The gnus-large-newsgroup
variable says what Gnus should
consider to be a big group. If it is nil
, no groups are
considered big. The default value is 200. If the group has more
(unread and/or ticked) articles than this, Gnus will query the user
before entering the group. The user can then specify how many
articles should be fetched from the server. If the user specifies a
negative number (-n), the n oldest articles will be
fetched. If it is positive, the n articles that have arrived
most recently will be fetched.
gnus-large-ephemeral-newsgroup
is the same as
gnus-large-newsgroup
, but is only used for ephemeral
newsgroups.
If gnus-auto-select-first
is non-nil
, select an article
automatically when entering a group with the SPACE command.
Which article this is is controlled by the
gnus-auto-select-subject
variable. Valid values for this
variable is:
unread
first
unseen
unseen-or-unread
best
This variable can also be a function. In that case, that function will be called to place point on a subject line.
If you want to prevent automatic selection in some group (say, in a
binary group with Huge articles) you can set the
gnus-auto-select-first
variable to nil
in
gnus-select-group-hook
, which is called when a group is
selected.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
gnus-group-unsubscribe-current-group
).
gnus-group-unsubscribe-group
).
gnus-group-kill-group
).
gnus-group-yank-group
).
gnus-group-transpose-groups
). This isn't
really a subscription command, but you can use it instead of a
kill-and-yank sequence sometimes.
gnus-group-kill-region
).
gnus-group-kill-all-zombies
).
gnus-group-kill-level
).
These groups can't be yanked back after killing, so this command should
be used with some caution. The only time where this command comes in
really handy is when you have a `.newsrc' with lots of unsubscribed
groups that you want to get rid off. S C-k on level 7 will
kill off all unsubscribed groups that do not have message numbers in the
`.newsrc' file.
Also see section 2.6 Group Levels.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
gnus-group-catchup-current
).
gnus-group-catchup-group-hook
is called when catching up a group from
the group buffer.
gnus-group-catchup-current-all
).
gnus-group-clear-data
).
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
All groups have a level of subscribedness. For instance, if a group is on level 2, it is more subscribed than a group on level 5. You can ask Gnus to just list groups on a given level or lower (see section 2.11 Listing Groups), or to just check for new articles in groups on a given level or lower (see section 2.17.1 Scanning New Messages).
Remember: The higher the level of the group, the less important it is.
Gnus considers groups from levels 1 to
gnus-level-subscribed
(inclusive) (default 5) to be subscribed,
gnus-level-subscribed
(exclusive) and
gnus-level-unsubscribed
(inclusive) (default 7) to be
unsubscribed, gnus-level-zombie
to be zombies (walking dead)
(default 8) and gnus-level-killed
to be killed (completely dead)
(default 9). Gnus treats subscribed and unsubscribed groups exactly the
same, but zombie and killed groups have no information on what articles
you have read, etc, stored. This distinction between dead and living
groups isn't done because it is nice or clever, it is done purely for
reasons of efficiency.
It is recommended that you keep all your mail groups (if any) on quite low levels (e.g. 1 or 2).
Maybe the following description of the default behavior of Gnus helps to understand what these levels are all about. By default, Gnus shows you subscribed nonempty groups, but by hitting L you can have it show empty subscribed groups and unsubscribed groups, too. Type l to go back to showing nonempty subscribed groups again. Thus, unsubscribed groups are hidden, in a way.
Zombie and killed groups are similar to unsubscribed groups in that they are hidden by default. But they are different from subscribed and unsubscribed groups in that Gnus doesn't ask the news server for information (number of messages, number of unread messages) on zombie and killed groups. Normally, you use C-k to kill the groups you aren't interested in. If most groups are killed, Gnus is faster.
Why does Gnus distinguish between zombie and killed groups? Well, when a new group arrives on the server, Gnus by default makes it a zombie group. This means that you are normally not bothered with new groups, but you can type A z to get a list of all new groups. Subscribe the ones you like and kill the ones you don't want. (A k shows a list of killed groups.)
If you want to play with the level variables, you should show some care. Set them once, and don't touch them ever again. Better yet, don't touch them at all unless you know exactly what you're doing.
Two closely related variables are gnus-level-default-subscribed
(default 3) and gnus-level-default-unsubscribed
(default 6),
which are the levels that new groups will be put on if they are
(un)subscribed. These two variables should, of course, be inside the
relevant valid ranges.
If gnus-keep-same-level
is non-nil
, some movement commands
will only move to groups of the same level (or lower). In
particular, going from the last article in one group to the next group
will go to the next group of the same level (or lower). This might be
handy if you want to read the most important groups before you read the
rest.
If this variable is best
, Gnus will make the next newsgroup the
one with the best level.
All groups with a level less than or equal to
gnus-group-default-list-level
will be listed in the group buffer
by default.
If gnus-group-list-inactive-groups
is non-nil
, non-active
groups will be listed along with the unread groups. This variable is
t
by default. If it is nil
, inactive groups won't be
listed.
If gnus-group-use-permanent-levels
is non-nil
, once you
give a level prefix to g or l, all subsequent commands will
use this level as the "work" level.
Gnus will normally just activate (i. e., query the server about) groups
on level gnus-activate-level
or less. If you don't want to
activate unsubscribed groups, for instance, you might set this variable
to 5. The default is 6.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
You would normally keep important groups on high levels, but that scheme is somewhat restrictive. Don't you wish you could have Gnus sort the group buffer according to how often you read groups, perhaps? Within reason?
This is what group score is for. You can have Gnus assign a score to each group through the mechanism described below. You can then sort the group buffer based on this score. Alternatively, you can sort on score and then level. (Taken together, the level and the score is called the rank of the group. A group that is on level 4 and has a score of 1 has a higher rank than a group on level 5 that has a score of 300. (The level is the most significant part and the score is the least significant part.))
If you want groups you read often to get higher scores than groups you
read seldom you can add the gnus-summary-bubble-group
function to
the gnus-summary-exit-hook
hook. This will result (after
sorting) in a bubbling sort of action. If you want to see that in
action after each summary exit, you can add
gnus-group-sort-groups-by-rank
or
gnus-group-sort-groups-by-score
to the same hook, but that will
slow things down somewhat.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
If you want to perform some command on several groups, and they appear subsequently in the group buffer, you would normally just give a numerical prefix to the command. Most group commands will then do your bidding on those groups.
However, if the groups are not in sequential order, you can still perform a command on several groups. You simply mark the groups first with the process mark and then execute the command.
gnus-group-mark-group
).
gnus-group-unmark-group
).
gnus-group-unmark-all-groups
).
gnus-group-mark-region
).
gnus-group-mark-buffer
).
gnus-group-mark-regexp
).
Also see section 8.1 Process/Prefix.
If you want to execute some command on all groups that have been marked
with the process mark, you can use the M-&
(gnus-group-universal-argument
) command. It will prompt you for
the command to be executed.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Below are some group mode commands for making and editing general foreign
groups, as well as commands to ease the creation of a few
special-purpose groups. All these commands insert the newly created
groups under point---gnus-subscribe-newsgroup-method
is not
consulted.
gnus-group-make-group
). Gnus will prompt you
for a name, a method and possibly an address. For an easier way
to subscribe to NNTP groups (see section 2.14 Browse Foreign Server).
gnus-group-read-ephemeral-group
). Gnus
will prompt you for a name, a method and an address.
gnus-group-rename-group
). This is valid only on some
groups--mail groups mostly. This command might very well be quite slow
on some back ends.
gnus-group-customize
).
gnus-group-edit-group-method
).
gnus-group-edit-group-parameters
).
gnus-group-edit-group
).
gnus-group-make-directory-group
).
gnus-group-make-help-group
).
gnus-group-make-archive-group
). By
default a group pointing to the most recent articles will be created
(gnus-group-recent-archive-directory
), but given a prefix, a full
group will be created from gnus-group-archive-directory
.
gnus-group-make-kiboze-group
).
See section 6.7.2 Kibozed Groups.
nneething
back end (gnus-group-enter-directory
).
See section 6.6.2 Anything Groups.
gnus-group-make-doc-group
). If you give a prefix to this
command, you will be prompted for a file name and a file type.
Currently supported types are mbox
, babyl
,
digest
, news
, rnews
, mmdf
, forward
,
rfc934
, rfc822-forward
, mime-parts
,
standard-digest
, slack-digest
, clari-briefs
,
nsmail
, outlook
, oe-dbx
, and mailman
. If
you run this command without a prefix, Gnus will guess at the file
type. See section 6.6.3 Document Groups.
gnus-useful-groups
(gnus-group-make-useful-group
).
gnus-group-make-web-group
). If you give a prefix to this
command, make a solid group instead. You will be prompted for the
search engine type and the search string. Valid search engine types
include google
, dejanews
, and gmane
.
See section 6.4.2 Web Searches.
If you use the google
search engine, you can limit the search
to a particular group by using a match string like
`shaving group:alt.sysadmin.recovery'.
gnus-group-make-rss-group
). You will be prompted for an URL.
See section 6.4.6 RSS.
gnus-group-delete-group
). If given a prefix, this function will
actually delete all the articles in the group, and forcibly remove the
group itself from the face of the Earth. Use a prefix only if you are
absolutely sure of what you are doing. This command can't be used on
read-only groups (like nntp
groups), though.
nnvirtual
group
(gnus-group-make-empty-virtual
). See section 6.7.1 Virtual Groups.
nnvirtual
group
(gnus-group-add-to-virtual
). Uses the process/prefix convention.
See section 6. Select Methods, for more information on the various select methods.
If gnus-activate-foreign-newsgroups
is a positive number,
Gnus will check all foreign groups with this level or lower at startup.
This might take quite a while, especially if you subscribe to lots of
groups from different NNTP servers. Also see section 2.6 Group Levels;
gnus-activate-level
also affects activation of foreign
newsgroups.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The group parameters store information local to a particular group. Here's an example group parameter list:
((to-address . "ding@gnus.org") (auto-expire . t)) |
We see that each element consists of a "dotted pair"---the thing before the dot is the key, while the thing after the dot is the value. All the parameters have this form except local variable specs, which are not dotted pairs, but proper lists.
Some parameters have correspondent customizable variables, each of which is an alist of regexps and values.
The following group parameters can be used:
to-address
(to-address . "some@where.com") |
This is primarily useful in mail groups that represent closed mailing lists--mailing lists where it's expected that everybody that writes to the mailing list is subscribed to it. Since using this parameter ensures that the mail only goes to the mailing list itself, it means that members won't receive two copies of your followups.
Using to-address
will actually work whether the group is foreign
or not. Let's say there's a group on the server that is called
`fa.4ad-l'. This is a real newsgroup, but the server has gotten
the articles from a mail-to-news gateway. Posting directly to this
group is therefore impossible--you have to send mail to the mailing
list address instead.
See also gnus-parameter-to-address-alist
.
to-list
(to-list . "some@where.com") |
It is totally ignored when doing a followup--except that if it is present in a news group, you'll get mail group semantics when doing f.
If you do an a command in a mail group and you have neither a
to-list
group parameter nor a to-address
group parameter,
then a to-list
group parameter will be added automatically upon
sending the message if gnus-add-to-list
is set to t
.
If this variable is set, gnus-mailing-list-mode
is turned on when
entering summary buffer.
See also gnus-parameter-to-list-alist
.
subscribed
t
, Gnus will consider the
to-address and to-list parameters for this group as addresses of
mailing lists you are subscribed to. Giving Gnus this information is
(only) a first step in getting it to generate correct Mail-Followup-To
headers for your posts to these lists. The second step is to put the
following in your `.gnus.el'
(setq message-subscribed-address-functions '(gnus-find-subscribed-addresses)) |
See section `Mailing Lists' in The Message Manual, for a complete treatment of available MFT support.
visible
(visible . t)
,
that group will always be visible in the Group buffer, regardless
of whether it has any unread articles.
This parameter cannot be set via gnus-parameters
. See
gnus-permanently-visible-groups
as an alternative.
broken-reply-to
(broken-reply-to . t)
signals that Reply-To
headers in this group are to be ignored, and for the header to be hidden
if reply-to
is part of gnus-boring-article-headers
. This
can be useful if you're reading a mailing list group where the listserv
has inserted Reply-To
headers that point back to the listserv
itself. That is broken behavior. So there!
to-group
(to-group . "some.group.name")
means that all
posts in that group will be sent to some.group.name
.
newsgroup
(newsgroup . t)
in the group parameter list, Gnus
will treat all responses as if they were responses to news articles.
This can be useful if you have a mail group that's really a mirror of a
news group.
gcc-self
(gcc-self . t)
is present in the group parameter list, newly
composed messages will be Gcc
'd to the current group. If
(gcc-self . none)
is present, no Gcc:
header will be
generated, if (gcc-self . "string")
is present, this string will
be inserted literally as a gcc
header. This parameter takes
precedence over any default Gcc
rules as described later
(see section 5.5 Archived Messages).
Caveat: Adding (gcc-self . t)
to the parameter list of
nntp
groups (or the like) isn't valid. An nntp
server
doesn't accept articles.
auto-expire
(auto-expire
. t)
, all articles read will be marked as expirable. For an
alternative approach, see section 6.3.9 Expiring Mail.
See also gnus-auto-expirable-newsgroups
.
total-expire
(total-expire . t)
, all read articles will be put through the
expiry process, even if they are not marked as expirable. Use with
caution. Unread, ticked and dormant articles are not eligible for
expiry.
See also gnus-total-expirable-newsgroups
.
expiry-wait
(expiry-wait . 10)
, this value will override any
nnmail-expiry-wait
and nnmail-expiry-wait-function
(see section 6.3.9 Expiring Mail) when expiring expirable messages. The value
can either be a number of days (not necessarily an integer) or the
symbols never
or immediate
.
expiry-target
nnmail-expiry-target
.
score-file
(score-file . "file")
will make
`file' into the current score file for the group in question. All
interactive score entries will be put into this file.
adapt-file
(adapt-file . "file")
will make
`file' into the current adaptive file for the group in question.
All adaptive score entries will be put into this file.
admin-address
display
(display . MODE)
say which articles to
display on entering the group. Valid values are:
all
an integer
default
an array
Here are some examples:
[unread]
[not expire]
[and (not reply) (not expire)]
The available operators are not
, and
and or
.
Predicates include tick
, unsend
, undownload
,
unread
, dormant
, expire
, reply
,
killed
, bookmark
, score
, save
,
cache
, forward
, unseen
and recent
.
The display
parameter works by limiting the summary buffer to
the subset specified. You can pop the limit by using the / w
command (see section 3.8 Limiting).
comment
(comment . "This is a comment")
are
arbitrary comments on the group. You can display comments in the
group line (see section 2.1.1 Group Line Specification).
charset
(charset . iso-8859-1)
will make
iso-8859-1
the default charset; that is, the charset that will be
used for all articles that do not specify a charset.
See also gnus-group-charset-alist
.
ignored-charsets
(ignored-charsets x-unknown iso-8859-1)
will make iso-8859-1
and x-unknown
ignored; that is, the
default charset will be used for decoding articles.
See also gnus-group-ignored-charsets-alist
.
posting-style
gnus-posting-styles
alist, except that there's no regexp matching
the group name (of course). Style elements in this group parameter will
take precedence over the ones found in gnus-posting-styles
.
For instance, if you want a funky name and signature in this group only,
instead of hacking gnus-posting-styles
, you could put something
like this in the group parameters:
(posting-style (name "Funky Name") ("X-My-Header" "Funky Value") (signature "Funky Signature")) |
post-method
gnus-post-method
.
banner
(banner . regexp)
causes any part of an article
that matches the regular expression regexp to be stripped. Instead of
regexp, you can also use the symbol signature
which strips the
last signature or any of the elements of the alist
gnus-article-banner-alist
.
sieve
For example, if the `INBOX.list.sieve' group has the (sieve
address "sender" "sieve-admin@extundo.com")
group parameter, when
translating the group parameter into a Sieve script (see section 2.17.5 Sieve Commands) the following Sieve code is generated:
if address \"sender\" \"sieve-admin@extundo.com\" { fileinto \"INBOX.list.sieve\"; } |
The Sieve language is described in RFC 3028. See section `Top' in Emacs Sieve.
(agent parameters)
(variable form)
(gnus-show-threads nil)
in the group parameters of
that group. gnus-show-threads
will be made into a local variable
in the summary buffer you enter, and the form nil
will be
eval
ed there.
Note that this feature sets the variable locally to the summary buffer.
But some variables are evaluated in the article buffer, or in the
message buffer (of a reply or followup or otherwise newly created
message). As a workaround, it might help to add the variable in
question to gnus-newsgroup-variables
. See section 3.26 Various Summary Stuff. So if you want to set message-from-style
via the group
parameters, then you may need the following statement elsewhere in your
`~/.gnus' file:
(add-to-list 'gnus-newsgroup-variables 'message-from-style) |
A use for this feature is to remove a mailing list identifier tag in the subject fields of articles. E.g. if the news group
nntp+news.gnus.org:gmane.text.docbook.apps |
has the tag `DOC-BOOK-APPS:' in the subject of all articles, this
tag can be removed from the article subjects in the summary buffer for
the group by putting (gnus-list-identifiers "DOCBOOK-APPS:")
into the group parameters for the group.
This can also be used as a group-specific hook function. If you want to
hear a beep when you enter a group, you could put something like
(dummy-variable (ding))
in the parameters of that group.
dummy-variable
will be set to the (meaningless) result of the
(ding)
form.
Alternatively, since the VARIABLE becomes local to the group, this pattern can be used to temporarily change a hook. For example, if the following is added to a group parameter
(gnus-summary-prepared-hook '(lambda nil (local-set-key "d" (local-key-binding "n")))) |
when the group is entered, the 'd' key will not mark the article as expired.
Use the G p or the G c command to edit group parameters of a group. (G p presents you with a Lisp-based interface, G c presents you with a Customize-like interface. The latter helps avoid silly Lisp errors.) You might also be interested in reading about topic parameters (see section 2.16.5 Topic Parameters).
Group parameters can be set via the gnus-parameters
variable too.
But some variables, such as visible
, have no effect (For this
case see gnus-permanently-visible-groups
as an alternative.).
For example:
(setq gnus-parameters '(("mail\\..*" (gnus-show-threads nil) (gnus-use-scoring nil) (gnus-summary-line-format "%U%R%z%I%(%[%d:%ub%-23,23f%]%) %s\n") (gcc-self . t) (display . all)) ("^nnimap:\\(foo.bar\\)$" (to-group . "\\1")) ("mail\\.me" (gnus-use-scoring t)) ("list\\..*" (total-expire . t) (broken-reply-to . t)))) |
String value of parameters will be subjected to regexp substitution, as
the to-group
example shows.
By default, whether comparing the group name and one of those regexps
specified in gnus-parameters
is done in a case-sensitive manner
or a case-insensitive manner depends on the value of
case-fold-search
at the time when the comparison is done. The
value of case-fold-search
is typically t
; it means, for
example, the element ("INBOX\\.FOO" (total-expire . t))
might be
applied to both the `INBOX.FOO' group and the `INBOX.foo'
group. If you want to make those regexps always case-sensitive, set the
value of the gnus-parameters-case-fold-search
variable to
nil
. Otherwise, set it to t
if you want to compare them
always in a case-insensitive manner.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
These commands all list various slices of the groups available.
gnus-group-list-groups
). If the numeric prefix is used, this
command will list only groups of level ARG and lower. By default, it
only lists groups of level five (i.e.,
gnus-group-default-list-level
) or lower (i.e., just subscribed
groups).
gnus-group-list-all-groups
). If the numeric prefix is used,
this command will list only groups of level ARG and lower. By default,
it lists groups of level seven or lower (i.e., just subscribed and
unsubscribed groups).
gnus-group-list-level
). If given a prefix, also list the groups
with no unread articles.
gnus-group-list-killed
). If given a
prefix argument, really list all groups that are available, but aren't
currently (un)subscribed. This could entail reading the active file
from the server.
gnus-group-list-zombies
).
gnus-group-list-matching
).
gnus-group-list-all-matching
).
gnus-group-list-active
). This
might very well take quite a while. It might actually be a better idea
to do a A M to list all matching, and just give `.' as the
thing to match on. Also note that this command may list groups that
don't exist (yet)---these will be listed as if they were killed groups.
Take the output with some grains of salt.
gnus-group-apropos
).
gnus-group-description-apropos
).
gnus-group-list-cached
).
gnus-group-list-dormant
).
gnus-group-list-limit
).
gnus-group-list-flush
).
gnus-group-list-plus
).
Groups that match the gnus-permanently-visible-groups
regexp will
always be shown, whether they have unread articles or not. You can also
add the visible
element to the group parameters in question to
get the same effect.
Groups that have just ticked articles in it are normally listed in the
group buffer. If gnus-list-groups-with-ticked-articles
is
nil
, these groups will be treated just like totally empty
groups. It is t
by default.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The C-c C-s (gnus-group-sort-groups
) command sorts the
group buffer according to the function(s) given by the
gnus-group-sort-function
variable. Available sorting functions
include:
gnus-group-sort-by-alphabet
gnus-group-sort-by-real-name
gnus-group-sort-by-level
gnus-group-sort-by-score
gnus-group-sort-by-rank
gnus-group-sort-by-unread
gnus-group-sort-by-method
gnus-group-sort-by-server
gnus-group-sort-function
can also be a list of sorting
functions. In that case, the most significant sort key function must be
the last one.
There are also a number of commands for sorting directly according to some sorting criteria:
gnus-group-sort-groups-by-alphabet
).
gnus-group-sort-groups-by-unread
).
gnus-group-sort-groups-by-level
).
gnus-group-sort-groups-by-score
). See section 2.7 Group Score.
gnus-group-sort-groups-by-rank
). See section 2.7 Group Score.
gnus-group-sort-groups-by-method
).
gnus-group-sort-groups-by-real-name
).
All the commands below obey the process/prefix convention (see section 8.1 Process/Prefix).
When given a symbolic prefix (see section 8.3 Symbolic Prefixes), all these commands will sort in reverse order.
You can also sort a subset of the groups:
gnus-group-sort-selected-groups-by-alphabet
).
gnus-group-sort-selected-groups-by-unread
).
gnus-group-sort-selected-groups-by-level
).
gnus-group-sort-selected-groups-by-score
). See section 2.7 Group Score.
gnus-group-sort-selected-groups-by-rank
). See section 2.7 Group Score.
gnus-group-sort-selected-groups-by-method
).
gnus-group-sort-selected-groups-by-real-name
).
gnus-group-sort-function
.
And finally, note that you can use C-k and C-y to manually move groups around.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
gnus-group-check-bogus-groups
).
gnus-group-find-new-groups
).
With 1 C-u, use the ask-server
method to query the server
for new groups. With 2 C-u's, use most complete method possible
to query the server for new groups, and subscribe the new groups as
zombies.
gnus-group-expire-articles
). That is, delete
all expirable articles in the group that have been around for a while.
(see section 6.3.9 Expiring Mail).
gnus-group-expire-all-groups
).
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
gnus-group-browse-foreign-server
).
A new buffer with a list of available groups will appear. This buffer
will use the gnus-browse-mode
. This buffer looks a bit (well,
a lot) like a normal group buffer.
Here's a list of keystrokes available in the browse mode:
gnus-group-next-group
).
gnus-group-prev-group
).
gnus-browse-read-group
).
gnus-browse-select-group
).
gnus-browse-unsubscribe-current-group
).
gnus-browse-exit
).
gnus-browse-describe-group
).
gnus-browse-describe-briefly
).
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Yes, Gnus is ex(c)iting.
gnus-group-suspend
). This doesn't really exit Gnus,
but it kills all buffers except the Group buffer. I'm not sure why this
is a gain, but then who am I to judge?
gnus-group-exit
).
gnus-group-quit
).
The dribble file will be saved, though (see section 1.8 Auto Save).
gnus-suspend-gnus-hook
is called when you suspend Gnus and
gnus-exit-gnus-hook
is called when you quit Gnus, while
gnus-after-exiting-gnus-hook
is called as the final item when
exiting Gnus.
Note:
Miss Lisa Cannifax, while sitting in English class, felt her feet go numbly heavy and herself fall into a hazy trance as the boy sitting behind her drew repeated lines with his pencil across the back of her plastic chair.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
If you read lots and lots of groups, it might be convenient to group them hierarchically according to topics. You put your Emacs groups over here, your sex groups over there, and the rest (what, two groups or so?) you put in some misc section that you never bother with anyway. You can even group the Emacs sex groups as a sub-topic to either the Emacs groups or the sex groups--or both! Go wild!
Here's an example:
Gnus Emacs -- I wuw it! 3: comp.emacs 2: alt.religion.emacs Naughty Emacs 452: alt.sex.emacs 0: comp.talk.emacs.recovery Misc 8: comp.binaries.fractals 13: comp.sources.unix |
To get this fab functionality you simply turn on (ooh!) the
gnus-topic
minor mode--type t in the group buffer. (This
is a toggling command.)
Go ahead, just try it. I'll still be here when you get back. La de dum... Nice tune, that... la la la... What, you're back? Yes, and now press l. There. All your groups are now listed under `misc'. Doesn't that make you feel all warm and fuzzy? Hot and bothered?
If you want this permanently enabled, you should add that minor mode to the hook for the group mode. Put the following line in your `~/.gnus.el' file:
(add-hook 'gnus-group-mode-hook 'gnus-topic-mode) |
2.16.1 Topic Commands | Interactive E-Z commands. | |
2.16.2 Topic Variables | How to customize the topics the Lisp Way. | |
2.16.3 Topic Sorting | Sorting each topic individually. | |
2.16.4 Topic Topology | A map of the world. | |
2.16.5 Topic Parameters | Parameters that apply to all groups in a topic. |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
When the topic minor mode is turned on, a new T submap will be available. In addition, a few of the standard keys change their definitions slightly.
In general, the following kinds of operations are possible on topics. First of all, you want to create topics. Secondly, you want to put groups in topics and to move them around until you have an order you like. The third kind of operation is to show/hide parts of the whole shebang. You might want to hide a topic including its subtopics and groups, to get a better overview of the other groups.
Here is a list of the basic keys that you might need to set up topics the way you like.
gnus-topic-create-topic
).
gnus-topic-indent
). If given a prefix,
"un-indent" the topic instead.
gnus-topic-unindent
).
The following two keys can be used to move groups and topics around. They work like the well-known cut and paste. C-k is like cut and C-y is like paste. Of course, this being Emacs, we use the terms kill and yank rather than cut and paste.
gnus-topic-kill-group
). All groups in the
topic will be removed along with the topic.
gnus-topic-yank-group
). Note that all topics will be yanked
before all groups.
So, to move a topic to the beginning of the list of topics, just hit C-k on it. This is like the "cut" part of cut and paste. Then, move the cursor to the beginning of the buffer (just below the "Gnus" topic) and hit C-y. This is like the "paste" part of cut and paste. Like I said -- E-Z.
You can use C-k and C-y on groups as well as on topics. So you can move topics around as well as groups.
After setting up the topics the way you like them, you might wish to hide a topic, or to show it again. That's why we have the following key.
gnus-topic-select-group
).
When you perform this command on a group, you'll enter the group, as
usual. When done on a topic line, the topic will be folded (if it was
visible) or unfolded (if it was folded already). So it's basically a
toggling command on topics. In addition, if you give a numerical
prefix, group on that level (and lower) will be displayed.
Now for a list of other commands, in no particular order.
gnus-topic-move-group
). This command uses the process/prefix
convention (see section 8.1 Process/Prefix).
gnus-topic-jump-to-topic
).
gnus-topic-copy-group
). This command uses the process/prefix
convention (see section 8.1 Process/Prefix).
gnus-topic-hide-topic
). If given
a prefix, hide the topic permanently.
gnus-topic-show-topic
). If given
a prefix, show the topic permanently.
gnus-topic-remove-group
).
This command is mainly useful if you have the same group in several
topics and wish to remove it from one of the topics. You may also
remove a group from all topics, but in that case, Gnus will add it to
the root topic the next time you start Gnus. In fact, all new groups
(which, naturally, don't belong to any topic) will show up in the root
topic.
This command uses the process/prefix convention (see section 8.1 Process/Prefix).
gnus-topic-move-matching
).
gnus-topic-copy-matching
).
gnus-topic-toggle-display-empty-topics
).
gnus-topic-mark-topic
). This command works recursively on
sub-topics unless given a prefix.
gnus-topic-unmark-topic
). This command works recursively on
sub-topics unless given a prefix.
gnus-topic-expire-articles
). (see section 6.3.9 Expiring Mail).
gnus-topic-rename
).
gnus-topic-delete
).
gnus-topic-list-active
).
gnus-topic-goto-next-topic
).
gnus-topic-goto-previous-topic
).
gnus-topic-edit-parameters
).
See section 2.16.5 Topic Parameters.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The previous section told you how to tell Gnus which topics to display. This section explains how to tell Gnus what to display about each topic.
The topic lines themselves are created according to the
gnus-topic-line-format
variable (see section 8.4 Formatting Variables).
Valid elements are:
Each sub-topic (and the groups in the sub-topics) will be indented with
gnus-topic-indent-level
times the topic level number of spaces.
The default is 2.
gnus-topic-mode-hook
is called in topic minor mode buffers.
The gnus-topic-display-empty-topics
says whether to display even
topics that have no unread articles in them. The default is t
.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
You can sort the groups in each topic individually with the following commands:
gnus-topic-sort-groups-by-alphabet
).
gnus-topic-sort-groups-by-unread
).
gnus-topic-sort-groups-by-level
).
gnus-topic-sort-groups-by-score
). See section 2.7 Group Score.
gnus-topic-sort-groups-by-rank
). See section 2.7 Group Score.
gnus-topic-sort-groups-by-method
).
gnus-topic-sort-groups-by-server
).
gnus-group-sort-function
variable
(gnus-topic-sort-groups
).
When given a prefix argument, all these commands will sort in reverse order. See section 2.12 Sorting Groups, for more information about group sorting.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
So, let's have a look at an example group buffer:
Gnus Emacs -- I wuw it! 3: comp.emacs 2: alt.religion.emacs Naughty Emacs 452: alt.sex.emacs 0: comp.talk.emacs.recovery Misc 8: comp.binaries.fractals 13: comp.sources.unix |
So, here we have one top-level topic (`Gnus'), two topics under that, and one sub-topic under one of the sub-topics. (There is always just one (1) top-level topic). This topology can be expressed as follows:
(("Gnus" visible) (("Emacs -- I wuw it!" visible) (("Naughty Emacs" visible))) (("Misc" visible))) |
This is in fact how the variable gnus-topic-topology
would look
for the display above. That variable is saved in the `.newsrc.eld'
file, and shouldn't be messed with manually--unless you really want
to. Since this variable is read from the `.newsrc.eld' file,
setting it in any other startup files will have no effect.
This topology shows what topics are sub-topics of what topics (right),
and which topics are visible. Two settings are currently
allowed---visible
and invisible
.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
All groups in a topic will inherit group parameters from the parent (and ancestor) topic parameters. All valid group parameters are valid topic parameters (see section 2.10 Group Parameters). When the agent is enabled, all agent parameters (See Agent Parameters in 6.8.2.1 Category Syntax) are also valid topic parameters.
In addition, the following parameters are only valid as topic parameters:
subscribe
subscribe
topic parameter says what groups go in what topic. Its
value should be a regexp to match the groups that should go in that
topic.
subscribe-level
subscribe
parameter),
the group will be subscribed with the level specified in the
subscribe-level
instead of gnus-level-default-subscribed
.
Group parameters (of course) override topic parameters, and topic parameters in sub-topics override topic parameters in super-topics. You know. Normal inheritance rules. (Rules is here a noun, not a verb, although you may feel free to disagree with me here.)
Gnus Emacs 3: comp.emacs 2: alt.religion.emacs 452: alt.sex.emacs Relief 452: alt.sex.emacs 0: comp.talk.emacs.recovery Misc 8: comp.binaries.fractals 13: comp.sources.unix 452: alt.sex.emacs |
The `Emacs' topic has the topic parameter (score-file
. "emacs.SCORE")
; the `Relief' topic has the topic parameter
(score-file . "relief.SCORE")
; and the `Misc' topic has the
topic parameter (score-file . "emacs.SCORE")
. In addition,
`alt.religion.emacs' has the group parameter (score-file
. "religion.SCORE")
.
Now, when you enter `alt.sex.emacs' in the `Relief' topic, you will get the `relief.SCORE' home score file. If you enter the same group in the `Emacs' topic, you'll get the `emacs.SCORE' home score file. If you enter the group `alt.religion.emacs', you'll get the `religion.SCORE' home score file.
This seems rather simple and self-evident, doesn't it? Well, yes. But
there are some problems, especially with the total-expiry
parameter. Say you have a mail group in two topics; one with
total-expiry
and one without. What happens when you do M-x
gnus-expire-all-expirable-groups? Gnus has no way of telling which one
of these topics you mean to expire articles from, so anything may
happen. In fact, I hereby declare that it is undefined what
happens. You just have to be careful if you do stuff like that.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
2.17.1 Scanning New Messages | Asking Gnus to see whether new messages have arrived. | |
2.17.2 Group Information | Information and help on groups and Gnus. | |
2.17.3 Group Timestamp | Making Gnus keep track of when you last read a group. | |
2.17.4 File Commands | Reading and writing the Gnus files. | |
2.17.5 Sieve Commands | Managing Sieve scripts. |
(define-key gnus-group-mode-map (kbd "v j d") (lambda () (interactive) (gnus-group-jump-to-group "nndraft:drafts"))) |
On keys reserved for users in Emacs and on keybindings in general See section `Keymaps' in The Emacs Editor.
gnus-group-enter-server-mode
).
See section 6.1 Server Buffer.
gnus-group-post-news
). If given a prefix, post to the group
under the point. If the prefix is 1, prompt for a group to post to.
Contrary to what the name of this function suggests, the prepared
article might be a mail instead of a news, if a mail group is specified
with the prefix argument. See section 5. Composing Messages.
gnus-group-mail
). If given a prefix,
use the posting style of the group under the point. If the prefix is 1,
prompt for a group name to find the posting style.
See section 5. Composing Messages.
gnus-group-news
). If given a prefix,
post to the group under the point. If the prefix is 1, prompt
for group to post to. See section 5. Composing Messages.
This function actually prepares a news even when using mail groups. This is useful for "posting" messages to mail groups without actually sending them over the network: they're just saved directly to the group in question. The corresponding back end must have a request-post method for this to work though.
Variables for the group buffer:
gnus-group-mode-hook
gnus-group-prepare-hook
gnus-group-prepared-hook
gnus-permanently-visible-groups
gnus-group-name-charset-method-alist
For example:
(setq gnus-group-name-charset-method-alist '(((nntp "news.com.cn") . cn-gb-2312))) |
gnus-group-name-charset-group-alist
((".*"
utf-8))
is the default value if UTF-8 is supported, otherwise the
default is nil
.
For example:
(setq gnus-group-name-charset-group-alist '(("\\.com\\.cn:" . cn-gb-2312))) |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
gnus-group-get-new-news
). If given a non-numerical prefix, this
command will force a total re-reading of the active file(s) from the
back end(s).
gnus-group-get-new-news-this-group
).
gnus-goto-next-group-when-activating
says whether this command is
to move point to the next group or not. It is t
by default.
gnus-activate-all-groups
).
gnus-group-restart
). This saves the `.newsrc'
file(s), closes the connection to all servers, clears up all run-time
Gnus variables, and then starts Gnus all over again.
gnus-get-new-news-hook
is run just before checking for new news.
gnus-after-getting-new-news-hook
is run after checking for new
news.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
gnus-group-fetch-faq
). Gnus will try to get the FAQ
from gnus-group-faq-directory
, which is usually a directory on
a remote machine. This variable can also be a list of directories.
In that case, giving a prefix to this command will allow you to choose
between the various sites. ange-ftp
(or efs
) will be
used for fetching the file.
If fetching from the first site is unsuccessful, Gnus will attempt to go
through gnus-group-faq-directory
and try to open them one by one.
gnus-group-fetch-charter
). Query for a group if given a
prefix argument.
Gnus will use gnus-group-charter-alist
to find the location of
the charter. If no location is known, Gnus will fetch the control
messages for the group, which in some cases includes the charter.
ftp.isc.org
(gnus-group-fetch-control
). Query for a
group if given a prefix argument.
If gnus-group-fetch-control-use-browse-url
is non-nil
,
Gnus will open the control messages in a browser using
browse-url
. Otherwise they are fetched using ange-ftp
and displayed in an ephemeral group.
Note that the control messages are compressed. To use this command
you need to turn on auto-compression-mode
(see section `Compressed Files' in The Emacs Manual).
gnus-group-describe-group
). If given
a prefix, force Gnus to re-read the description from the server.
gnus-group-describe-all-groups
). If given a
prefix, force Gnus to re-read the description file from the server.
gnus-version
).
gnus-group-describe-briefly
).
gnus-info-find-node
).
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
It can be convenient to let Gnus keep track of when you last read a
group. To set the ball rolling, you should add
gnus-group-set-timestamp
to gnus-select-group-hook
:
(add-hook 'gnus-select-group-hook 'gnus-group-set-timestamp) |
After doing this, each time you enter a group, it'll be recorded.
This information can be displayed in various ways--the easiest is to use the `%d' spec in the group line format:
(setq gnus-group-line-format "%M\%S\%p\%P\%5y: %(%-40,40g%) %d\n") |
This will result in lines looking like:
* 0: mail.ding 19961002T012943 0: custom 19961002T012713 |
As you can see, the date is displayed in compact ISO 8601 format. This may be a bit too much, so to just display the date, you could say something like:
(setq gnus-group-line-format "%M\%S\%p\%P\%5y: %(%-40,40g%) %6,6~(cut 2)d\n") |
If you would like greater control of the time format, you can use a user-defined format spec. Something like the following should do the trick:
(setq gnus-group-line-format "%M\%S\%p\%P\%5y: %(%-40,40g%) %ud\n") (defun gnus-user-format-function-d (headers) (let ((time (gnus-group-timestamp gnus-tmp-group))) (if time (format-time-string "%b %d %H:%M" time) ""))) |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
gnus-init-file
, which defaults to
`~/.gnus.el') (gnus-group-read-init-file
).
gnus-group-save-newsrc
). If given a prefix, force saving the
file(s) whether Gnus thinks it is necessary or not.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Sieve is a server-side mail filtering language. In Gnus you can use
the sieve
group parameter (see section 2.10 Group Parameters) to specify
sieve rules that should apply to each group. Gnus provides two
commands to translate all these group parameters into a proper Sieve
script that can be transfered to the server somehow.
The generated Sieve script is placed in gnus-sieve-file
(by
default `~/.sieve'). The Sieve code that Gnus generate is placed
between two delimiters, gnus-sieve-region-start
and
gnus-sieve-region-end
, so you may write additional Sieve code
outside these delimiters that will not be removed the next time you
regenerate the Sieve script.
The variable gnus-sieve-crosspost
controls how the Sieve script
is generated. If it is non-nil
(the default) articles is
placed in all groups that have matching rules, otherwise the article
is only placed in the group with the first matching rule. For
example, the group parameter `(sieve address "sender"
"owner-ding@hpc.uh.edu")' will generate the following piece of Sieve
code if gnus-sieve-crosspost
is nil
. (When
gnus-sieve-crosspost
is non-nil
, it looks the same
except that the line containing the call to stop
is removed.)
if address "sender" "owner-ding@hpc.uh.edu" { fileinto "INBOX.ding"; stop; } |
See section `Top' in Emacs Sieve.
sieve
group parameters and
put you into the gnus-sieve-file
without saving it.
gnus-sieve-file
using the
sieve
group parameters, save the file and upload it to the
server using the sieveshell
program.
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by XEmacs shared group account on December, 19 2009
using texi2html 1.65.