Commit | Line | Data |
---|---|---|
10ace8ea MB |
1 | @c \input texinfo @c -*-texinfo-*- |
2 | @c Uncomment 1st line before texing this file alone. | |
3 | @c %**start of header | |
4e6835db | 4 | @c Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. |
10ace8ea MB |
5 | @c |
6 | @c Do not modify this file, it was generated from gnus-faq.xml, available from | |
7 | @c <URL:http://my.gnus.org/FAQ/>. | |
8 | @c | |
23f87bed | 9 | @setfilename gnus-faq.info |
10ace8ea MB |
10 | @settitle Frequently Asked Questions |
11 | @c %**end of header | |
12 | @c | |
6bf7aab6 DL |
13 | |
14 | @node Frequently Asked Questions | |
15 | @section Frequently Asked Questions | |
6bf7aab6 DL |
16 | |
17 | @menu | |
10ace8ea MB |
18 | * FAQ - Changes:: |
19 | * FAQ - Introduction:: About Gnus and this FAQ. | |
20 | * FAQ 1 - Installation FAQ:: Installation of Gnus. | |
21 | * FAQ 2 - Startup / Group buffer:: Start up questions and the | |
22 | first buffer Gnus shows you. | |
23 | * FAQ 3 - Getting Messages:: Making Gnus read your mail | |
24 | and news. | |
25 | * FAQ 4 - Reading messages:: How to efficiently read | |
26 | messages. | |
27 | * FAQ 5 - Composing messages:: Composing mails or Usenet | |
28 | postings. | |
29 | * FAQ 6 - Old messages:: Importing, archiving, | |
30 | searching and deleting messages. | |
31 | * FAQ 7 - Gnus in a dial-up environment:: Reading mail and news while | |
32 | offline. | |
33 | * FAQ 8 - Getting help:: When this FAQ isn't enough. | |
34 | * FAQ 9 - Tuning Gnus:: How to make Gnus faster. | |
35 | * FAQ - Glossary:: Terms used in the FAQ | |
36 | explained. | |
6bf7aab6 DL |
37 | @end menu |
38 | ||
23f87bed MB |
39 | @subheading Abstract |
40 | ||
10ace8ea MB |
41 | This is the new Gnus Frequently Asked Questions list. |
42 | If you have a Web browser, the official hypertext version is at | |
43 | @uref{http://my.gnus.org/FAQ/}, | |
44 | the Docbook source is available from | |
45 | @uref{http://sourceforge.net/projects/gnus/, http://sourceforge.net}. | |
23f87bed | 46 | |
10ace8ea MB |
47 | Please submit features and suggestions to the |
48 | @email{faq-discuss@@my.gnus.org, FAQ discussion list}. | |
49 | The list is protected against junk mail with | |
50 | @uref{http://smarden.org/qconfirm/index.html, qconfirm}. As | |
51 | a subscriber, your submissions will automatically pass. You can | |
52 | also subscribe to the list by sending a blank email to | |
53 | @email{faq-discuss-subscribe@@my.gnus.org, faq-discuss-subscribe@@my.gnus.org} | |
54 | and @uref{http://mail1.kens.com/cgi-bin/ezmlm-browse?command=monthbythread%26list=faq-discuss, browse | |
29314e0f | 55 | the archive (BROKEN)}. |
23f87bed | 56 | |
10ace8ea MB |
57 | @node FAQ - Changes |
58 | @subheading Changes | |
23f87bed | 59 | |
23f87bed | 60 | |
23f87bed | 61 | |
10ace8ea MB |
62 | @itemize @bullet |
63 | ||
64 | @item | |
65 | Updated FAQ to reflect release of Gnus 5.10 and start of | |
66 | No Gnus development. | |
67 | @end itemize | |
23f87bed | 68 | |
10ace8ea MB |
69 | @node FAQ - Introduction |
70 | @subheading Introduction | |
71 | ||
72 | This is the Gnus Frequently Asked Questions list. | |
23f87bed | 73 | |
10ace8ea MB |
74 | Gnus is a Usenet Newsreader and Electronic Mail User Agent implemented |
75 | as a part of Emacs. It's been around in some form for almost a decade | |
76 | now, and has been distributed as a standard part of Emacs for much of | |
77 | that time. Gnus 5 is the latest (and greatest) incarnation. The | |
78 | original version was called GNUS, and was written by Masanobu UMEDA. | |
79 | When autumn crept up in '94, Lars Magne Ingebrigtsen grew bored and | |
80 | decided to rewrite Gnus. | |
81 | ||
82 | Its biggest strength is the fact that it is extremely | |
83 | customizable. It is somewhat intimidating at first glance, but | |
84 | most of the complexity can be ignored until you're ready to take | |
85 | advantage of it. If you receive a reasonable volume of e-mail | |
86 | (you're on various mailing lists), or you would like to read | |
87 | high-volume mailing lists but cannot keep up with them, or read | |
88 | high volume newsgroups or are just bored, then Gnus is what you | |
89 | want. | |
90 | ||
91 | This FAQ was maintained by Justin Sheehy until March 2002. He | |
92 | would like to thank Steve Baur and Per Abrahamsen for doing a wonderful | |
93 | job with this FAQ before him. We would like to do the same - thanks, | |
94 | Justin! | |
95 | ||
96 | If you have a Web browser, the official hypertext version is at: | |
97 | @uref{http://my.gnus.org/FAQ/}. | |
98 | This version is much nicer than the unofficial hypertext | |
99 | versions that are archived at Utrecht, Oxford, Smart Pages, Ohio | |
100 | State, and other FAQ archives. See the resources question below | |
101 | if you want information on obtaining it in another format. | |
102 | ||
103 | The information contained here was compiled with the assistance | |
104 | of the Gnus development mailing list, and any errors or | |
105 | misprints are the my.gnus.org team's fault, sorry. | |
106 | ||
107 | @node FAQ 1 - Installation FAQ | |
108 | @subsection Installation FAQ | |
6bf7aab6 | 109 | |
23f87bed | 110 | @menu |
10ace8ea MB |
111 | * [1.1]:: What is the latest version of Gnus? |
112 | * [1.2]:: What's new in 5.10? | |
113 | * [1.3]:: Where and how to get Gnus? | |
114 | * [1.4]:: What to do with the tarball now? | |
115 | * [1.5]:: I sometimes read references to No Gnus and Oort Gnus, what | |
116 | are those? | |
117 | * [1.6]:: Which version of Emacs do I need? | |
118 | * [1.7]:: How do I run Gnus on both Emacs and XEmacs? | |
23f87bed | 119 | @end menu |
6bf7aab6 | 120 | |
10ace8ea MB |
121 | @node [1.1] |
122 | @subsubheading Question 1.1 | |
6bf7aab6 | 123 | |
23f87bed | 124 | What is the latest version of Gnus? |
6bf7aab6 | 125 | |
10ace8ea | 126 | @subsubheading Answer |
6bf7aab6 | 127 | |
10ace8ea MB |
128 | Jingle please: Gnus 5.10 is released, get it while it's |
129 | hot! As well as the step in version number is rather | |
130 | small, Gnus 5.10 has tons of new features which you | |
14e6dc54 | 131 | shouldn't miss. The current release (5.10.8) should be at |
10ace8ea | 132 | least as stable as the latest release of the 5.8 series. |
6bf7aab6 | 133 | |
10ace8ea MB |
134 | @node [1.2] |
135 | @subsubheading Question 1.2 | |
6bf7aab6 | 136 | |
10ace8ea | 137 | What's new in 5.10? |
6bf7aab6 | 138 | |
10ace8ea | 139 | @subsubheading Answer |
6bf7aab6 | 140 | |
10ace8ea MB |
141 | First of all, you should have a look into the file |
142 | GNUS-NEWS in the toplevel directory of the Gnus tarball, | |
143 | there the most important changes are listed. Here's a | |
144 | short list of the changes I find especially | |
145 | important/interesting: | |
23f87bed | 146 | |
10ace8ea | 147 | @itemize @bullet |
6bf7aab6 DL |
148 | |
149 | @item | |
10ace8ea MB |
150 | Major rewrite of the Gnus agent, Gnus agent is now |
151 | active by default. | |
152 | ||
23f87bed | 153 | @item |
10ace8ea MB |
154 | Many new article washing functions for dealing with |
155 | ugly formatted articles. | |
156 | ||
23f87bed | 157 | @item |
10ace8ea MB |
158 | Anti Spam features. |
159 | ||
23f87bed | 160 | @item |
10ace8ea MB |
161 | Message-utils now included in Gnus. |
162 | ||
23f87bed | 163 | @item |
10ace8ea MB |
164 | New format specifiers for summary lines, e.g. %B for |
165 | a complex trn-style thread tree. | |
23f87bed | 166 | @end itemize |
10ace8ea MB |
167 | |
168 | @node [1.3] | |
169 | @subsubheading Question 1.3 | |
23f87bed MB |
170 | |
171 | Where and how to get Gnus? | |
172 | ||
10ace8ea | 173 | @subsubheading Answer |
23f87bed | 174 | |
996aa8c1 MB |
175 | Gnus is released independent from releases of Emacs and XEmacs. |
176 | Therefore, the version bundled with Emacs or the version in XEmacs' | |
177 | package system might not be up to date (e.g. Gnus 5.9 bundled with Emacs | |
178 | 20 is outdated). | |
179 | @c | |
180 | You can get the latest released version of Gnus from | |
181 | @uref{http://www.gnus.org/dist/gnus.tar.gz} or via anonymous FTP from | |
10ace8ea | 182 | @uref{ftp://ftp.gnus.org/pub/gnus/gnus.tar.gz}. |
23f87bed | 183 | |
10ace8ea MB |
184 | @node [1.4] |
185 | @subsubheading Question 1.4 | |
23f87bed | 186 | |
10ace8ea MB |
187 | What to do with the tarball now? |
188 | ||
189 | @subsubheading Answer | |
190 | ||
191 | Untar it via @samp{tar xvzf gnus.tar.gz} and do the common | |
192 | @samp{./configure; make; make install} circle. | |
193 | (under MS-Windows either get the Cygwin environment from | |
194 | @uref{http://www.cygwin.com} | |
195 | which allows you to do what's described above or unpack the | |
196 | tarball with some packer (e.g. Winace from | |
197 | @uref{http://www.winace.com}) | |
198 | and use the batch-file make.bat included in the tarball to install | |
199 | Gnus.) If you don't want to (or aren't allowed to) install Gnus | |
200 | system-wide, you can install it in your home directory and add the | |
201 | following lines to your ~/.xemacs/init.el or ~/.emacs: | |
6bf7aab6 | 202 | |
23f87bed MB |
203 | @example |
204 | (add-to-list 'load-path "/path/to/gnus/lisp") | |
205 | (if (featurep 'xemacs) | |
206 | (add-to-list 'Info-directory-list "/path/to/gnus/texi/") | |
207 | (add-to-list 'Info-default-directory-list "/path/to/gnus/texi/")) | |
208 | @end example | |
23f87bed | 209 | @noindent |
10ace8ea MB |
210 | |
211 | Make sure that you don't have any Gnus related stuff | |
212 | before this line, on MS Windows use something like | |
213 | "C:/path/to/lisp" (yes, "/"). | |
214 | ||
215 | @node [1.5] | |
216 | @subsubheading Question 1.5 | |
217 | ||
218 | I sometimes read references to No Gnus and Oort Gnus, | |
219 | what are those? | |
220 | ||
221 | @subsubheading Answer | |
222 | ||
223 | Oort Gnus was the name of the development version of | |
224 | Gnus, which became Gnus 5.10 in autumn 2003. No Gnus is | |
225 | the name of the current development version which will | |
226 | once become Gnus 5.12 or Gnus 6. (If you're wondering why | |
227 | not 5.11, the odd version numbers are normally used for | |
228 | the Gnus versions bundled with Emacs) | |
229 | ||
230 | @node [1.6] | |
231 | @subsubheading Question 1.6 | |
23f87bed MB |
232 | |
233 | Which version of Emacs do I need? | |
234 | ||
10ace8ea | 235 | @subsubheading Answer |
23f87bed | 236 | |
3c02e719 MB |
237 | Gnus 5.10 requires an Emacs version that is greater than or equal |
238 | to Emacs 20.7 or XEmacs 21.1. | |
239 | The development versions of Gnus (aka No Gnus) requires Emacs 21 | |
240 | or XEmacs 21.4. | |
10ace8ea MB |
241 | |
242 | @node [1.7] | |
243 | @subsubheading Question 1.7 | |
23f87bed MB |
244 | |
245 | How do I run Gnus on both Emacs and XEmacs? | |
246 | ||
10ace8ea | 247 | @subsubheading Answer |
23f87bed | 248 | |
10ace8ea MB |
249 | You can't use the same copy of Gnus in both as the Lisp |
250 | files are byte-compiled to a format which is different | |
251 | depending on which Emacs did the compilation. Get one copy | |
252 | of Gnus for Emacs and one for XEmacs. | |
253 | ||
254 | @node FAQ 2 - Startup / Group buffer | |
23f87bed | 255 | @subsection Startup / Group buffer |
6bf7aab6 | 256 | |
23f87bed | 257 | @menu |
10ace8ea MB |
258 | * [2.1]:: Every time I start Gnus I get a message "Gnus auto-save |
259 | file exists. Do you want to read it?", what does this mean and | |
260 | how to prevent it? | |
261 | * [2.2]:: Gnus doesn't remember which groups I'm subscribed to, | |
262 | what's this? | |
263 | * [2.3]:: How to change the format of the lines in Group buffer? | |
264 | * [2.4]:: My group buffer becomes a bit crowded, is there a way to | |
265 | sort my groups into categories so I can easier browse through | |
266 | them? | |
267 | * [2.5]:: How to manually sort the groups in Group buffer? How to | |
268 | sort the groups in a topic? | |
23f87bed | 269 | @end menu |
6bf7aab6 | 270 | |
10ace8ea MB |
271 | @node [2.1] |
272 | @subsubheading Question 2.1 | |
23f87bed | 273 | |
10ace8ea MB |
274 | Every time I start Gnus I get a message "Gnus auto-save |
275 | file exists. Do you want to read it?", what does this mean | |
276 | and how to prevent it? | |
23f87bed | 277 | |
10ace8ea | 278 | @subsubheading Answer |
23f87bed | 279 | |
10ace8ea MB |
280 | This message means that the last time you used Gnus, it |
281 | wasn't properly exited and therefor couldn't write its | |
282 | informations to disk (e.g. which messages you read), you | |
283 | are now asked if you want to restore those informations | |
284 | from the auto-save file. | |
23f87bed | 285 | |
10ace8ea MB |
286 | To prevent this message make sure you exit Gnus |
287 | via @samp{q} in group buffer instead of | |
288 | just killing Emacs. | |
23f87bed | 289 | |
10ace8ea MB |
290 | @node [2.2] |
291 | @subsubheading Question 2.2 | |
23f87bed | 292 | |
10ace8ea MB |
293 | Gnus doesn't remember which groups I'm subscribed to, |
294 | what's this? | |
23f87bed | 295 | |
10ace8ea | 296 | @subsubheading Answer |
23f87bed | 297 | |
10ace8ea MB |
298 | You get the message described in the q/a pair above while |
299 | starting Gnus, right? It's an other symptom for the same | |
300 | problem, so read the answer above. | |
23f87bed | 301 | |
10ace8ea MB |
302 | @node [2.3] |
303 | @subsubheading Question 2.3 | |
23f87bed | 304 | |
10ace8ea | 305 | How to change the format of the lines in Group buffer? |
6bf7aab6 | 306 | |
10ace8ea | 307 | @subsubheading Answer |
6bf7aab6 | 308 | |
10ace8ea MB |
309 | You've got to tweak the value of the variable |
310 | gnus-group-line-format. See the manual node "Group Line | |
311 | Specification" for information on how to do this. An | |
312 | example for this (guess from whose .gnus :-)): | |
313 | ||
314 | @example | |
23f87bed | 315 | (setq gnus-group-line-format "%P%M%S[%5t]%5y : %(%g%)\n") |
23f87bed | 316 | @end example |
10ace8ea | 317 | @noindent |
23f87bed | 318 | |
10ace8ea MB |
319 | @node [2.4] |
320 | @subsubheading Question 2.4 | |
23f87bed | 321 | |
10ace8ea MB |
322 | My group buffer becomes a bit crowded, is there a way to |
323 | sort my groups into categories so I can easier browse | |
324 | through them? | |
23f87bed | 325 | |
10ace8ea | 326 | @subsubheading Answer |
23f87bed | 327 | |
10ace8ea MB |
328 | Gnus offers the topic mode, it allows you to sort your |
329 | groups in, well, topics, e.g. all groups dealing with | |
330 | Linux under the topic linux, all dealing with music under | |
331 | the topic music and all dealing with scottish music under | |
332 | the topic scottish which is a subtopic of music. | |
23f87bed | 333 | |
10ace8ea MB |
334 | To enter topic mode, just hit t while in Group buffer. Now |
335 | you can use @samp{T n} to create a topic | |
336 | at point and @samp{T m} to move a group to | |
337 | a specific topic. For more commands see the manual or the | |
338 | menu. You might want to include the %P specifier at the | |
339 | beginning of your gnus-group-line-format variable to have | |
340 | the groups nicely indented. | |
23f87bed | 341 | |
10ace8ea MB |
342 | @node [2.5] |
343 | @subsubheading Question 2.5 | |
344 | ||
345 | How to manually sort the groups in Group buffer? How to | |
346 | sort the groups in a topic? | |
347 | ||
348 | @subsubheading Answer | |
349 | ||
350 | Move point over the group you want to move and | |
351 | hit @samp{C-k}, now move point to the | |
352 | place where you want the group to be and | |
353 | hit @samp{C-y}. | |
354 | ||
355 | @node FAQ 3 - Getting Messages | |
356 | @subsection Getting Messages | |
6bf7aab6 | 357 | |
23f87bed | 358 | @menu |
10ace8ea MB |
359 | * [3.1]:: I just installed Gnus, started it via @samp{M-x gnus} |
360 | but it only says "nntp (news) open error", what to do? | |
361 | * [3.2]:: I'm working under Windows and have no idea what ~/.gnus.el | |
362 | means. | |
363 | * [3.3]:: My news server requires authentication, how to store user | |
364 | name and password on disk? | |
365 | * [3.4]:: Gnus seems to start up OK, but I can't find out how to | |
366 | subscribe to a group. | |
367 | * [3.5]:: Gnus doesn't show all groups / Gnus says I'm not allowed | |
368 | to post on this server as well as I am, what's that? | |
369 | * [3.6]:: I want Gnus to fetch news from several servers, is this | |
370 | possible? | |
371 | * [3.7]:: And how about local spool files? | |
372 | * [3.8]:: OK, reading news works now, but I want to be able to read | |
373 | my mail with Gnus, too. How to do it? | |
374 | * [3.9]:: And what about IMAP? | |
375 | * [3.10]:: At the office we use one of those MS Exchange servers, can | |
376 | I use Gnus to read my mail from it? | |
377 | * [3.11]:: Can I tell Gnus not to delete the mails on the server it | |
378 | retrieves via POP3? | |
23f87bed | 379 | @end menu |
6bf7aab6 | 380 | |
10ace8ea MB |
381 | @node [3.1] |
382 | @subsubheading Question 3.1 | |
6bf7aab6 | 383 | |
10ace8ea MB |
384 | I just installed Gnus, started it via |
385 | @samp{M-x gnus} | |
386 | but it only says "nntp (news) open error", what to do? | |
6bf7aab6 | 387 | |
10ace8ea | 388 | @subsubheading Answer |
6bf7aab6 | 389 | |
10ace8ea MB |
390 | You've got to tell Gnus where to fetch the news from. Read |
391 | the documentation for information on how to do this. As a | |
392 | first start, put those lines in ~/.gnus.el: | |
6bf7aab6 | 393 | |
23f87bed MB |
394 | @example |
395 | (setq gnus-select-method '(nntp "news.yourprovider.net")) | |
396 | (setq user-mail-address "you@@yourprovider.net") | |
397 | (setq user-full-name "Your Name") | |
398 | @end example | |
10ace8ea | 399 | @noindent |
23f87bed | 400 | |
10ace8ea MB |
401 | @node [3.2] |
402 | @subsubheading Question 3.2 | |
403 | ||
404 | I'm working under Windows and have no idea what ~/.gnus.el means. | |
405 | ||
406 | @subsubheading Answer | |
407 | ||
408 | The ~/ means the home directory where Gnus and Emacs look | |
409 | for the configuration files. However, you don't really | |
410 | need to know what this means, it suffices that Emacs knows | |
411 | what it means :-) You can type | |
412 | @samp{C-x C-f ~/.gnus.el RET } | |
413 | (yes, with the forward slash, even on Windows), and | |
414 | Emacs will open the right file for you. (It will most | |
415 | likely be new, and thus empty.) | |
416 | However, I'd discourage you from doing so, since the | |
417 | directory Emacs chooses will most certainly not be what | |
418 | you want, so let's do it the correct way. | |
419 | The first thing you've got to do is to | |
420 | create a suitable directory (no blanks in directory name | |
421 | please) e.g. c:\myhome. Then you must set the environment | |
422 | variable HOME to this directory. To do this under Win9x | |
423 | or Me include the line | |
6bf7aab6 | 424 | |
23f87bed | 425 | @example |
23f87bed | 426 | SET HOME=C:\myhome |
23f87bed | 427 | @end example |
23f87bed | 428 | @noindent |
23f87bed | 429 | |
10ace8ea MB |
430 | in your autoexec.bat and reboot. Under NT, 2000 and XP, |
431 | hit Winkey+Pause/Break to enter system options (if it | |
432 | doesn't work, go to Control Panel -> System). There you'll | |
433 | find the possibility to set environment variables, create | |
434 | a new one with name HOME and value C:\myhome, a reboot is | |
435 | not necessary. | |
23f87bed | 436 | |
10ace8ea MB |
437 | Now to create ~/.gnus.el, say |
438 | @samp{C-x C-f ~/.gnus.el RET C-x C-s}. | |
439 | in Emacs. | |
23f87bed | 440 | |
10ace8ea MB |
441 | @node [3.3] |
442 | @subsubheading Question 3.3 | |
23f87bed | 443 | |
10ace8ea MB |
444 | My news server requires authentication, how to store |
445 | user name and password on disk? | |
446 | ||
447 | @subsubheading Answer | |
448 | ||
449 | Create a file ~/.authinfo which includes for each server a line like this | |
6bf7aab6 DL |
450 | |
451 | @example | |
23f87bed | 452 | machine news.yourprovider.net login YourUserName password YourPassword |
6bf7aab6 | 453 | @end example |
23f87bed MB |
454 | @noindent |
455 | . | |
10ace8ea MB |
456 | Make sure that the file isn't readable to others if you |
457 | work on a OS which is capable of doing so. (Under Unix | |
458 | say | |
23f87bed MB |
459 | @example |
460 | chmod 600 ~/.authinfo | |
461 | @end example | |
23f87bed | 462 | @noindent |
23f87bed | 463 | |
10ace8ea | 464 | in a shell.) |
23f87bed | 465 | |
10ace8ea MB |
466 | @node [3.4] |
467 | @subsubheading Question 3.4 | |
23f87bed | 468 | |
10ace8ea MB |
469 | Gnus seems to start up OK, but I can't find out how to |
470 | subscribe to a group. | |
23f87bed | 471 | |
10ace8ea | 472 | @subsubheading Answer |
23f87bed | 473 | |
10ace8ea MB |
474 | If you know the name of the group say @samp{U |
475 | name.of.group RET} in group buffer (use the | |
476 | tab-completion Luke). Otherwise hit ^ in group buffer, | |
477 | this brings you to the server buffer. Now place point (the | |
478 | cursor) over the server which carries the group you want, | |
479 | hit @samp{RET}, move point to the group | |
480 | you want to subscribe to and say @samp{u} | |
481 | to subscribe to it. | |
23f87bed | 482 | |
10ace8ea MB |
483 | @node [3.5] |
484 | @subsubheading Question 3.5 | |
485 | ||
486 | Gnus doesn't show all groups / Gnus says I'm not allowed to | |
487 | post on this server as well as I am, what's that? | |
488 | ||
489 | @subsubheading Answer | |
490 | ||
491 | Some providers allow restricted anonymous access and full | |
492 | access only after authorization. To make Gnus send authinfo | |
493 | to those servers append | |
6bf7aab6 | 494 | |
23f87bed MB |
495 | @example |
496 | force yes | |
497 | @end example | |
23f87bed | 498 | @noindent |
23f87bed | 499 | |
10ace8ea | 500 | to the line for those servers in ~/.authinfo. |
6bf7aab6 | 501 | |
10ace8ea MB |
502 | @node [3.6] |
503 | @subsubheading Question 3.6 | |
177c0ea7 | 504 | |
10ace8ea | 505 | I want Gnus to fetch news from several servers, is this possible? |
177c0ea7 | 506 | |
10ace8ea MB |
507 | @subsubheading Answer |
508 | ||
509 | Of course. You can specify more sources for articles in the | |
510 | variable gnus-secondary-select-methods. Add something like | |
511 | this in ~/.gnus.el: | |
6bf7aab6 | 512 | |
23f87bed | 513 | @example |
10ace8ea | 514 | (add-to-list 'gnus-secondary-select-methods |
9b5773bc | 515 | '(nntp "news.yourSecondProvider.net")) |
10ace8ea MB |
516 | (add-to-list 'gnus-secondary-select-methods |
517 | '(nntp "news.yourThirdProvider.net")) | |
23f87bed | 518 | @end example |
10ace8ea | 519 | @noindent |
6bf7aab6 | 520 | |
10ace8ea MB |
521 | @node [3.7] |
522 | @subsubheading Question 3.7 | |
6bf7aab6 | 523 | |
10ace8ea | 524 | And how about local spool files? |
6bf7aab6 | 525 | |
10ace8ea MB |
526 | @subsubheading Answer |
527 | ||
528 | No problem, this is just one more select method called | |
529 | nnspool, so you want this: | |
6bf7aab6 | 530 | |
23f87bed MB |
531 | @example |
532 | (add-to-list 'gnus-secondary-select-methods '(nnspool "")) | |
533 | @end example | |
23f87bed | 534 | @noindent |
10ace8ea MB |
535 | |
536 | Or this if you don't want an NNTP Server as primary news source: | |
6bf7aab6 | 537 | |
23f87bed MB |
538 | @example |
539 | (setq gnus-select-method '(nnspool "")) | |
540 | @end example | |
23f87bed | 541 | @noindent |
10ace8ea MB |
542 | |
543 | Gnus will look for the spool file in /usr/spool/news, if you | |
544 | want something different, change the line above to something like this: | |
6bf7aab6 | 545 | |
23f87bed MB |
546 | @example |
547 | (add-to-list 'gnus-secondary-select-methods | |
10ace8ea MB |
548 | '(nnspool "" |
549 | (nnspool-directory "/usr/local/myspoolddir"))) | |
23f87bed | 550 | @end example |
23f87bed | 551 | @noindent |
23f87bed | 552 | |
10ace8ea MB |
553 | This sets the spool directory for this server only. |
554 | You might have to specify more stuff like the program used | |
555 | to post articles, see the Gnus manual on how to do this. | |
556 | ||
557 | @node [3.8] | |
558 | @subsubheading Question 3.8 | |
559 | ||
560 | OK, reading news works now, but I want to be able to read my mail | |
561 | with Gnus, too. How to do it? | |
562 | ||
563 | @subsubheading Answer | |
564 | ||
565 | That's a bit harder since there are many possible sources | |
566 | for mail, many possible ways for storing mail and many | |
567 | different ways for sending mail. The most common cases are | |
568 | these: 1: You want to read your mail from a pop3 server and | |
569 | send them directly to a SMTP Server 2: Some program like | |
570 | fetchmail retrieves your mail and stores it on disk from | |
571 | where Gnus shall read it. Outgoing mail is sent by | |
572 | Sendmail, Postfix or some other MTA. Sometimes, you even | |
573 | need a combination of the above cases. | |
574 | ||
575 | However, the first thing to do is to tell Gnus in which way | |
576 | it should store the mail, in Gnus terminology which back end | |
577 | to use. Gnus supports many different back ends, the most | |
578 | commonly used one is nnml. It stores every mail in one file | |
579 | and is therefor quite fast. However you might prefer a one | |
580 | file per group approach if your file system has problems with | |
581 | many small files, the nnfolder back end is then probably the | |
582 | choice for you. To use nnml add the following to ~/.gnus.el: | |
6bf7aab6 | 583 | |
23f87bed MB |
584 | @example |
585 | (add-to-list 'gnus-secondary-select-methods '(nnml "")) | |
586 | @end example | |
23f87bed | 587 | @noindent |
10ace8ea MB |
588 | |
589 | As you might have guessed, if you want nnfolder, it's | |
23f87bed MB |
590 | |
591 | @example | |
592 | (add-to-list 'gnus-secondary-select-methods '(nnfolder "")) | |
593 | @end example | |
10ace8ea | 594 | @noindent |
6bf7aab6 | 595 | |
10ace8ea MB |
596 | Now we need to tell Gnus, where to get it's mail from. If |
597 | it's a POP3 server, then you need something like this: | |
6bf7aab6 | 598 | |
23f87bed MB |
599 | @example |
600 | (eval-after-load "mail-source" | |
601 | '(add-to-list 'mail-sources '(pop :server "pop.YourProvider.net" | |
602 | :user "yourUserName" | |
603 | :password "yourPassword"))) | |
604 | @end example | |
23f87bed | 605 | @noindent |
10ace8ea MB |
606 | |
607 | Make sure ~/.gnus.el isn't readable to others if you store | |
608 | your password there. If you want to read your mail from a | |
609 | traditional spool file on your local machine, it's | |
6bf7aab6 | 610 | |
23f87bed MB |
611 | @example |
612 | (eval-after-load "mail-source" | |
10ace8ea | 613 | '(add-to-list 'mail-sources '(file :path "/path/to/spool/file")) |
23f87bed | 614 | @end example |
23f87bed | 615 | @noindent |
10ace8ea MB |
616 | |
617 | If it's a Maildir, with one file per message as used by | |
618 | postfix, Qmail and (optionally) fetchmail it's | |
6bf7aab6 | 619 | |
23f87bed MB |
620 | @example |
621 | (eval-after-load "mail-source" | |
622 | '(add-to-list 'mail-sources '(maildir :path "/path/to/Maildir/" | |
623 | :subdirs ("cur" "new"))) | |
624 | @end example | |
23f87bed | 625 | @noindent |
10ace8ea MB |
626 | |
627 | And finally if you want to read your mail from several files | |
628 | in one directory, for example because procmail already split your | |
629 | mail, it's | |
6bf7aab6 | 630 | |
23f87bed MB |
631 | @example |
632 | (eval-after-load "mail-source" | |
10ace8ea MB |
633 | '(add-to-list 'mail-sources |
634 | '(directory :path "/path/to/procmail-dir/" | |
635 | :suffix ".prcml"))) | |
23f87bed | 636 | @end example |
23f87bed | 637 | @noindent |
6bf7aab6 | 638 | |
10ace8ea MB |
639 | Where :suffix ".prcml" tells Gnus only to use files with the |
640 | suffix .prcml. | |
641 | ||
642 | OK, now you only need to tell Gnus how to send mail. If you | |
643 | want to send mail via sendmail (or whichever MTA is playing | |
644 | the role of sendmail on your system), you don't need to do | |
645 | anything. However, if you want to send your mail to an | |
646 | SMTP Server you need the following in your ~/.gnus.el | |
6bf7aab6 | 647 | |
23f87bed MB |
648 | @example |
649 | (setq send-mail-function 'smtpmail-send-it) | |
650 | (setq message-send-mail-function 'smtpmail-send-it) | |
651 | (setq smtpmail-default-smtp-server "smtp.yourProvider.net") | |
652 | @end example | |
10ace8ea | 653 | @noindent |
6bf7aab6 | 654 | |
10ace8ea MB |
655 | @node [3.9] |
656 | @subsubheading Question 3.9 | |
6bf7aab6 | 657 | |
10ace8ea | 658 | And what about IMAP? |
6bf7aab6 | 659 | |
10ace8ea MB |
660 | @subsubheading Answer |
661 | ||
662 | There are two ways of using IMAP with Gnus. The first one is | |
663 | to use IMAP like POP3, that means Gnus fetches the mail from | |
664 | the IMAP server and stores it on disk. If you want to do | |
665 | this (you don't really want to do this) add the following to | |
666 | ~/.gnus.el | |
6bf7aab6 | 667 | |
23f87bed MB |
668 | @example |
669 | (add-to-list 'mail-sources '(imap :server "mail.mycorp.com" | |
670 | :user "username" | |
671 | :pass "password" | |
672 | :stream network | |
673 | :authentication login | |
674 | :mailbox "INBOX" | |
675 | :fetchflag "\\Seen")) | |
676 | @end example | |
23f87bed | 677 | @noindent |
6bf7aab6 | 678 | |
10ace8ea | 679 | You might have to tweak the values for stream and/or |
3e26254b | 680 | authentication, see the Gnus manual node "Mail Source |
10ace8ea MB |
681 | Specifiers" for possible values. |
682 | ||
683 | If you want to use IMAP the way it's intended, you've got to | |
684 | follow a different approach. You've got to add the nnimap | |
685 | back end to your select method and give the information | |
686 | about the server there. | |
6bf7aab6 | 687 | |
23f87bed | 688 | @example |
10ace8ea MB |
689 | (add-to-list 'gnus-secondary-select-methods |
690 | '(nnimap "Give the baby a name" | |
691 | (nnimap-address "imap.yourProvider.net") | |
692 | (nnimap-port 143) | |
693 | (nnimap-list-pattern "archive.*"))) | |
23f87bed | 694 | @end example |
23f87bed | 695 | @noindent |
23f87bed | 696 | |
10ace8ea MB |
697 | Again, you might have to specify how to authenticate to the |
698 | server if Gnus can't guess the correct way, see the Manual | |
699 | Node "IMAP" for detailed information. | |
700 | ||
701 | @node [3.10] | |
702 | @subsubheading Question 3.10 | |
703 | ||
704 | At the office we use one of those MS Exchange servers, can I use | |
705 | Gnus to read my mail from it? | |
706 | ||
707 | @subsubheading Answer | |
708 | ||
709 | Offer your administrator a pair of new running shoes for | |
710 | activating IMAP on the server and follow the instructions | |
711 | above. | |
712 | ||
713 | @node [3.11] | |
714 | @subsubheading Question 3.11 | |
715 | ||
716 | Can I tell Gnus not to delete the mails on the server it | |
717 | retrieves via POP3? | |
718 | ||
719 | @subsubheading Answer | |
720 | ||
721 | First of all, that's not the way POP3 is intended to work, | |
722 | if you have the possibility, you should use the IMAP | |
723 | Protocol if you want your messages to stay on the | |
724 | server. Nevertheless there might be situations where you | |
725 | need the feature, but sadly Gnus itself has no predefined | |
726 | functionality to do so. | |
727 | ||
728 | However this is Gnus county so there are possibilities to | |
729 | achieve what you want. The easiest way is to get an external | |
730 | program which retrieves copies of the mail and stores them | |
731 | on disk, so Gnus can read it from there. On Unix systems you | |
732 | could use e.g. fetchmail for this, on MS Windows you can use | |
733 | Hamster, an excellent local news and mail server. | |
734 | ||
735 | The other solution would be, to replace the method Gnus | |
736 | uses to get mail from POP3 servers by one which is capable | |
737 | of leaving the mail on the server. If you use XEmacs, get | |
738 | the package mail-lib, it includes an enhanced pop3.el, | |
739 | look in the file, there's documentation on how to tell | |
740 | Gnus to use it and not to delete the retrieved mail. For | |
741 | GNU Emacs look for the file epop3.el which can do the same | |
742 | (If you know the home of this file, please send me an | |
743 | e-mail). You can also tell Gnus to use an external program | |
744 | (e.g. fetchmail) to fetch your mail, see the info node | |
745 | "Mail Source Specifiers" in the Gnus manual on how to do | |
746 | it. | |
747 | ||
748 | @node FAQ 4 - Reading messages | |
23f87bed | 749 | @subsection Reading messages |
6bf7aab6 | 750 | |
23f87bed | 751 | @menu |
10ace8ea MB |
752 | * [4.1]:: When I enter a group, all read messages are gone. How to |
753 | view them again? | |
754 | * [4.2]:: How to tell Gnus to show an important message every time I | |
755 | enter a group, even when it's read? | |
756 | * [4.3]:: How to view the headers of a message? | |
757 | * [4.4]:: How to view the raw unformatted message? | |
758 | * [4.5]:: How can I change the headers Gnus displays by default at | |
759 | the top of the article buffer? | |
760 | * [4.6]:: I'd like Gnus NOT to render HTML-mails but show me the | |
761 | text part if it's available. How to do it? | |
762 | * [4.7]:: Can I use some other browser than w3 to render my | |
763 | HTML-mails? | |
764 | * [4.8]:: Is there anything I can do to make poorly formatted mails | |
765 | more readable? | |
766 | * [4.9]:: Is there a way to automatically ignore posts by specific | |
767 | authors or with specific words in the subject? And can I highlight | |
768 | more interesting ones in some way? | |
769 | * [4.10]:: How can I disable threading in some (e.g. mail-) groups, | |
770 | or set other variables specific for some groups? | |
771 | * [4.11]:: Can I highlight messages written by me and follow-ups to | |
772 | those? | |
773 | * [4.12]:: The number of total messages in a group which Gnus | |
774 | displays in group buffer is by far to high, especially in mail | |
775 | groups. Is this a bug? | |
776 | * [4.13]:: I don't like the layout of summary and article buffer, how | |
777 | to change it? Perhaps even a three pane display? | |
778 | * [4.14]:: I don't like the way the Summary buffer looks, how to | |
779 | tweak it? | |
780 | * [4.15]:: How to split incoming mails in several groups? | |
23f87bed | 781 | @end menu |
6bf7aab6 | 782 | |
10ace8ea MB |
783 | @node [4.1] |
784 | @subsubheading Question 4.1 | |
6bf7aab6 | 785 | |
10ace8ea | 786 | When I enter a group, all read messages are gone. How to view them again? |
6bf7aab6 | 787 | |
10ace8ea | 788 | @subsubheading Answer |
177c0ea7 | 789 | |
10ace8ea MB |
790 | If you enter the group by saying |
791 | @samp{RET} | |
792 | in group buffer with point over the group, only unread and ticked messages are loaded. Say | |
793 | @samp{C-u RET} | |
794 | instead to load all available messages. If you want only the e.g. 300 newest say | |
795 | @samp{C-u 300 RET} | |
6bf7aab6 | 796 | |
10ace8ea | 797 | Loading only unread messages can be annoying if you have threaded view enabled, say |
6bf7aab6 | 798 | |
23f87bed MB |
799 | @example |
800 | (setq gnus-fetch-old-headers 'some) | |
801 | @end example | |
23f87bed | 802 | @noindent |
23f87bed | 803 | |
10ace8ea MB |
804 | in ~/.gnus.el to load enough old articles to prevent teared threads, replace 'some with t to load |
805 | all articles (Warning: Both settings enlarge the amount of data which is | |
806 | fetched when you enter a group and slow down the process of entering a group). | |
23f87bed | 807 | |
10ace8ea MB |
808 | If you already use Gnus 5.10, you can say |
809 | @samp{/o N} | |
810 | In summary buffer to load the last N messages, this feature is not available in 5.8.8 | |
23f87bed | 811 | |
10ace8ea MB |
812 | If you don't want all old messages, but the parent of the message you're just reading, |
813 | you can say @samp{^}, if you want to retrieve the whole thread | |
814 | the message you're just reading belongs to, @samp{A T} is your friend. | |
23f87bed | 815 | |
10ace8ea MB |
816 | @node [4.2] |
817 | @subsubheading Question 4.2 | |
23f87bed | 818 | |
10ace8ea MB |
819 | How to tell Gnus to show an important message every time I |
820 | enter a group, even when it's read? | |
23f87bed | 821 | |
10ace8ea | 822 | @subsubheading Answer |
23f87bed | 823 | |
10ace8ea MB |
824 | You can tick important messages. To do this hit |
825 | @samp{u} while point is in summary buffer | |
826 | over the message. When you want to remove the mark, hit | |
827 | either @samp{d} (this deletes the tick | |
828 | mark and set's unread mark) or @samp{M c} | |
829 | (which deletes all marks for the message). | |
23f87bed | 830 | |
10ace8ea MB |
831 | @node [4.3] |
832 | @subsubheading Question 4.3 | |
23f87bed | 833 | |
10ace8ea | 834 | How to view the headers of a message? |
23f87bed | 835 | |
10ace8ea | 836 | @subsubheading Answer |
23f87bed | 837 | |
10ace8ea MB |
838 | Say @samp{t} |
839 | to show all headers, one more | |
840 | @samp{t} | |
841 | hides them again. | |
23f87bed | 842 | |
10ace8ea MB |
843 | @node [4.4] |
844 | @subsubheading Question 4.4 | |
23f87bed | 845 | |
10ace8ea | 846 | How to view the raw unformatted message? |
23f87bed | 847 | |
10ace8ea MB |
848 | @subsubheading Answer |
849 | ||
850 | Say | |
851 | @samp{C-u g} | |
852 | to show the raw message | |
853 | @samp{g} | |
854 | returns to normal view. | |
855 | ||
856 | @node [4.5] | |
857 | @subsubheading Question 4.5 | |
858 | ||
859 | How can I change the headers Gnus displays by default at | |
860 | the top of the article buffer? | |
861 | ||
862 | @subsubheading Answer | |
863 | ||
864 | The variable gnus-visible-headers controls which headers | |
865 | are shown, its value is a regular expression, header lines | |
866 | which match it are shown. So if you want author, subject, | |
867 | date, and if the header exists, Followup-To and MUA / NUA | |
868 | say this in ~/.gnus.el: | |
23f87bed | 869 | |
23f87bed | 870 | @example |
10ace8ea MB |
871 | (setq gnus-visible-headers |
872 | '("^From" "^Subject" "^Date" "^Newsgroups" "^Followup-To" | |
873 | "^User-Agent" "^X-Newsreader" "^X-Mailer")) | |
23f87bed | 874 | @end example |
10ace8ea | 875 | @noindent |
6bf7aab6 | 876 | |
10ace8ea MB |
877 | @node [4.6] |
878 | @subsubheading Question 4.6 | |
6bf7aab6 | 879 | |
10ace8ea MB |
880 | I'd like Gnus NOT to render HTML-mails but show me the |
881 | text part if it's available. How to do it? | |
6bf7aab6 | 882 | |
10ace8ea MB |
883 | @subsubheading Answer |
884 | ||
885 | Say | |
6bf7aab6 | 886 | |
23f87bed MB |
887 | @example |
888 | (eval-after-load "mm-decode" | |
889 | '(progn | |
890 | (add-to-list 'mm-discouraged-alternatives "text/html") | |
891 | (add-to-list 'mm-discouraged-alternatives "text/richtext"))) | |
892 | @end example | |
23f87bed | 893 | @noindent |
10ace8ea MB |
894 | |
895 | in ~/.gnus.el. If you don't want HTML rendered, even if there's no text alternative add | |
6bf7aab6 | 896 | |
23f87bed MB |
897 | @example |
898 | (setq mm-automatic-display (remove "text/html" mm-automatic-display)) | |
899 | @end example | |
23f87bed | 900 | @noindent |
6bf7aab6 | 901 | |
10ace8ea | 902 | too. |
6bf7aab6 | 903 | |
10ace8ea MB |
904 | @node [4.7] |
905 | @subsubheading Question 4.7 | |
6bf7aab6 | 906 | |
10ace8ea MB |
907 | Can I use some other browser than w3 to render my HTML-mails? |
908 | ||
909 | @subsubheading Answer | |
910 | ||
911 | Only if you use Gnus 5.10 or younger. In this case you've got the | |
912 | choice between w3, w3m, links, lynx and html2text, which | |
913 | one is used can be specified in the variable | |
914 | mm-text-html-renderer, so if you want links to render your | |
915 | mail say | |
6bf7aab6 DL |
916 | |
917 | @example | |
23f87bed | 918 | (setq mm-text-html-renderer 'links) |
6bf7aab6 | 919 | @end example |
10ace8ea | 920 | @noindent |
23f87bed | 921 | |
10ace8ea MB |
922 | @node [4.8] |
923 | @subsubheading Question 4.8 | |
924 | ||
925 | Is there anything I can do to make poorly formatted mails | |
926 | more readable? | |
927 | ||
928 | @subsubheading Answer | |
929 | ||
930 | Gnus offers you several functions to "wash" incoming mail, you can | |
931 | find them if you browse through the menu, item | |
932 | Article->Washing. The most interesting ones are probably "Wrap | |
933 | long lines" (@samp{W w}), "Decode ROT13" | |
934 | (@samp{W r}) and "Outlook Deuglify" which repairs | |
935 | the dumb quoting used by many users of Microsoft products | |
936 | (@samp{W Y f} gives you full deuglify. | |
937 | See @samp{W Y C-h} or have a look at the menus for | |
938 | other deuglifications). Outlook deuglify is only available since | |
939 | Gnus 5.10. | |
940 | ||
941 | @node [4.9] | |
942 | @subsubheading Question 4.9 | |
943 | ||
944 | Is there a way to automatically ignore posts by specific | |
945 | authors or with specific words in the subject? And can I | |
946 | highlight more interesting ones in some way? | |
947 | ||
948 | @subsubheading Answer | |
949 | ||
950 | You want Scoring. Scoring means, that you define rules | |
951 | which assign each message an integer value. Depending on | |
952 | the value the message is highlighted in summary buffer (if | |
953 | it's high, say +2000) or automatically marked read (if the | |
954 | value is low, say -800) or some other action happens. | |
955 | ||
956 | There are basically three ways of setting up rules which assign | |
957 | the scoring-value to messages. The first and easiest way is to set | |
958 | up rules based on the article you are just reading. Say you're | |
959 | reading a message by a guy who always writes nonsense and you want | |
960 | to ignore his messages in the future. Hit | |
961 | @samp{L}, to set up a rule which lowers the score. | |
962 | Now Gnus asks you which the criteria for lowering the Score shall | |
963 | be. Hit @samp{?} twice to see all possibilities, | |
964 | we want @samp{a} which means the author (the from | |
965 | header). Now Gnus wants to know which kind of matching we want. | |
966 | Hit either @samp{e} for an exact match or | |
967 | @samp{s} for substring-match and delete afterwards | |
968 | everything but the name to score down all authors with the given | |
969 | name no matter which email address is used. Now you need to tell | |
970 | Gnus when to apply the rule and how long it should last, hit e.g. | |
971 | @samp{p} to apply the rule now and let it last | |
972 | forever. If you want to raise the score instead of lowering it say | |
973 | @samp{I} instead of @samp{L}. | |
974 | ||
975 | You can also set up rules by hand. To do this say @samp{V | |
976 | f} in summary buffer. Then you are asked for the name | |
977 | of the score file, it's name.of.group.SCORE for rules valid in | |
978 | only one group or all.Score for rules valid in all groups. See the | |
979 | Gnus manual for the exact syntax, basically it's one big list | |
980 | whose elements are lists again. the first element of those lists | |
981 | is the header to score on, then one more list with what to match, | |
982 | which score to assign, when to expire the rule and how to do the | |
983 | matching. If you find me very interesting, you could e.g. add the | |
984 | following to your all.Score: | |
6bf7aab6 | 985 | |
23f87bed MB |
986 | @example |
987 | (("references" ("hschmi22.userfqdn.rz-online.de" 500 nil s)) | |
988 | ("message-id" ("hschmi22.userfqdn.rz-online.de" 999 nil s))) | |
989 | @end example | |
23f87bed | 990 | @noindent |
23f87bed | 991 | |
10ace8ea MB |
992 | This would add 999 to the score of messages written by me |
993 | and 500 to the score of messages which are a (possibly | |
994 | indirect) answer to a message written by me. Of course | |
995 | nobody with a sane mind would do this :-) | |
996 | ||
997 | The third alternative is adaptive scoring. This means Gnus | |
998 | watches you and tries to find out what you find | |
999 | interesting and what annoying and sets up rules | |
1000 | which reflect this. Adaptive scoring can be a huge help | |
1001 | when reading high traffic groups. If you want to activate | |
1002 | adaptive scoring say | |
6bf7aab6 | 1003 | |
23f87bed MB |
1004 | @example |
1005 | (setq gnus-use-adaptive-scoring t) | |
1006 | @end example | |
23f87bed | 1007 | @noindent |
23f87bed | 1008 | |
10ace8ea | 1009 | in ~/.gnus.el. |
23f87bed | 1010 | |
10ace8ea MB |
1011 | @node [4.10] |
1012 | @subsubheading Question 4.10 | |
23f87bed | 1013 | |
10ace8ea MB |
1014 | How can I disable threading in some (e.g. mail-) groups, or |
1015 | set other variables specific for some groups? | |
23f87bed | 1016 | |
10ace8ea | 1017 | @subsubheading Answer |
23f87bed | 1018 | |
10ace8ea MB |
1019 | While in group buffer move point over the group and hit |
1020 | @samp{G c}, this opens a buffer where you | |
1021 | can set options for the group. At the bottom of the buffer | |
1022 | you'll find an item that allows you to set variables | |
1023 | locally for the group. To disable threading enter | |
1024 | gnus-show-threads as name of variable and nil as | |
1025 | value. Hit button done at the top of the buffer when | |
1026 | you're ready. | |
23f87bed | 1027 | |
10ace8ea MB |
1028 | @node [4.11] |
1029 | @subsubheading Question 4.11 | |
23f87bed | 1030 | |
10ace8ea MB |
1031 | Can I highlight messages written by me and follow-ups to |
1032 | those? | |
23f87bed | 1033 | |
10ace8ea | 1034 | @subsubheading Answer |
23f87bed | 1035 | |
10ace8ea MB |
1036 | Stop those "Can I ..." questions, the answer is always yes |
1037 | in Gnus Country :-). It's a three step process: First we | |
1038 | make faces (specifications of how summary-line shall look | |
1039 | like) for those postings, then we'll give them some | |
1040 | special score and finally we'll tell Gnus to use the new | |
1041 | faces. You can find detailed instructions on how to do it on | |
1042 | @uref{http://my.gnus.org/node/view/224, my.gnus.org} | |
23f87bed | 1043 | |
10ace8ea MB |
1044 | @node [4.12] |
1045 | @subsubheading Question 4.12 | |
23f87bed | 1046 | |
10ace8ea MB |
1047 | The number of total messages in a group which Gnus |
1048 | displays in group buffer is by far to high, especially in | |
1049 | mail groups. Is this a bug? | |
1050 | ||
1051 | @subsubheading Answer | |
1052 | ||
1053 | No, that's a matter of design of Gnus, fixing this would | |
1054 | mean reimplementation of major parts of Gnus' | |
1055 | back ends. Gnus thinks "highest-article-number - | |
1056 | lowest-article-number = total-number-of-articles". This | |
1057 | works OK for Usenet groups, but if you delete and move | |
1058 | many messages in mail groups, this fails. To cure the | |
1059 | symptom, enter the group via @samp{C-u RET} | |
1060 | (this makes Gnus get all messages), then | |
1061 | hit @samp{M P b} to mark all messages and | |
1062 | then say @samp{B m name.of.group} to move | |
1063 | all messages to the group they have been in before, they | |
1064 | get new message numbers in this process and the count is | |
1065 | right again (until you delete and move your mail to other | |
1066 | groups again). | |
1067 | ||
1068 | @node [4.13] | |
1069 | @subsubheading Question 4.13 | |
1070 | ||
1071 | I don't like the layout of summary and article buffer, how | |
1072 | to change it? Perhaps even a three pane display? | |
1073 | ||
1074 | @subsubheading Answer | |
1075 | ||
1076 | You can control the windows configuration by calling the | |
1077 | function gnus-add-configuration. The syntax is a bit | |
1078 | complicated but explained very well in the manual node | |
1079 | "Window Layout". Some popular examples: | |
1080 | ||
1081 | Instead 25% summary 75% article buffer 35% summary and 65% | |
1082 | article (the 1.0 for article means "take the remaining | |
1083 | space"): | |
6bf7aab6 | 1084 | |
23f87bed | 1085 | @example |
10ace8ea MB |
1086 | (gnus-add-configuration |
1087 | '(article (vertical 1.0 (summary .35 point) (article 1.0)))) | |
23f87bed | 1088 | @end example |
10ace8ea | 1089 | @noindent |
6bf7aab6 | 1090 | |
10ace8ea MB |
1091 | A three pane layout, Group buffer on the left, summary |
1092 | buffer top-right, article buffer bottom-right: | |
6bf7aab6 | 1093 | |
23f87bed MB |
1094 | @example |
1095 | (gnus-add-configuration | |
1096 | '(article | |
1097 | (horizontal 1.0 | |
1098 | (vertical 25 | |
1099 | (group 1.0)) | |
1100 | (vertical 1.0 | |
1101 | (summary 0.25 point) | |
1102 | (article 1.0))))) | |
1103 | (gnus-add-configuration | |
1104 | '(summary | |
1105 | (horizontal 1.0 | |
1106 | (vertical 25 | |
1107 | (group 1.0)) | |
1108 | (vertical 1.0 | |
10ace8ea | 1109 | (summary 1.0 point))))) |
23f87bed | 1110 | @end example |
10ace8ea | 1111 | @noindent |
23f87bed | 1112 | |
10ace8ea MB |
1113 | @node [4.14] |
1114 | @subsubheading Question 4.14 | |
23f87bed | 1115 | |
10ace8ea | 1116 | I don't like the way the Summary buffer looks, how to tweak it? |
23f87bed | 1117 | |
10ace8ea MB |
1118 | @subsubheading Answer |
1119 | ||
1120 | You've got to play around with the variable | |
1121 | gnus-summary-line-format. It's value is a string of | |
1122 | symbols which stand for things like author, date, subject | |
1123 | etc. A list of the available specifiers can be found in the | |
1124 | manual node "Summary Buffer Lines" and the often forgotten | |
1125 | node "Formatting Variables" and it's sub-nodes. There | |
1126 | you'll find useful things like positioning the cursor and | |
1127 | tabulators which allow you a summary in table form, but | |
1128 | sadly hard tabulators are broken in 5.8.8. | |
1129 | ||
1130 | Since 5.10, Gnus offers you some very nice new specifiers, | |
1131 | e.g. %B which draws a thread-tree and %&user-date which | |
1132 | gives you a date where the details are dependent of the | |
1133 | articles age. Here's an example which uses both: | |
6bf7aab6 | 1134 | |
23f87bed | 1135 | @example |
10ace8ea | 1136 | (setq gnus-summary-line-format ":%U%R %B %s %-60=|%4L |%-20,20f |%&user-date; \n") |
23f87bed | 1137 | @end example |
23f87bed | 1138 | @noindent |
23f87bed | 1139 | |
10ace8ea MB |
1140 | resulting in: |
1141 | ||
1142 | @example | |
23f87bed MB |
1143 | :O Re: [Richard Stallman] rfc2047.el | 13 |Lars Magne Ingebrigt |Sat 23:06 |
1144 | :O Re: Revival of the ding-patches list | 13 |Lars Magne Ingebrigt |Sat 23:12 | |
1145 | :R > Re: Find correct list of articles for a gro| 25 |Lars Magne Ingebrigt |Sat 23:16 | |
1146 | :O \-> ... | 21 |Kai Grossjohann | 0:01 | |
1147 | :R > Re: Cry for help: deuglify.el - moving stuf| 28 |Lars Magne Ingebrigt |Sat 23:34 | |
1148 | :O \-> ... | 115 |Raymond Scholz | 1:24 | |
1149 | :O \-> ... | 19 |Lars Magne Ingebrigt |15:33 | |
1150 | :O Slow mailing list | 13 |Lars Magne Ingebrigt |Sat 23:49 | |
1151 | :O Re: `@@' mark not documented | 13 |Lars Magne Ingebrigt |Sat 23:50 | |
1152 | :R > Re: Gnus still doesn't count messages prope| 23 |Lars Magne Ingebrigt |Sat 23:57 | |
1153 | :O \-> ... | 18 |Kai Grossjohann | 0:35 | |
1154 | :O \-> ... | 13 |Lars Magne Ingebrigt | 0:56 | |
10ace8ea MB |
1155 | @end example |
1156 | @noindent | |
23f87bed | 1157 | |
10ace8ea MB |
1158 | @node [4.15] |
1159 | @subsubheading Question 4.15 | |
23f87bed | 1160 | |
10ace8ea | 1161 | How to split incoming mails in several groups? |
23f87bed | 1162 | |
10ace8ea | 1163 | @subsubheading Answer |
23f87bed | 1164 | |
10ace8ea MB |
1165 | Gnus offers two possibilities for splitting mail, the easy |
1166 | nnmail-split-methods and the more powerful Fancy Mail | |
1167 | Splitting. I'll only talk about the first one, refer to | |
1168 | the manual, node "Fancy Mail Splitting" for the latter. | |
1169 | ||
1170 | The value of nnmail-split-methods is a list, each element | |
1171 | is a list which stands for a splitting rule. Each rule has | |
1172 | the form "group where matching articles should go to", | |
1173 | "regular expression which has to be matched", the first | |
1174 | rule which matches wins. The last rule must always be a | |
1175 | general rule (regular expression .*) which denotes where | |
1176 | articles should go which don't match any other rule. If | |
1177 | the folder doesn't exist yet, it will be created as soon | |
1178 | as an article lands there. By default the mail will be | |
1179 | send to all groups whose rules match. If you | |
1180 | don't want that (you probably don't want), say | |
6bf7aab6 | 1181 | |
23f87bed MB |
1182 | @example |
1183 | (setq nnmail-crosspost nil) | |
1184 | @end example | |
23f87bed | 1185 | @noindent |
6bf7aab6 | 1186 | |
10ace8ea MB |
1187 | in ~/.gnus.el. |
1188 | ||
1189 | An example might be better than thousand words, so here's | |
1190 | my nnmail-split-methods. Note that I send duplicates in a | |
1191 | special group and that the default group is spam, since I | |
1192 | filter all mails out which are from some list I'm | |
1193 | subscribed to or which are addressed directly to me | |
1194 | before. Those rules kill about 80% of the Spam which | |
1195 | reaches me (Email addresses are changed to prevent spammers | |
1196 | from using them): | |
6bf7aab6 | 1197 | |
23f87bed MB |
1198 | @example |
1199 | (setq nnmail-split-methods | |
1200 | '(("duplicates" "^Gnus-Warning:.*duplicate") | |
3c02e719 MB |
1201 | ("XEmacs-NT" "^\\(To:\\|CC:\\).*localpart@@xemacs.invalid.*") |
1202 | ("Gnus-Tut" "^\\(To:\\|CC:\\).*localpart@@socha.invalid.*") | |
1203 | ("tcsh" "^\\(To:\\|CC:\\).*localpart@@mx.gw.invalid.*") | |
1204 | ("BAfH" "^\\(To:\\|CC:\\).*localpart@@.*uni-muenchen.invalid.*") | |
10ace8ea | 1205 | ("Hamster-src" "^\\(CC:\\|To:\\).*hamster-sourcen@@yahoogroups.\\(de\\|com\\).*") |
3c02e719 MB |
1206 | ("Tagesschau" "^From: tagesschau <localpart@@www.tagesschau.invalid>$") |
1207 | ("Replies" "^\\(CC:\\|To:\\).*localpart@@Frank-Schmitt.invalid.*") | |
1208 | ("EK" "^From:.*\\(localpart@@privateprovider.invalid\\|localpart@@workplace.invalid\\).*") | |
10ace8ea MB |
1209 | ("Spam" "^Content-Type:.*\\(ks_c_5601-1987\\|EUC-KR\\|big5\\|iso-2022-jp\\).*") |
1210 | ("Spam" "^Subject:.*\\(This really work\\|XINGA\\|ADV:\\|XXX\\|adult\\|sex\\).*") | |
1211 | ("Spam" "^Subject:.*\\(\=\?ks_c_5601-1987\?\\|\=\?euc-kr\?\\|\=\?big5\?\\).*") | |
23f87bed | 1212 | ("Spam" "^X-Mailer:\\(.*BulkMailer.*\\|.*MIME::Lite.*\\|\\)") |
10ace8ea MB |
1213 | ("Spam" "^X-Mailer:\\(.*CyberCreek Avalanche\\|.*http\:\/\/GetResponse\.com\\)") |
1214 | ("Spam" "^From:.*\\(verizon\.net\\|prontomail\.com\\|money\\|ConsumerDirect\\).*") | |
3c02e719 | 1215 | ("Spam" "^Delivered-To: GMX delivery to spamtrap@@gmx.invalid$") |
23f87bed | 1216 | ("Spam" "^Received: from link2buy.com") |
3c02e719 | 1217 | ("Spam" "^CC: .*azzrael@@t-online.invalid") |
23f87bed | 1218 | ("Spam" "^X-Mailer-Version: 1.50 BETA") |
3c02e719 MB |
1219 | ("Uni" "^\\(CC:\\|To:\\).*localpart@@uni-koblenz.invalid.*") |
1220 | ("Inbox" "^\\(CC:\\|To:\\).*\\(my\ name\\|address@@one.invalid\\|adress@@two.invalid\\)") | |
23f87bed MB |
1221 | ("Spam" ""))) |
1222 | @end example | |
10ace8ea | 1223 | @noindent |
6bf7aab6 | 1224 | |
10ace8ea | 1225 | @node FAQ 5 - Composing messages |
23f87bed | 1226 | @subsection Composing messages |
6bf7aab6 | 1227 | |
23f87bed | 1228 | @menu |
10ace8ea MB |
1229 | * [5.1]:: What are the basic commands I need to know for sending |
1230 | mail and postings? | |
1231 | * [5.2]:: How to enable automatic word-wrap when composing messages? | |
1232 | * [5.3]:: How to set stuff like From, Organization, Reply-To, | |
1233 | signature...? | |
1234 | * [5.4]:: Can I set things like From, Signature etc group based on | |
1235 | the group I post too? | |
1236 | * [5.5]:: Is there a spell-checker? Perhaps even on-the-fly | |
1237 | spell-checking? | |
1238 | * [5.6]:: Can I set the dictionary based on the group I'm posting | |
1239 | to? | |
1240 | * [5.7]:: Is there some kind of address-book, so I needn't remember | |
1241 | all those email addresses? | |
1242 | * [5.8]:: Sometimes I see little images at the top of article | |
1243 | buffer. What's that and how can I send one with my postings, too? | |
1244 | * [5.9]:: Sometimes I accidentally hit r instead of f in newsgroups. | |
1245 | Can Gnus warn me, when I'm replying by mail in newsgroups? | |
1246 | * [5.10]:: How to tell Gnus not to generate a sender header? | |
1247 | * [5.11]:: I want Gnus to locally store copies of my send mail and | |
1248 | news, how to do it? | |
1249 | * [5.12]:: People tell me my Message-IDs are not correct, why aren't | |
1250 | they and how to fix it? | |
23f87bed | 1251 | @end menu |
6bf7aab6 | 1252 | |
10ace8ea MB |
1253 | @node [5.1] |
1254 | @subsubheading Question 5.1 | |
23f87bed | 1255 | |
10ace8ea | 1256 | What are the basic commands I need to know for sending mail and postings? |
23f87bed | 1257 | |
10ace8ea | 1258 | @subsubheading Answer |
23f87bed | 1259 | |
10ace8ea MB |
1260 | To start composing a new mail hit @samp{m} |
1261 | either in Group or Summary buffer, for a posting, it's | |
1262 | either @samp{a} in Group buffer and | |
1263 | filling the Newsgroups header manually | |
1264 | or @samp{a} in the Summary buffer of the | |
1265 | group where the posting shall be send to. Replying by mail | |
1266 | is | |
1267 | @samp{r} if you don't want to cite the | |
1268 | author, or import the cited text manually and | |
1269 | @samp{R} to cite the text of the original | |
1270 | message. For a follow up to a newsgroup, it's | |
1271 | @samp{f} and @samp{F} | |
1272 | (analogously to @samp{r} and | |
1273 | @samp{R}). | |
23f87bed | 1274 | |
10ace8ea MB |
1275 | Enter new headers above the line saying "--text follows |
1276 | this line--", enter the text below the line. When ready | |
1277 | hit @samp{C-c C-c}, to send the message, | |
1278 | if you want to finish it later hit @samp{C-c | |
1279 | C-d} to save it in the drafts group, where you | |
1280 | can start editing it again by saying @samp{D | |
1281 | e}. | |
23f87bed | 1282 | |
10ace8ea MB |
1283 | @node [5.2] |
1284 | @subsubheading Question 5.2 | |
23f87bed | 1285 | |
10ace8ea MB |
1286 | How to enable automatic word-wrap when composing messages? |
1287 | ||
1288 | @subsubheading Answer | |
1289 | ||
1290 | Say | |
6bf7aab6 | 1291 | |
23f87bed MB |
1292 | @example |
1293 | (add-hook 'message-mode-hook | |
10ace8ea MB |
1294 | (lambda () |
1295 | (setq fill-column 72) | |
1296 | (turn-on-auto-fill))) | |
23f87bed | 1297 | @end example |
23f87bed | 1298 | @noindent |
6bf7aab6 | 1299 | |
10ace8ea MB |
1300 | in ~/.gnus.el. You can reformat a paragraph by hitting |
1301 | @samp{M-q} (as usual) | |
6bf7aab6 | 1302 | |
10ace8ea MB |
1303 | @node [5.3] |
1304 | @subsubheading Question 5.3 | |
6bf7aab6 | 1305 | |
10ace8ea MB |
1306 | How to set stuff like From, Organization, Reply-To, signature...? |
1307 | ||
1308 | @subsubheading Answer | |
1309 | ||
1310 | There are other ways, but you should use posting styles | |
1311 | for this. (See below why). | |
1312 | This example should make the syntax clear: | |
6bf7aab6 | 1313 | |
23f87bed MB |
1314 | @example |
1315 | (setq gnus-posting-styles | |
1316 | '((".*" | |
1317 | (name "Frank Schmitt") | |
3c02e719 | 1318 | (address "me@@there.invalid") |
23f87bed MB |
1319 | (organization "Hamme net, kren mer och nimmi") |
1320 | (signature-file "~/.signature") | |
1321 | ("X-SampleHeader" "foobar") | |
1322 | (eval (setq some-variable "Foo bar"))))) | |
1323 | @end example | |
23f87bed | 1324 | @noindent |
23f87bed | 1325 | |
10ace8ea MB |
1326 | The ".*" means that this settings are the default ones |
1327 | (see below), valid values for the first element of the | |
1328 | following lists are signature, signature-file, | |
1329 | organization, address, name or body. The attribute name | |
1330 | can also be a string. In that case, this will be used as | |
1331 | a header name, and the value will be inserted in the | |
1332 | headers of the article; if the value is `nil', the header | |
1333 | name will be removed. You can also say (eval (foo bar)), | |
1334 | then the function foo will be evaluated with argument bar | |
1335 | and the result will be thrown away. | |
1336 | ||
1337 | @node [5.4] | |
1338 | @subsubheading Question 5.4 | |
1339 | ||
1340 | Can I set things like From, Signature etc group based on the group I post too? | |
1341 | ||
1342 | @subsubheading Answer | |
1343 | ||
1344 | That's the strength of posting styles. Before, we used ".*" | |
1345 | to set the default for all groups. You can use a regexp | |
1346 | like "^gmane" and the following settings are only applied | |
1347 | to postings you send to the gmane hierarchy, use | |
1348 | ".*binaries" instead and they will be applied to postings | |
1349 | send to groups containing the string binaries in their | |
1350 | name etc. | |
1351 | ||
1352 | You can instead of specifying a regexp specify a function | |
1353 | which is evaluated, only if it returns true, the | |
1354 | corresponding settings take effect. Two interesting | |
1355 | candidates for this are message-news-p which returns t if | |
1356 | the current Group is a newsgroup and the corresponding | |
1357 | message-mail-p. | |
1358 | ||
1359 | Note that all forms that match are applied, that means in | |
1360 | the example below, when I post to | |
1361 | gmane.mail.spam.spamassassin.general, the settings under | |
1362 | ".*" are applied and the settings under message-news-p and | |
1363 | those under "^gmane" and those under | |
1364 | "^gmane\\.mail\\.spam\\.spamassassin\\.general$". Because | |
1365 | of this put general settings at the top and specific ones | |
1366 | at the bottom. | |
6bf7aab6 | 1367 | |
23f87bed MB |
1368 | @example |
1369 | (setq gnus-posting-styles | |
3c02e719 MB |
1370 | '((".*" ;;default |
1371 | (name "Frank Schmitt") | |
1372 | (organization "Hamme net, kren mer och nimmi") | |
1373 | (signature-file "~/.signature")) | |
1374 | ((message-news-p) ;;Usenet news? | |
1375 | (address "mySpamTrap@@Frank-Schmitt.invalid") | |
1376 | (reply-to "hereRealRepliesOnlyPlease@@Frank-Schmitt.invalid")) | |
1377 | ((message-mail-p) ;;mail? | |
1378 | (address "usedForMails@@Frank-Schmitt.invalid")) | |
1379 | ("^gmane" ;;this is mail, too in fact | |
1380 | (address "usedForMails@@Frank-Schmitt.invalid") | |
1381 | (reply-to nil)) | |
1382 | ("^gmane\\.mail\\.spam\\.spamassassin\\.general$" | |
1383 | (eval (set (make-local-variable 'message-sendmail-envelope-from) | |
1384 | "Azzrael@@rz-online.de"))))) | |
23f87bed | 1385 | @end example |
10ace8ea | 1386 | @noindent |
6bf7aab6 | 1387 | |
10ace8ea MB |
1388 | @node [5.5] |
1389 | @subsubheading Question 5.5 | |
6bf7aab6 | 1390 | |
10ace8ea | 1391 | Is there a spell-checker? Perhaps even on-the-fly spell-checking? |
6bf7aab6 | 1392 | |
10ace8ea | 1393 | @subsubheading Answer |
23f87bed | 1394 | |
10ace8ea MB |
1395 | You can use ispell.el to spell-check stuff in Emacs. So the |
1396 | first thing to do is to make sure that you've got either | |
1397 | @uref{http://fmg-www.cs.ucla.edu/fmg-members/geoff/ispell.html, ispell} | |
1398 | or @uref{http://aspell.sourceforge.net/, aspell} | |
1399 | installed and in your Path. Then you need | |
1400 | @uref{http://www.kdstevens.com/~stevens/ispell-page.html, ispell.el} | |
1401 | and for on-the-fly spell-checking | |
1402 | @uref{http://www-sop.inria.fr/mimosa/personnel/Manuel.Serrano/flyspell/flyspell.html, flyspell.el}. | |
1403 | Ispell.el is shipped with Emacs and available through the XEmacs package system, | |
1404 | flyspell.el is shipped with Emacs and part of XEmacs text-modes package which is | |
1405 | available through the package system, so there should be no need to install them | |
1406 | manually. | |
1407 | ||
1408 | Ispell.el assumes you use ispell, if you choose aspell say | |
6bf7aab6 | 1409 | |
23f87bed MB |
1410 | @example |
1411 | (setq ispell-program-name "aspell") | |
1412 | @end example | |
23f87bed | 1413 | @noindent |
23f87bed | 1414 | |
10ace8ea | 1415 | in your Emacs configuration file. |
6bf7aab6 | 1416 | |
10ace8ea | 1417 | If you want your outgoing messages to be spell-checked, say |
6bf7aab6 | 1418 | |
23f87bed MB |
1419 | @example |
1420 | (add-hook 'message-send-hook 'ispell-message) | |
1421 | @end example | |
23f87bed | 1422 | @noindent |
10ace8ea MB |
1423 | |
1424 | In your ~/.gnus.el, if you prefer on-the-fly spell-checking say | |
6bf7aab6 | 1425 | |
23f87bed MB |
1426 | @example |
1427 | (add-hook 'message-mode-hook (lambda () (flyspell-mode 1))) | |
1428 | @end example | |
10ace8ea | 1429 | @noindent |
6bf7aab6 | 1430 | |
10ace8ea MB |
1431 | @node [5.6] |
1432 | @subsubheading Question 5.6 | |
6bf7aab6 | 1433 | |
10ace8ea | 1434 | Can I set the dictionary based on the group I'm posting to? |
6bf7aab6 | 1435 | |
10ace8ea MB |
1436 | @subsubheading Answer |
1437 | ||
1438 | Yes, say something like | |
6bf7aab6 | 1439 | |
23f87bed MB |
1440 | @example |
1441 | (add-hook 'gnus-select-group-hook | |
1442 | (lambda () | |
1443 | (cond | |
1444 | ((string-match | |
1445 | "^de\\." (gnus-group-real-name gnus-newsgroup-name)) | |
1446 | (ispell-change-dictionary "deutsch8")) | |
1447 | (t | |
1448 | (ispell-change-dictionary "english"))))) | |
1449 | @end example | |
23f87bed | 1450 | @noindent |
23f87bed | 1451 | |
10ace8ea MB |
1452 | in ~/.gnus.el. Change "^de\\." and "deutsch8" to something |
1453 | that suits your needs. | |
6bf7aab6 | 1454 | |
10ace8ea MB |
1455 | @node [5.7] |
1456 | @subsubheading Question 5.7 | |
6bf7aab6 | 1457 | |
10ace8ea MB |
1458 | Is there some kind of address-book, so I needn't remember |
1459 | all those email addresses? | |
6bf7aab6 | 1460 | |
10ace8ea MB |
1461 | @subsubheading Answer |
1462 | ||
1463 | There's an very basic solution for this, mail aliases. | |
1464 | You can store your mail addresses in a ~/.mailrc file using a simple | |
1465 | alias syntax: | |
6bf7aab6 | 1466 | |
23f87bed | 1467 | @example |
3c02e719 | 1468 | alias al "Al <al@@english-heritage.invalid>" |
23f87bed | 1469 | @end example |
23f87bed | 1470 | @noindent |
6bf7aab6 | 1471 | |
10ace8ea MB |
1472 | Then typing your alias (followed by a space or punctuation |
1473 | character) on a To: or Cc: line in the message buffer will | |
1474 | cause Gnus to insert the full address for you. See the | |
1475 | node "Mail Aliases" in Message (not Gnus) manual for | |
1476 | details. | |
1477 | ||
1478 | However, what you really want is the Insidious Big Brother | |
1479 | Database bbdb. Get it through the XEmacs package system or from | |
1480 | @uref{http://bbdb.sourceforge.net/, bbdb's homepage}. | |
1481 | Now place the following in ~/.gnus.el, to activate bbdb for Gnus: | |
6bf7aab6 | 1482 | |
23f87bed MB |
1483 | @example |
1484 | (require 'bbdb) | |
1485 | (bbdb-initialize 'gnus 'message) | |
1486 | @end example | |
23f87bed | 1487 | @noindent |
10ace8ea MB |
1488 | |
1489 | Now you probably want some general bbdb configuration, | |
1490 | place them in ~/.emacs: | |
6bf7aab6 | 1491 | |
23f87bed MB |
1492 | @example |
1493 | (require 'bbdb) | |
1494 | ;;If you don't live in Northern America, you should disable the | |
1495 | ;;syntax check for telephone numbers by saying | |
1496 | (setq bbdb-north-american-phone-numbers-p nil) | |
1497 | ;;Tell bbdb about your email address: | |
1498 | (setq bbdb-user-mail-names | |
3c02e719 MB |
1499 | (regexp-opt '("Your.Email@@here.invalid" |
1500 | "Your.other@@mail.there.invalid"))) | |
23f87bed MB |
1501 | ;;cycling while completing email addresses |
1502 | (setq bbdb-complete-name-allow-cycling t) | |
1503 | ;;No popup-buffers | |
1504 | (setq bbdb-use-pop-up nil) | |
1505 | @end example | |
23f87bed | 1506 | @noindent |
23f87bed | 1507 | |
10ace8ea MB |
1508 | Now you should be ready to go. Say @samp{M-x bbdb RET |
1509 | RET} to open a bbdb buffer showing all | |
1510 | entries. Say @samp{c} to create a new | |
1511 | entry, @samp{b} to search your BBDB and | |
1512 | @samp{C-o} to add a new field to an | |
1513 | entry. If you want to add a sender to the BBDB you can | |
1514 | also just hit `:' on the posting in the summary buffer and | |
1515 | you are done. When you now compose a new mail, | |
1516 | hit @samp{TAB} to cycle through know | |
1517 | recipients. | |
1518 | ||
1519 | @node [5.8] | |
1520 | @subsubheading Question 5.8 | |
1521 | ||
1522 | Sometimes I see little images at the top of article | |
1523 | buffer. What's that and how can I send one with my | |
1524 | postings, too? | |
1525 | ||
1526 | @subsubheading Answer | |
1527 | ||
1528 | Those images are called X-Faces. They are 48*48 pixel b/w | |
1529 | pictures, encoded in a header line. If you want to include | |
1530 | one in your posts, you've got to convert some image to a | |
1531 | X-Face. So fire up some image manipulation program (say | |
1532 | Gimp), open the image you want to include, cut out the | |
1533 | relevant part, reduce color depth to 1 bit, resize to | |
1534 | 48*48 and save as bitmap. Now you should get the compface | |
1535 | package from | |
1536 | @uref{ftp://ftp.cs.indiana.edu:/pub/faces/, this site}. | |
1537 | and create the actual X-face by saying | |
6bf7aab6 | 1538 | |
23f87bed | 1539 | @example |
10ace8ea MB |
1540 | cat file.xbm | xbm2ikon | compface > file.face |
1541 | cat file.face | sed 's/\\/\\\\/g;s/\"/\\\"/g;' > file.face.quoted | |
23f87bed | 1542 | @end example |
23f87bed | 1543 | @noindent |
6bf7aab6 | 1544 | |
10ace8ea MB |
1545 | If you can't use compface, there's an online X-face converter at |
1546 | @uref{http://www.dairiki.org/xface/}. | |
1547 | If you use MS Windows, you could also use the WinFace program from | |
1548 | @uref{http://www.xs4all.nl/~walterln/winface/}. | |
1549 | Now you only have to tell Gnus to include the X-face in your postings by saying | |
6bf7aab6 | 1550 | |
23f87bed MB |
1551 | @example |
1552 | (setq message-default-headers | |
1553 | (with-temp-buffer | |
1554 | (insert "X-Face: ") | |
29314e0f | 1555 | (insert-file-contents "~/.xface") |
23f87bed MB |
1556 | (buffer-string))) |
1557 | @end example | |
23f87bed | 1558 | @noindent |
6bf7aab6 | 1559 | |
29314e0f MB |
1560 | in ~/.gnus.el. If you use Gnus 5.10, you can simply add an entry |
1561 | ||
1562 | @example | |
1563 | (x-face-file "~/.xface") | |
1564 | @end example | |
1565 | @noindent | |
1566 | ||
1567 | to gnus-posting-styles. | |
23f87bed | 1568 | |
10ace8ea MB |
1569 | @node [5.9] |
1570 | @subsubheading Question 5.9 | |
1571 | ||
1572 | Sometimes I accidentally hit r instead of f in | |
1573 | newsgroups. Can Gnus warn me, when I'm replying by mail in | |
1574 | newsgroups? | |
1575 | ||
1576 | @subsubheading Answer | |
1577 | ||
1578 | Put this in ~/.gnus.el: | |
23f87bed MB |
1579 | |
1580 | @example | |
1581 | (setq gnus-confirm-mail-reply-to-news t) | |
1582 | @end example | |
23f87bed | 1583 | @noindent |
10ace8ea MB |
1584 | |
1585 | if you already use Gnus 5.10, if you still use 5.8.8 or | |
1586 | 5.9 try this instead: | |
23f87bed MB |
1587 | |
1588 | @example | |
ebbeed62 MB |
1589 | (eval-after-load "gnus-msg" |
1590 | '(unless (boundp 'gnus-confirm-mail-reply-to-news) | |
1591 | (defadvice gnus-summary-reply (around reply-in-news activate) | |
1592 | "Request confirmation when replying to news." | |
23f87bed | 1593 | (interactive) |
ebbeed62 MB |
1594 | (when (or (not (gnus-news-group-p gnus-newsgroup-name)) |
1595 | (y-or-n-p "Really reply by mail to article author? ")) | |
1596 | ad-do-it)))) | |
23f87bed | 1597 | @end example |
10ace8ea | 1598 | @noindent |
23f87bed | 1599 | |
10ace8ea MB |
1600 | @node [5.10] |
1601 | @subsubheading Question 5.10 | |
23f87bed | 1602 | |
10ace8ea | 1603 | How to tell Gnus not to generate a sender header? |
23f87bed | 1604 | |
10ace8ea MB |
1605 | @subsubheading Answer |
1606 | ||
1607 | Since 5.10 Gnus doesn't generate a sender header by | |
1608 | default. For older Gnus' try this in ~/.gnus.el: | |
23f87bed MB |
1609 | |
1610 | @example | |
1611 | (eval-after-load "message" | |
1612 | '(add-to-list 'message-syntax-checks '(sender . disabled))) | |
1613 | @end example | |
10ace8ea | 1614 | @noindent |
23f87bed | 1615 | |
10ace8ea MB |
1616 | @node [5.11] |
1617 | @subsubheading Question 5.11 | |
23f87bed | 1618 | |
10ace8ea MB |
1619 | I want Gnus to locally store copies of my send mail and |
1620 | news, how to do it? | |
23f87bed | 1621 | |
10ace8ea MB |
1622 | @subsubheading Answer |
1623 | ||
1624 | You must set the variable gnus-message-archive-group to do | |
1625 | this. You can set it to a string giving the name of the | |
1626 | group where the copies shall go or like in the example | |
1627 | below use a function which is evaluated and which returns | |
1628 | the group to use. | |
23f87bed MB |
1629 | |
1630 | @example | |
1631 | (setq gnus-message-archive-group | |
1632 | '((if (message-news-p) | |
1633 | "nnml:Send-News" | |
1634 | "nnml:Send-Mail"))) | |
1635 | @end example | |
10ace8ea | 1636 | @noindent |
23f87bed | 1637 | |
10ace8ea MB |
1638 | @node [5.12] |
1639 | @subsubheading Question 5.12 | |
1640 | ||
1641 | People tell me my Message-IDs are not correct, why | |
1642 | aren't they and how to fix it? | |
23f87bed | 1643 | |
10ace8ea MB |
1644 | @subsubheading Answer |
1645 | ||
1646 | The message-ID is an unique identifier for messages you | |
1647 | send. To make it unique, Gnus need to know which machine | |
1648 | name to put after the "@@". If the name of the machine | |
1649 | where Gnus is running isn't suitable (it probably isn't | |
1650 | at most private machines) you can tell Gnus what to use | |
1651 | by saying: | |
23f87bed | 1652 | |
23f87bed MB |
1653 | @example |
1654 | (setq message-user-fqdn "yourmachine.yourdomain.tld") | |
1655 | @end example | |
1656 | @noindent | |
10ace8ea | 1657 | |
3e26254b | 1658 | in ~/.gnus.el. If you use Gnus 5.9 or earlier, you can use this |
10ace8ea MB |
1659 | instead (works for newer versions a well): |
1660 | ||
23f87bed MB |
1661 | @example |
1662 | (eval-after-load "message" | |
9b5773bc | 1663 | '(let ((fqdn "yourmachine.yourdomain.tld"));; <-- Edit this! |
23f87bed MB |
1664 | (if (boundp 'message-user-fqdn) |
1665 | (setq message-user-fqdn fqdn) | |
1666 | (gnus-message 1 "Redefining `message-make-fqdn'.") | |
1667 | (defun message-make-fqdn () | |
1668 | "Return user's fully qualified domain name." | |
1669 | fqdn)))) | |
1670 | @end example | |
10ace8ea | 1671 | @noindent |
23f87bed | 1672 | |
10ace8ea MB |
1673 | If you have no idea what to insert for |
1674 | "yourmachine.yourdomain.tld", you've got several | |
1675 | choices. You can either ask your provider if he allows | |
1676 | you to use something like | |
1677 | yourUserName.userfqdn.provider.net, or you can use | |
1678 | somethingUnique.yourdomain.tld if you own the domain | |
1679 | yourdomain.tld, or you can register at a service which | |
1680 | gives private users a FQDN for free, e.g. | |
1681 | @uref{http://www.stura.tu-freiberg.de/~dlx/addfqdn.html}. | |
1682 | (Sorry but this website is in German, if you know of an | |
1683 | English one offering the same, drop me a note). | |
1684 | ||
1685 | Finally you can tell Gnus not to generate a Message-ID | |
1686 | for News at all (and letting the server do the job) by saying | |
23f87bed MB |
1687 | |
1688 | @example | |
1689 | (setq message-required-news-headers | |
1690 | (remove' Message-ID message-required-news-headers)) | |
1691 | @end example | |
23f87bed | 1692 | @noindent |
10ace8ea MB |
1693 | |
1694 | you can also tell Gnus not to generate Message-IDs for mail by saying | |
23f87bed MB |
1695 | |
1696 | @example | |
1697 | (setq message-required-mail-headers | |
1698 | (remove' Message-ID message-required-mail-headers)) | |
1699 | @end example | |
23f87bed | 1700 | @noindent |
23f87bed | 1701 | |
10ace8ea MB |
1702 | , however some mail servers don't generate proper |
1703 | Message-IDs, too, so test if your Mail Server behaves | |
1704 | correctly by sending yourself a Mail and looking at the Message-ID. | |
1705 | ||
1706 | @node FAQ 6 - Old messages | |
23f87bed MB |
1707 | @subsection Old messages |
1708 | ||
1709 | @menu | |
10ace8ea MB |
1710 | * [6.1]:: How to import my old mail into Gnus? |
1711 | * [6.2]:: How to archive interesting messages? | |
1712 | * [6.3]:: How to search for a specific message? | |
1713 | * [6.4]:: How to get rid of old unwanted mail? | |
1714 | * [6.5]:: I want that all read messages are expired (at least in some | |
1715 | groups). How to do it? | |
1716 | * [6.6]:: I don't want expiration to delete my mails but to move them | |
1717 | to another group. | |
23f87bed MB |
1718 | @end menu |
1719 | ||
10ace8ea MB |
1720 | @node [6.1] |
1721 | @subsubheading Question 6.1 | |
1722 | ||
1723 | How to import my old mail into Gnus? | |
1724 | ||
1725 | @subsubheading Answer | |
1726 | ||
1727 | The easiest way is to tell your old mail program to | |
1728 | export the messages in mbox format. Most Unix mailers | |
1729 | are able to do this, if you come from the MS Windows | |
1730 | world, you may find tools at | |
1731 | @uref{http://mbx2mbox.sourceforge.net/}. | |
1732 | ||
1733 | Now you've got to import this mbox file into Gnus. To do | |
1734 | this, create a nndoc group based on the mbox file by | |
1735 | saying @samp{G f /path/file.mbox RET} in | |
1736 | Group buffer. You now have read-only access to your | |
1737 | mail. If you want to import the messages to your normal | |
1738 | Gnus mail groups hierarchy, enter the nndoc group you've | |
1739 | just created by saying @samp{C-u RET} | |
1740 | (thus making sure all messages are retrieved), mark all | |
1741 | messages by saying @samp{M P b} and | |
1742 | either copy them to the desired group by saying | |
1743 | @samp{B c name.of.group RET} or send them | |
1744 | through nnmail-split-methods (respool them) by saying | |
1745 | @samp{B r}. | |
1746 | ||
1747 | @node [6.2] | |
1748 | @subsubheading Question 6.2 | |
1749 | ||
1750 | How to archive interesting messages? | |
1751 | ||
1752 | @subsubheading Answer | |
1753 | ||
1754 | If you stumble across an interesting message, say in | |
1755 | gnu.emacs.gnus and want to archive it there are several | |
1756 | solutions. The first and easiest is to save it to a file | |
1757 | by saying @samp{O f}. However, wouldn't | |
1758 | it be much more convenient to have more direct access to | |
1759 | the archived message from Gnus? If you say yes, put this | |
1760 | snippet by Frank Haun <pille3003@@fhaun.de> in | |
1761 | ~/.gnus.el: | |
23f87bed MB |
1762 | |
1763 | @example | |
1764 | (defun my-archive-article (&optional n) | |
1765 | "Copies one or more article(s) to a corresponding `nnml:' group, e.g. | |
1766 | `gnus.ding' goes to `nnml:1.gnus.ding'. And `nnml:List-gnus.ding' goes | |
1767 | to `nnml:1.List-gnus-ding'. | |
1768 | ||
1769 | Use process marks or mark a region in the summary buffer to archive | |
1770 | more then one article." | |
1771 | (interactive "P") | |
1772 | (let ((archive-name | |
1773 | (format | |
1774 | "nnml:1.%s" | |
1775 | (if (featurep 'xemacs) | |
1776 | (replace-in-string gnus-newsgroup-name "^.*:" "") | |
1777 | (replace-regexp-in-string "^.*:" "" gnus-newsgroup-name))))) | |
1778 | (gnus-summary-copy-article n archive-name))) | |
1779 | @end example | |
23f87bed | 1780 | @noindent |
23f87bed | 1781 | |
10ace8ea MB |
1782 | You can now say @samp{M-x |
1783 | my-archive-article} in summary buffer to | |
1784 | archive the article under the cursor in a nnml | |
1785 | group. (Change nnml to your preferred back end) | |
1786 | ||
1787 | Of course you can also make sure the cache is enabled by saying | |
23f87bed MB |
1788 | |
1789 | @example | |
1790 | (setq gnus-use-cache t) | |
1791 | @end example | |
23f87bed | 1792 | @noindent |
23f87bed | 1793 | |
10ace8ea MB |
1794 | then you only have to set either the tick or the dormant |
1795 | mark for articles you want to keep, setting the read | |
1796 | mark will remove them from cache. | |
1797 | ||
1798 | @node [6.3] | |
1799 | @subsubheading Question 6.3 | |
1800 | ||
1801 | How to search for a specific message? | |
1802 | ||
1803 | @subsubheading Answer | |
1804 | ||
1805 | There are several ways for this, too. For a posting from | |
1806 | a Usenet group the easiest solution is probably to ask | |
1807 | @uref{http://groups.google.com, groups.google.com}, | |
1808 | if you found the posting there, tell Google to display | |
1809 | the raw message, look for the message-id, and say | |
1810 | @samp{M-^ the@@message.id RET} in a | |
1811 | summary buffer. | |
1812 | Since Gnus 5.10 there's also a Gnus interface for | |
1813 | groups.google.com which you can call with | |
1814 | @samp{G W}) in group buffer. | |
1815 | ||
1816 | Another idea which works for both mail and news groups | |
1817 | is to enter the group where the message you are | |
1818 | searching is and use the standard Emacs search | |
1819 | @samp{C-s}, it's smart enough to look at | |
1820 | articles in collapsed threads, too. If you want to | |
1821 | search bodies, too try @samp{M-s} | |
1822 | instead. Further on there are the | |
1823 | gnus-summary-limit-to-foo functions, which can help you, | |
1824 | too. | |
1825 | ||
1826 | Of course you can also use grep to search through your | |
1827 | local mail, but this is both slow for big archives and | |
1828 | inconvenient since you are not displaying the found mail | |
1829 | in Gnus. Here comes nnir into action. Nnir is a front end | |
1830 | to search engines like swish-e or swish++ and | |
1831 | others. You index your mail with one of those search | |
1832 | engines and with the help of nnir you can search trough | |
1833 | the indexed mail and generate a temporary group with all | |
1834 | messages which met your search criteria. If this sound | |
1835 | cool to you get nnir.el from | |
1836 | @uref{ftp://ls6-ftp.cs.uni-dortmund.de/pub/src/emacs/} | |
1837 | or @uref{ftp://ftp.is.informatik.uni-duisburg.de/pub/src/emacs/}. | |
1838 | Instructions on how to use it are at the top of the file. | |
1839 | ||
1840 | @node [6.4] | |
1841 | @subsubheading Question 6.4 | |
1842 | ||
1843 | How to get rid of old unwanted mail? | |
1844 | ||
1845 | @subsubheading Answer | |
1846 | ||
1847 | You can of course just mark the mail you don't need | |
1848 | anymore by saying @samp{#} with point | |
1849 | over the mail and then say @samp{B DEL} | |
1850 | to get rid of them forever. You could also instead of | |
1851 | actually deleting them, send them to a junk-group by | |
1852 | saying @samp{B m nnml:trash-bin} which | |
1853 | you clear from time to time, but both are not the intended | |
1854 | way in Gnus. | |
1855 | ||
1856 | In Gnus, we let mail expire like news expires on a news | |
1857 | server. That means you tell Gnus the message is | |
1858 | expirable (you tell Gnus "I don't need this mail | |
1859 | anymore") by saying @samp{E} with point | |
1860 | over the mail in summary buffer. Now when you leave the | |
1861 | group, Gnus looks at all messages which you marked as | |
1862 | expirable before and if they are old enough (default is | |
1863 | older than a week) they are deleted. | |
1864 | ||
1865 | @node [6.5] | |
1866 | @subsubheading Question 6.5 | |
1867 | ||
1868 | I want that all read messages are expired (at least in | |
1869 | some groups). How to do it? | |
1870 | ||
1871 | @subsubheading Answer | |
1872 | ||
1873 | If you want all read messages to be expired (e.g. in | |
1874 | mailing lists where there's an online archive), you've | |
1875 | got two choices: auto-expire and | |
1876 | total-expire. Auto-expire means, that every article | |
1877 | which has no marks set and is selected for reading is | |
1878 | marked as expirable, Gnus hits @samp{E} | |
1879 | for you every time you read a message. Total-expire | |
1880 | follows a slightly different approach, here all article | |
1881 | where the read mark is set are expirable. | |
1882 | ||
1883 | To activate auto-expire, include auto-expire in the | |
1884 | Group parameters for the group. (Hit @samp{G | |
1885 | c} in summary buffer with point over the | |
1886 | group to change group parameters). For total-expire add | |
1887 | total-expire to the group-parameters. | |
1888 | ||
1889 | Which method you choose is merely a matter of taste: | |
1890 | Auto-expire is faster, but it doesn't play together with | |
1891 | Adaptive Scoring, so if you want to use this feature, | |
1892 | you should use total-expire. | |
1893 | ||
1894 | If you want a message to be excluded from expiration in | |
1895 | a group where total or auto expire is active, set either | |
1896 | tick (hit @samp{u}) or dormant mark (hit | |
1897 | @samp{u}), when you use auto-expire, you | |
1898 | can also set the read mark (hit | |
1899 | @samp{d}). | |
1900 | ||
1901 | @node [6.6] | |
1902 | @subsubheading Question 6.6 | |
1903 | ||
1904 | I don't want expiration to delete my mails but to move them | |
1905 | to another group. | |
1906 | ||
1907 | @subsubheading Answer | |
1908 | ||
1909 | Say something like this in ~/.gnus.el: | |
23f87bed MB |
1910 | |
1911 | @example | |
1912 | (setq nnmail-expiry-target "nnml:expired") | |
1913 | @end example | |
23f87bed | 1914 | @noindent |
23f87bed | 1915 | |
10ace8ea MB |
1916 | (If you want to change the value of nnmail-expiry-target |
1917 | on a per group basis see the question "How can I disable | |
1918 | threading in some (e.g. mail-) groups, or set other | |
1919 | variables specific for some groups?") | |
1920 | ||
1921 | @node FAQ 7 - Gnus in a dial-up environment | |
23f87bed MB |
1922 | @subsection Gnus in a dial-up environment |
1923 | ||
1924 | @menu | |
10ace8ea MB |
1925 | * [7.1]:: I don't have a permanent connection to the net, how can I |
1926 | minimize the time I've got to be connected? | |
1927 | * [7.2]:: So what was this thing about the Agent? | |
1928 | * [7.3]:: I want to store article bodies on disk, too. How to do it? | |
1929 | * [7.4]:: How to tell Gnus not to try to send mails / postings while | |
1930 | I'm offline? | |
23f87bed MB |
1931 | @end menu |
1932 | ||
10ace8ea MB |
1933 | @node [7.1] |
1934 | @subsubheading Question 7.1 | |
1935 | ||
1936 | I don't have a permanent connection to the net, how can | |
1937 | I minimize the time I've got to be connected? | |
1938 | ||
1939 | @subsubheading Answer | |
1940 | ||
1941 | You've got basically two options: Either you use the | |
1942 | Gnus Agent (see below) for this, or you can install | |
1943 | programs which fetch your news and mail to your local | |
1944 | disk and Gnus reads the stuff from your local | |
1945 | machine. | |
1946 | ||
1947 | If you want to follow the second approach, you need a | |
1948 | program which fetches news and offers them to Gnus, a | |
1949 | program which does the same for mail and a program which | |
1950 | receives the mail you write from Gnus and sends them | |
1951 | when you're online. | |
1952 | ||
1953 | Let's talk about Unix systems first: For the news part, | |
1954 | the easiest solution is a small nntp server like | |
1955 | @uref{http://www.leafnode.org/, Leafnode} or | |
1956 | @uref{http://infa.abo.fi/~patrik/sn/, sn}, | |
1957 | of course you can also install a full featured news | |
1958 | server like | |
1959 | @uref{http://www.isc.org/products/INN/, inn}. | |
1960 | Then you want to fetch your Mail, popular choices | |
1961 | are @uref{http://www.catb.org/~esr/fetchmail/, fetchmail} | |
1962 | and @uref{http://www.qcc.ca/~charlesc/software/getmail-3.0/, getmail}. | |
1963 | You should tell those to write the mail to your disk and | |
1964 | Gnus to read it from there. Last but not least the mail | |
1965 | sending part: This can be done with every MTA like | |
1966 | @uref{http://www.sendmail.org/, sendmail}, | |
1967 | @uref{http://www.qmail.org/, postfix}, | |
1968 | @uref{http://www.exim.org/, exim} or | |
1969 | @uref{http://www.qmail.org/, qmail}. | |
1970 | ||
1971 | On windows boxes I'd vote for | |
1972 | @uref{http://www.tglsoft.de/, Hamster}, | |
1973 | it's a small freeware, open-source program which fetches | |
1974 | your mail and news from remote servers and offers them | |
1975 | to Gnus (or any other mail and/or news reader) via nntp | |
1976 | respectively POP3 or IMAP. It also includes a smtp | |
1977 | server for receiving mails from Gnus. | |
1978 | ||
1979 | @node [7.2] | |
1980 | @subsubheading Question 7.2 | |
1981 | ||
1982 | So what was this thing about the Agent? | |
1983 | ||
1984 | @subsubheading Answer | |
1985 | ||
1986 | The Gnus agent is part of Gnus, it allows you to fetch | |
1987 | mail and news and store them on disk for reading them | |
1988 | later when you're offline. It kind of mimics offline | |
1989 | newsreaders like e.g. Forte Agent. If you want to use | |
1990 | the Agent place the following in ~/.gnus.el if you are | |
1991 | still using 5.8.8 or 5.9 (it's the default since 5.10): | |
6bf7aab6 | 1992 | |
23f87bed MB |
1993 | @example |
1994 | (setq gnus-agent t) | |
1995 | @end example | |
10ace8ea | 1996 | @noindent |
23f87bed | 1997 | |
10ace8ea MB |
1998 | Now you've got to select the servers whose groups can be |
1999 | stored locally. To do this, open the server buffer | |
2000 | (that is press @samp{^} while in the | |
2001 | group buffer). Now select a server by moving point to | |
2002 | the line naming that server. Finally, agentize the | |
2003 | server by typing @samp{J a}. If you | |
2004 | make a mistake, or change your mind, you can undo this | |
2005 | action by typing @samp{J r}. When | |
2006 | you're done, type 'q' to return to the group buffer. | |
2007 | Now the next time you enter a group on a agentized | |
2008 | server, the headers will be stored on disk and read from | |
2009 | there the next time you enter the group. | |
2010 | ||
2011 | @node [7.3] | |
2012 | @subsubheading Question 7.3 | |
2013 | ||
2014 | I want to store article bodies on disk, too. How to do it? | |
2015 | ||
2016 | @subsubheading Answer | |
2017 | ||
2018 | You can tell the agent to automatically fetch the bodies | |
2019 | of articles which fulfill certain predicates, this is | |
2020 | done in a special buffer which can be reached by | |
2021 | saying @samp{J c} in group | |
2022 | buffer. Please refer to the documentation for | |
2023 | information which predicates are possible and how | |
2024 | exactly to do it. | |
2025 | ||
2026 | Further on you can tell the agent manually which | |
2027 | articles to store on disk. There are two ways to do | |
2028 | this: Number one: In the summary buffer, process mark a | |
2029 | set of articles that shall be stored in the agent by | |
2030 | saying @samp{#} with point over the | |
2031 | article and then type @samp{J s}. The | |
2032 | other possibility is to set, again in the summary | |
2033 | buffer, downloadable (%) marks for the articles you | |
2034 | want by typing @samp{@@} with point over | |
2035 | the article and then typing @samp{J u}. | |
2036 | What's the difference? Well, process marks are erased as | |
2037 | soon as you exit the summary buffer while downloadable | |
2038 | marks are permanent. You can actually set downloadable | |
2039 | marks in several groups then use fetch session ('J s' in | |
2040 | the GROUP buffer) to fetch all of those articles. The | |
2041 | only downside is that fetch session also fetches all of | |
2042 | the headers for every selected group on an agentized | |
2043 | server. Depending on the volume of headers, the initial | |
2044 | fetch session could take hours. | |
2045 | ||
2046 | @node [7.4] | |
2047 | @subsubheading Question 7.4 | |
2048 | ||
2049 | How to tell Gnus not to try to send mails / postings | |
2050 | while I'm offline? | |
2051 | ||
2052 | @subsubheading Answer | |
2053 | ||
2054 | All you've got to do is to tell Gnus when you are online | |
2055 | (plugged) and when you are offline (unplugged), the rest | |
2056 | works automatically. You can toggle plugged/unplugged | |
2057 | state by saying @samp{J j} in group | |
2058 | buffer. To start Gnus unplugged say @samp{M-x | |
2059 | gnus-unplugged} instead of | |
2060 | @samp{M-x gnus}. Note that for this to | |
2061 | work, the agent must be active. | |
2062 | ||
2063 | @node FAQ 8 - Getting help | |
2064 | @subsection Getting help | |
23f87bed | 2065 | |
10ace8ea MB |
2066 | @menu |
2067 | * [8.1]:: How to find information and help inside Emacs? | |
2068 | * [8.2]:: I can't find anything in the Gnus manual about X (e.g. | |
2069 | attachments, PGP, MIME...), is it not documented? | |
2070 | * [8.3]:: Which websites should I know? | |
2071 | * [8.4]:: Which mailing lists and newsgroups are there? | |
2072 | * [8.5]:: Where to report bugs? | |
2073 | * [8.6]:: I need real-time help, where to find it? | |
2074 | @end menu | |
23f87bed | 2075 | |
10ace8ea MB |
2076 | @node [8.1] |
2077 | @subsubheading Question 8.1 | |
23f87bed | 2078 | |
10ace8ea | 2079 | How to find information and help inside Emacs? |
23f87bed | 2080 | |
10ace8ea | 2081 | @subsubheading Answer |
23f87bed | 2082 | |
10ace8ea MB |
2083 | The first stop should be the Gnus manual (Say |
2084 | @samp{C-h i d m Gnus RET} to start the | |
2085 | Gnus manual, then walk through the menus or do a | |
2086 | full-text search with @samp{s}). Then | |
2087 | there are the general Emacs help commands starting with | |
2088 | C-h, type @samp{C-h ? ?} to get a list | |
2089 | of all available help commands and their meaning. Finally | |
2090 | @samp{M-x apropos-command} lets you | |
2091 | search through all available functions and @samp{M-x | |
2092 | apropos} searches the bound variables. | |
23f87bed | 2093 | |
10ace8ea MB |
2094 | @node [8.2] |
2095 | @subsubheading Question 8.2 | |
23f87bed | 2096 | |
10ace8ea MB |
2097 | I can't find anything in the Gnus manual about X |
2098 | (e.g. attachments, PGP, MIME...), is it not documented? | |
23f87bed | 2099 | |
10ace8ea | 2100 | @subsubheading Answer |
6bf7aab6 | 2101 | |
10ace8ea MB |
2102 | There's not only the Gnus manual but also the manuals |
2103 | for message, emacs-mime, sieve and pgg. Those packages | |
2104 | are distributed with Gnus and used by Gnus but aren't | |
2105 | really part of core Gnus, so they are documented in | |
2106 | different info files, you should have a look in those | |
2107 | manuals, too. | |
6bf7aab6 | 2108 | |
10ace8ea MB |
2109 | @node [8.3] |
2110 | @subsubheading Question 8.3 | |
23f87bed | 2111 | |
10ace8ea | 2112 | Which websites should I know? |
23f87bed | 2113 | |
10ace8ea | 2114 | @subsubheading Answer |
23f87bed | 2115 | |
10ace8ea MB |
2116 | The two most important ones are the |
2117 | @uref{http://www.gnus.org, official Gnus website}. | |
2118 | and it's sister site | |
2119 | @uref{http://my.gnus.org, my.gnus.org (MGO)}, | |
2120 | hosting an archive of lisp snippets, howtos, a (not | |
2121 | really finished) tutorial and this FAQ. | |
23f87bed | 2122 | |
10ace8ea | 2123 | Tell me about other sites which are interesting. |
23f87bed | 2124 | |
10ace8ea MB |
2125 | @node [8.4] |
2126 | @subsubheading Question 8.4 | |
23f87bed | 2127 | |
10ace8ea | 2128 | Which mailing lists and newsgroups are there? |
23f87bed | 2129 | |
10ace8ea | 2130 | @subsubheading Answer |
23f87bed | 2131 | |
29314e0f MB |
2132 | There's the newsgroup gnu.emacs.gnus |
2133 | (also available as | |
2134 | @uref{http://dir.gmane.org/gmane.emacs.gnus.user, | |
2135 | gmane.emacs.gnus.user}) | |
2136 | which deals with general Gnus questions. | |
2137 | The ding mailing list (ding@@gnus.org) deals with development of | |
10ace8ea | 2138 | Gnus. You can read the ding list via NNTP, too under the name |
29314e0f MB |
2139 | @uref{http://dir.gmane.org/gmane.emacs.gnus.general, |
2140 | gmane.emacs.gnus.general} from news.gmane.org. | |
23f87bed | 2141 | |
10ace8ea MB |
2142 | If you want to stay in the big8, |
2143 | news.software.newssreaders is also read by some Gnus | |
2144 | users (but chances for qualified help are much better in | |
2145 | the above groups) and if you speak German, there's | |
2146 | de.comm.software.gnus. | |
23f87bed | 2147 | |
10ace8ea MB |
2148 | @node [8.5] |
2149 | @subsubheading Question 8.5 | |
23f87bed | 2150 | |
10ace8ea | 2151 | Where to report bugs? |
23f87bed | 2152 | |
10ace8ea | 2153 | @subsubheading Answer |
23f87bed | 2154 | |
10ace8ea MB |
2155 | Say @samp{M-x gnus-bug}, this will start |
2156 | a message to the | |
2157 | @email{bugs@@gnus.org, gnus bug mailing list} | |
2158 | including information about your environment which make | |
2159 | it easier to help you. | |
23f87bed | 2160 | |
10ace8ea MB |
2161 | @node [8.6] |
2162 | @subsubheading Question 8.6 | |
23f87bed | 2163 | |
10ace8ea | 2164 | I need real-time help, where to find it? |
23f87bed | 2165 | |
10ace8ea | 2166 | @subsubheading Answer |
23f87bed | 2167 | |
3e26254b | 2168 | Point your IRC client to irc.freenode.net, channel #gnus. |
23f87bed | 2169 | |
10ace8ea | 2170 | @node FAQ 9 - Tuning Gnus |
23f87bed | 2171 | @subsection Tuning Gnus |
6bf7aab6 | 2172 | |
23f87bed | 2173 | @menu |
10ace8ea MB |
2174 | * [9.1]:: Starting Gnus is really slow, how to speed it up? |
2175 | * [9.2]:: How to speed up the process of entering a group? | |
2176 | * [9.3]:: Sending mail becomes slower and slower, what's up? | |
23f87bed | 2177 | @end menu |
6bf7aab6 | 2178 | |
10ace8ea MB |
2179 | @node [9.1] |
2180 | @subsubheading Question 9.1 | |
6bf7aab6 | 2181 | |
10ace8ea | 2182 | Starting Gnus is really slow, how to speed it up? |
6bf7aab6 | 2183 | |
10ace8ea MB |
2184 | @subsubheading Answer |
2185 | ||
2186 | The reason for this could be the way Gnus reads it's | |
2187 | active file, see the node "The Active File" in the Gnus | |
2188 | manual for things you might try to speed the process up. | |
2189 | An other idea would be to byte compile your ~/.gnus.el (say | |
2190 | @samp{M-x byte-compile-file RET ~/.gnus.el | |
2191 | RET} to do it). Finally, if you have require | |
2192 | statements in your .gnus, you could replace them with | |
2193 | eval-after-load, which loads the stuff not at startup | |
2194 | time, but when it's needed. Say you've got this in your | |
2195 | ~/.gnus.el: | |
6bf7aab6 | 2196 | |
23f87bed MB |
2197 | @example |
2198 | (require 'message) | |
2199 | (add-to-list 'message-syntax-checks '(sender . disabled)) | |
2200 | @end example | |
23f87bed | 2201 | @noindent |
10ace8ea MB |
2202 | |
2203 | then as soon as you start Gnus, message.el is loaded. If | |
2204 | you replace it with | |
6bf7aab6 | 2205 | |
23f87bed MB |
2206 | @example |
2207 | (eval-after-load "message" | |
2208 | '(add-to-list 'message-syntax-checks '(sender . disabled))) | |
2209 | @end example | |
23f87bed | 2210 | @noindent |
6bf7aab6 | 2211 | |
10ace8ea | 2212 | it's loaded when it's needed. |
6bf7aab6 | 2213 | |
10ace8ea MB |
2214 | @node [9.2] |
2215 | @subsubheading Question 9.2 | |
6bf7aab6 | 2216 | |
10ace8ea MB |
2217 | How to speed up the process of entering a group? |
2218 | ||
2219 | @subsubheading Answer | |
2220 | ||
2221 | A speed killer is setting the variable | |
2222 | gnus-fetch-old-headers to anything different from nil, | |
2223 | so don't do this if speed is an issue. To speed up | |
2224 | building of summary say | |
6bf7aab6 | 2225 | |
23f87bed MB |
2226 | @example |
2227 | (gnus-compile) | |
2228 | @end example | |
23f87bed | 2229 | @noindent |
10ace8ea MB |
2230 | |
2231 | at the bottom of your ~/.gnus.el, this will make gnus | |
2232 | byte-compile things like | |
2233 | gnus-summary-line-format. | |
2234 | then you could increase the value of gc-cons-threshold | |
2235 | by saying something like | |
6bf7aab6 DL |
2236 | |
2237 | @example | |
23f87bed | 2238 | (setq gc-cons-threshold 3500000) |
6bf7aab6 | 2239 | @end example |
23f87bed | 2240 | @noindent |
10ace8ea MB |
2241 | |
2242 | in ~/.emacs. If you don't care about width of CJK | |
2243 | characters or use Gnus 5.10 or younger together with a | |
2244 | recent GNU Emacs, you should say | |
6bf7aab6 | 2245 | |
23f87bed | 2246 | @example |
10ace8ea | 2247 | (setq gnus-use-correct-string-widths nil) |
23f87bed | 2248 | @end example |
23f87bed | 2249 | @noindent |
23f87bed | 2250 | |
10ace8ea MB |
2251 | in ~/.gnus.el (thanks to Jesper harder for the last |
2252 | two suggestions). Finally if you are still using 5.8.8 | |
2253 | or 5.9 and experience speed problems with summary | |
2254 | buffer generation, you definitely should update to | |
2255 | 5.10 since there quite some work on improving it has | |
2256 | been done. | |
23f87bed | 2257 | |
10ace8ea MB |
2258 | @node [9.3] |
2259 | @subsubheading Question 9.3 | |
23f87bed | 2260 | |
10ace8ea | 2261 | Sending mail becomes slower and slower, what's up? |
23f87bed | 2262 | |
10ace8ea | 2263 | @subsubheading Answer |
23f87bed | 2264 | |
10ace8ea MB |
2265 | The reason could be that you told Gnus to archive the |
2266 | messages you wrote by setting | |
2267 | gnus-message-archive-group. Try to use a nnml group | |
2268 | instead of an archive group, this should bring you back | |
2269 | to normal speed. | |
2270 | ||
2271 | @node FAQ - Glossary | |
23f87bed MB |
2272 | @subsection Glossary |
2273 | ||
2274 | @table @dfn | |
2275 | ||
10ace8ea MB |
2276 | @item ~/.gnus.el |
2277 | When the term ~/.gnus.el is used it just means your Gnus | |
2278 | configuration file. You might as well call it ~/.gnus or | |
2279 | specify another name. | |
23f87bed MB |
2280 | |
2281 | @item Back End | |
10ace8ea MB |
2282 | In Gnus terminology a back end is a virtual server, a layer |
2283 | between core Gnus and the real NNTP-, POP3-, IMAP- or | |
2284 | whatever-server which offers Gnus a standardized interface | |
2285 | to functions like "get message", "get Headers" etc. | |
23f87bed MB |
2286 | |
2287 | @item Emacs | |
10ace8ea MB |
2288 | When the term Emacs is used in this FAQ, it means either GNU |
2289 | Emacs or XEmacs. | |
23f87bed MB |
2290 | |
2291 | @item Message | |
10ace8ea MB |
2292 | In this FAQ message means a either a mail or a posting to a |
2293 | Usenet Newsgroup or to some other fancy back end, no matter | |
2294 | of which kind it is. | |
23f87bed MB |
2295 | |
2296 | @item MUA | |
10ace8ea MB |
2297 | MUA is an acronym for Mail User Agent, it's the program you |
2298 | use to read and write e-mails. | |
23f87bed MB |
2299 | |
2300 | @item NUA | |
10ace8ea MB |
2301 | NUA is an acronym for News User Agent, it's the program you |
2302 | use to read and write Usenet news. | |
23f87bed | 2303 | |
10ace8ea | 2304 | @end table |
6bf7aab6 | 2305 | |
ab5796a9 | 2306 | @ignore |
10ace8ea | 2307 | arch-tag: 64dc5692-edb4-4848-a965-7aa0181acbb8 |
ab5796a9 | 2308 | @end ignore |