X-Git-Url: https://cgit.sxemacs.org/?a=blobdiff_plain;f=texi%2Fgnus.texi;h=882c38472666daa9fc1375c7cd72b65614fe0b12;hb=f0517d26b046901d729e9d27c30ad2c7cb329b21;hp=16215ef7a51c707d64b15c3b4a7e499724a8a826;hpb=38f708ac094dfe6db348f1eda1b056e25df1253e;p=gnus diff --git a/texi/gnus.texi b/texi/gnus.texi index 16215ef7a..882c38472 100644 --- a/texi/gnus.texi +++ b/texi/gnus.texi @@ -797,7 +797,6 @@ Various * Compilation:: How to speed Gnus up. * Mode Lines:: Displaying information in the mode lines. * Highlighting and Menus:: Making buffers look all nice and cozy. -* Buttons:: Get tendinitis in ten easy steps! * Daemons:: Gnus can do things behind your back. * Undo:: Some actions can be undone. * Predicate Specifiers:: Specifying predicates. @@ -828,6 +827,7 @@ Image Enhancements * Smileys:: Show all those happy faces the way they were meant to be shown. * Picons:: How to display pictures of what you're reading. +* Gravatars:: Display the avatar of people you read. * XVarious:: Other XEmacsy Gnusey variables. Thwarting Email Spam @@ -2211,6 +2211,12 @@ selected. @section Subscription Commands @cindex subscription +The following commands allow for managing your subscriptions in the +Group buffer. If you want to subscribe to many groups, it's probably +more convenient to go to the @ref{Server Buffer}, and choose the +server there using @kbd{RET} or @kbd{SPC}. Then you'll have the +commands listed in @ref{Browse Foreign Server} at hand. + @table @kbd @item S t @@ -9477,6 +9483,14 @@ signature should be removed, or other symbol, meaning that the corresponding regular expression in @code{gnus-article-banner-alist} is used. +For instance: + +@lisp +(setq gnus-article-banner-alist + ((googleGroups . + "^\n*--~--~---------\\(.+\n\\)+"))) +@end lisp + Regardless of a group, you can hide things like advertisements only when the sender of an article has a certain mail address specified in @code{gnus-article-address-banner-alist}. @@ -9795,16 +9809,16 @@ If a prefix is given, a charset will be asked for. If it is a number, the charset defined in @code{gnus-summary-show-article-charset-alist} (@pxref{Paging the Article}) will be used. -@vindex gnus-article-wash-function The default is to use the function specified by @code{mm-text-html-renderer} (@pxref{Display Customization, ,Display Customization, emacs-mime, The Emacs MIME Manual}) to convert the -@acronym{HTML}, but this is controlled by the -@code{gnus-article-wash-function} variable. Pre-defined functions you -can use include: +@acronym{HTML}. Pre-defined functions you can use include: @table @code -@item gnus-article-html +@item shr +Use Gnus simple html renderer. + +@item gnus-w3m Use Gnus rendered based on w3m. @item w3 @@ -10981,9 +10995,12 @@ do not do a particularly excellent job at it. That is, @code{nnmbox}, @code{nnbabyl}, @code{nnmaildir}, @code{nnml}, are able to locate articles from any groups, while @code{nnfolder}, and @code{nnimap} are only able to locate articles that have been posted to the current -group. (Anything else would be too time consuming.) @code{nnmh} does -not support this at all. +group. @code{nnmh} does not support this at all. +Fortunately, the special @code{nnregistry} back end is able to locate +articles in any groups, regardless of their back end (@pxref{Registry +Article Refer Method, fetching by @code{Message-ID} using the +registry}). @node Alternative Approaches @section Alternative Approaches @@ -12444,19 +12461,24 @@ section only describes the default method. @item mm-text-html-renderer @vindex mm-text-html-renderer If set to @code{gnus-article-html}, Gnus will use the built-in method, -that's based on @code{curl} and @code{w3m}. +that's based on @code{w3m}. @item gnus-blocked-images @vindex gnus-blocked-images -Images that have @acronym{URL}s that match this regexp won't be -fetched and displayed. For instance, do block all @acronym{URL}s that -have the string ``ads'' in them, do the following: +External images that have @acronym{URL}s that match this regexp won't +be fetched and displayed. For instance, do block all @acronym{URL}s +that have the string ``ads'' in them, do the following: @lisp (setq gnus-blocked-images "ads") @end lisp -The default is to block all external images. +This can also be a function to be evaluated. If so, it will be +called with the group name as the parameter. The default value is +@code{gnus-block-private-groups}, which will return @samp{"."} for +anything that isn't a newsgroup. This means that no external images +will be fetched as a result of reading mail, so that nobody can use +web bugs (and the like) to track whether you've read email. @item gnus-html-cache-directory @vindex gnus-html-cache-directory @@ -12839,6 +12861,11 @@ If non-@code{nil}, use the same article buffer for all the groups. (This is the default.) If @code{nil}, each group will have its own article buffer. +@item gnus-widen-article-window +@cindex gnus-widen-article-window +If non-@code{nil}, selecting the article buffer with the @kbd{h} +command will ``widen'' the article window to take the entire frame. + @vindex gnus-article-decode-hook @item gnus-article-decode-hook @cindex @acronym{MIME} @@ -14842,7 +14869,7 @@ Here's an example method that's more complex: (nnimap-inbox "INBOX") (nnimap-split-methods default) (nnimap-expunge t) - (nnimap-stream 'ssl) + (nnimap-stream ssl) (nnir-search-engine imap) (nnimap-expunge-inbox t)) @end example @@ -14853,7 +14880,7 @@ The address of the server, like @samp{imap.gmail.com}. @item nnimap-server-port If the server uses a non-standard port, that can be specified here. A -typical port would be @samp{imap} or @samp{imaps}. +typical port would be @code{"imap"} or @code{"imaps"}. @item nnimap-stream How @code{nnimap} should connect to the server. Possible values are: @@ -14912,6 +14939,9 @@ Uses the same syntax as @code{nnmail-split-methods} (@pxref{Splitting Mail}), except the symbol @code{default}, which means that it should use the value of the @code{nnmail-split-methods} variable. +@item nnimap-split-fancy +Uses the same syntax as @code{nnmail-split-fancy}. + @end table @@ -15099,6 +15129,9 @@ arguments in a buffer narrowed to the headers of an incoming mail message. The function should return a list of group names that it thinks should carry this mail message. +This variable can also be a fancy split method. For the syntax, +see @ref{Fancy Mail Splitting}. + Note that the mail back ends are free to maul the poor, innocent, incoming headers all they want to. They all add @code{Lines} headers; some add @code{X-Gnus-Group} headers; most rename the Unix mbox @@ -17383,13 +17416,12 @@ incompatible group parameters, slightly different from those of other mail back ends. @code{nnmaildir} is largely similar to @code{nnml}, with some notable -differences. Each message is stored in a separate file, but the -filename is unrelated to the article number in Gnus. @code{nnmaildir} +differences. Each message is stored in a separate file, but the +filename is unrelated to the article number in Gnus. @code{nnmaildir} also stores the equivalent of @code{nnml}'s overview files in one file -per article, so it uses about twice as many inodes as @code{nnml}. (Use -@code{df -i} to see how plentiful your inode supply is.) If this slows -you down or takes up very much space, consider switching to -@uref{http://www.namesys.com/, ReiserFS} or another non-block-structured +per article, so it uses about twice as many inodes as @code{nnml}. +(Use @code{df -i} to see how plentiful your inode supply is.) If this +slows you down or takes up very much space, a non-block-structured file system. Since maildirs don't require locking for delivery, the maildirs you use @@ -17687,15 +17719,6 @@ If you set @code{nnrss-use-local} to @code{t}, @code{nnrss} will read the feeds from local files in @code{nnrss-directory}. You can use the command @code{nnrss-generate-download-script} to generate a download script using @command{wget}. - -@item nnrss-wash-html-in-text-plain-parts -Non-@code{nil} means that @code{nnrss} renders text in @samp{text/plain} -parts as @acronym{HTML}. The function specified by the -@code{mm-text-html-renderer} variable (@pxref{Display Customization, -,Display Customization, emacs-mime, The Emacs MIME Manual}) will be used -to render text. If it is @code{nil}, which is the default, text will -simply be folded. Leave it @code{nil} if you prefer to see -@samp{text/html} parts. @end table The following code may be helpful, if you want to show the description in @@ -17945,6 +17968,10 @@ A @acronym{MIME} digest of messages. @item lanl-gov-announce Announcement messages from LANL Gov Announce. +@cindex git commit messages +@item git +@code{git} commit messages. + @cindex forwarded messages @item rfc822-forward A message forwarded according to RFC822. @@ -21703,7 +21730,6 @@ four days, Gnus will decay the scores four times, for instance. * Compilation:: How to speed Gnus up. * Mode Lines:: Displaying information in the mode lines. * Highlighting and Menus:: Making buffers look all nice and cozy. -* Buttons:: Get tendinitis in ten easy steps! * Daemons:: Gnus can do things behind your back. * Undo:: Some actions can be undone. * Predicate Specifiers:: Specifying predicates. @@ -22164,8 +22190,7 @@ glitches. Use at your own peril. buffer should be given. Here's an excerpt of this variable: @lisp -((group (vertical 1.0 (group 1.0 point) - (if gnus-carpal (group-carpal 4)))) +((group (vertical 1.0 (group 1.0 point))) (article (vertical 1.0 (summary 0.25 point) (article 1.0)))) @end lisp @@ -22203,7 +22228,6 @@ Here's a more complicated example: @lisp (article (vertical 1.0 (group 4) (summary 0.25 point) - (if gnus-carpal (summary-carpal 4)) (article 1.0))) @end lisp @@ -22214,20 +22238,16 @@ occupy, not a percentage. If the @dfn{split} looks like something that can be @code{eval}ed (to be precise---if the @code{car} of the split is a function or a subr), this split will be @code{eval}ed. If the result is non-@code{nil}, it will -be used as a split. This means that there will be three buffers if -@code{gnus-carpal} is @code{nil}, and four buffers if @code{gnus-carpal} -is non-@code{nil}. +be used as a split. Not complicated enough for you? Well, try this on for size: @lisp (article (horizontal 1.0 (vertical 0.5 - (group 1.0) - (gnus-carpal 4)) + (group 1.0)) (vertical 1.0 (summary 0.25 point) - (summary-carpal 4) (article 1.0)))) @end lisp @@ -22604,62 +22624,6 @@ Hook called after creating the score mode menu. @end table -@node Buttons -@section Buttons -@cindex buttons -@cindex mouse -@cindex click - -Those new-fangled @dfn{mouse} contraptions is very popular with the -young, hep kids who don't want to learn the proper way to do things -these days. Why, I remember way back in the summer of '89, when I was -using Emacs on a Tops 20 system. Three hundred users on one single -machine, and every user was running Simula compilers. Bah! - -Right. - -@vindex gnus-carpal -Well, you can make Gnus display bufferfuls of buttons you can click to -do anything by setting @code{gnus-carpal} to @code{t}. Pretty simple, -really. Tell the chiropractor I sent you. - - -@table @code - -@item gnus-carpal-mode-hook -@vindex gnus-carpal-mode-hook -Hook run in all carpal mode buffers. - -@item gnus-carpal-button-face -@vindex gnus-carpal-button-face -Face used on buttons. - -@item gnus-carpal-header-face -@vindex gnus-carpal-header-face -Face used on carpal buffer headers. - -@item gnus-carpal-group-buffer-buttons -@vindex gnus-carpal-group-buffer-buttons -Buttons in the group buffer. - -@item gnus-carpal-summary-buffer-buttons -@vindex gnus-carpal-summary-buffer-buttons -Buttons in the summary buffer. - -@item gnus-carpal-server-buffer-buttons -@vindex gnus-carpal-server-buffer-buttons -Buttons in the server buffer. - -@item gnus-carpal-browse-buffer-buttons -@vindex gnus-carpal-browse-buffer-buttons -Buttons in the browse buffer. -@end table - -All the @code{buttons} variables are lists. The elements in these list -are either cons cells where the @code{car} contains a text to be displayed and -the @code{cdr} contains a function symbol, or a simple string. - - @node Daemons @section Daemons @cindex demons @@ -23241,6 +23205,12 @@ number for the size is enough. @vindex gnus-gravatar-properties List of image properties applied to Gravatar images. +@item gnus-gravatar-too-ugly +@vindex gnus-gravatar-too-ugly +Regexp that matches mail addresses or names of people of which avatars +should not be displayed, or @code{nil}. It default to the value of +@code{gnus-article-x-face-too-ugly} (@pxref{X-Face}). + @end table If you want to see them in the From field, set: @@ -23783,12 +23753,14 @@ yourself, so that the message is processed as spam when you exit the group: @table @kbd -@item M-d +@item $ +@itemx M-d @itemx M s x @itemx S x -@kindex M-d -@kindex S x -@kindex M s x +@kindex $ (Summary) +@kindex M-d (Summary) +@kindex S x (Summary) +@kindex M s x (Summary) @findex gnus-summary-mark-as-spam @findex gnus-summary-mark-as-spam Mark current article as spam, showing it with the @samp{$} mark @@ -24163,8 +24135,8 @@ From Ted Zlatanov . spam-move-spam-nonspam-groups-only nil spam-mark-only-unseen-as-spam t spam-mark-ham-unread-before-move-from-spam-group t - nnimap-split-rule 'nnimap-split-fancy ;; @r{understand what this does before you copy it to your own setup!} + ;; @r{for nnimap you'll probably want to set nnimap-split-methods, see the manual} nnimap-split-fancy '(| ;; @r{trace references to parents and put in their group} (: gnus-registry-split-fancy-with-parent) @@ -24886,8 +24858,8 @@ messages stay in @samp{INBOX}: @example (setq spam-use-spamoracle t spam-split-group "Junk" + ;; @r{for nnimap you'll probably want to set nnimap-split-methods, see the manual} nnimap-split-inbox '("INBOX") - nnimap-split-rule 'nnimap-split-fancy nnimap-split-fancy '(| (: spam-split) "INBOX")) @end example @@ -25412,6 +25384,13 @@ This keeps discussions in the same group. You can use the subject and the sender in addition to the Message-ID. Several strategies are available. +@item +Refer to messages by ID + +Commands like @code{gnus-summary-refer-parent-article} can take +advantage of the registry to jump to the referred article, regardless +of the group the message is in. + @item Store custom flags and keywords @@ -25431,6 +25410,7 @@ of all messages matching a particular set of criteria. @menu * Setup:: * Fancy splitting to parent:: +* Registry Article Refer Method:: * Store custom flags and keywords:: * Store arbitrary data:: @end menu @@ -25507,6 +25487,42 @@ registry will keep. The file where the registry will be stored between Gnus sessions. @end defvar +@node Registry Article Refer Method +@subsection Fetching by @code{Message-ID} Using the Registry + +The registry knows how to map each @code{Message-ID} to the group it's +in. This can be leveraged to enhance the ``article refer method'', +the thing that tells Gnus how to look up an article given its +Message-ID (@pxref{Finding the Parent}). + +@vindex nnregistry +@vindex gnus-refer-article-method + +The @code{nnregistry} refer method does exactly that. It has the +advantage that an article may be found regardless of the group it's +in---provided its @code{Message-ID} is known to the registry. It can +be enabled by augmenting the start-up file with something along these +lines: + +@example +;; Keep enough entries to have a good hit rate when referring to an +;; article using the registry. Use long group names so that Gnus +;; knows where the article is. +(setq gnus-registry-max-entries 2500 + gnus-registry-use-long-group-names t) + +(gnus-registry-initialize) + +(setq gnus-refer-article-method + '(current + (nnregistry) + (nnweb "gmane" (nnweb-type gmane)))) +@end example + +The example above instructs Gnus to first look up the article in the +current group, or, alternatively, using the registry, and finally, if +all else fails, using Gmane. + @node Fancy splitting to parent @subsection Fancy splitting to parent @@ -26637,10 +26653,6 @@ Buttons}). You can do lots of strange stuff with the Gnus window & frame configuration (@pxref{Window Layout}). -@item -You can click on buttons instead of using the keyboard -(@pxref{Buttons}). - @end itemize