make a correction and add more info to README.claws
[claws.git] / README.claws
1 README.claws
2 ------------
3
4 Summary:
5
6 1. What is Sylpheed Claws?
7 2. Switching between Sylpheed Claws and Sylpheed
8    * From Sylpheed to Sylpheed Claws
9    * From Sylpheed Claws to Sylpheed
10 3. Things Claws does different
11    * auto address replacement in summary view
12    * manual selection of MIME types for attachments
13    * sharing mail folders
14    * default to address for folders
15    * threading mode per folder
16    * simplify subject string
17    * pixmap themes
18    * user definable actions
19    * spell checking (with installation instructions)
20 4. How to contribute
21 5. How to request features
22 6. Installing Claws from CVS
23 7. History
24
25
26
27 1. What is Sylpheed Claws?
28 --------------------------
29
30 Sylpheed Claws is a bleeding edge branch of Sylpheed, a light weight mail 
31 user agent for UNIX. Features in this branch may (or may not) end up in 
32 Sylpheed. 
33
34 Hiroyuki's ChangeLog is also included in the claws-branch distribution, 
35 so it should be easy to spot which features were merged with Sylpheed
36 (and which features were not).
37
38 For brevity Sylpheed Claws is referred to as Claws, and Sylpheed as either
39 Sylpheed or Main.
40
41
42
43 2. Switching between Sylpheed Claws and Sylpheed
44 ------------------------------------------------
45
46   From Sylpheed to Sylpheed Claws       
47   -------------------------------
48
49   From the user perspective Claws is just a fancy Sylpheed, so it uses the
50   same sylpheed setting files located in ~/.sylpheed.
51
52   It's always a good idea to back up all files in ~/.sylpheed in case
53   you want to switch back to Sylpheed. (You don't have to backup the
54   directories.)
55
56   There are some things that frequently come up when switching to Claws:
57
58
59   * Why does the advanced filtering system not work?
60
61     Claws uses the new filtering system as soon as you define a new rule for it.
62     Your old sylpheed filter rules will not be used. In subdirectory tools/ of
63     the distribution there is a Perl script called filter_conv.pl which converts
64     old filter rules to the claws filtering system.
65   
66
67   * What happened to the compose email and compose news buttons? 
68
69     There's a composite button for both composing mail and news. You can toggle
70     between composing mail and news by clicking on the button with the triangle.
71
72
73   * And to the Preferences and Execute buttons?
74
75     Sorry, they're not there.
76
77
78   From Sylpheed Claws to Sylpheed
79   -------------------------------
80
81   Moving from Claws to Sylpheed is also simple. Sylpheed should neglect the things
82   Claws put in the settings files. This also means that the old rules will work
83   again. 
84
85   If you want to switch back to Claws at a later time, make sure you back up at least
86   ~/.sylpheed/matcherrc (the Claws filtering rules), and ~/.sylpheed/sylpheedrc 
87   (which may have some claws specific settings).
88
89   When switching back to Sylpheed you will not lose messages or message flags (color
90   labels, read / unread status of messages). 
91
92   Switching between Sylpheed Claws and Sylpheed on a regular basis
93   ----------------------------------------------------------------
94
95   If you want to have both claws and main installed concurrently simply pass them
96   a different --prefix when doing ./configure. Then use the script 'sylpheed-switcher',
97   (which is provided in the tools directory), to launch the version you require without
98   fear of losing specific settings related to either claws or main. Further details can
99   be found in tools/README. 
100
101 3. Things Claws does different
102 ------------------------------
103
104 Claws does a lot of things different. Here a quick run-down of things that
105 are hardly noticeable, but deserve mentioning:
106
107 * auto address replacement in summary view
108 -----------------------------------
109   This matches a plain email address with a person in the address book. This
110   feature is enabled in Common Preferences | Tab Display | SummaryView Group |
111   Display sender using addressbook
112
113 * manual selection of MIME types for attachments
114 -----------------------------------
115   You can change the MIME type of an attachment by right-clicking in the
116   attachment list, selecting Property in the menu. The MIME type list
117   is a combo box with the known MIME types.
118
119 * sharing mail folders   
120  -----------------------------------
121  You can also share or use shared mail folders. Right-click a folder and
122   select Property. Change the Folder chmod setting.
123
124 * default to address for folders
125  -----------------------------------
126  Most people filter mailing list mails to separate folders. Claws allows
127   you to associate a folder with a mailing list or a person. Right-click a
128   folder, select Property and change the Default To setting. When you
129   compose a new mail, when this folder is selected the recipient address
130   will be set to this address.
131
132   (NOTE: this is also a shoot-yourself-in-the-foot-setting! If you want
133    to send a private mail, don't have a folder selected with this setting
134    set.)
135
136 * pixmap themes
137 -----------------------------------
138   To use different icon sets you need to create a directory: 
139         mkdir ~/.sylpheed/themes
140   Icon sets should be placed in this directory in their own sub-directory. 
141   They are then selectable from Pixmap Theme on the Interface tab of Commmon
142   Preferences. 
143
144 * user definable actions
145 -----------------------------------
146   The "actions" feature is a convenient way for the user to launch external 
147   commands to process a complete message file including headers and body or 
148   just one of its parts. It allows also the use of an external command to 
149   filter the whole text or just a selected part in the message window or in 
150   the compose window. This is a generic tool that allows to do any uncommon 
151   actions on the messages, and thus extends the possibilities of Sylpheed. 
152   For example, Sylpheed does not include the rot13 cyphering algorithm 
153   popular in some newsgroups. It does not support natively armored 
154   encryption or clear signing. It does not support uuencoded messages. As 
155   all these features can be handled by external programs, the actions 
156   provide a convenient way to use them from the menu bar.
157
158   a. Usage
159   --------
160
161   To create a new action, go to Configuration -> Actions.... The "Action
162   Creation" dialog offers to enter the Menu name that will trigger the 
163   command. The created menu will be found in the Tools -> Actions submenu. 
164   By inserting a slash / in the menu name, you create a submenu.
165
166   The command is entered in the Command line entry. Note that Sylpheed 
167   stores every single email in a separate file. This allows to use the 
168   following syntax for the command:
169
170     * %f denotes the file name of the selected message. If you selected more
171          than one, then the command will be launched for each message with 
172          the appropriate file name
173     * %F denotes the list of the file names of the selected message. If only
174          one message is selected, this amounts to %f, but if more messages 
175          are selected, then the command will be launched only once with the 
176          list of the file names. (You can use both %f and %F in one command: 
177          then the command will be launched for each selected message with 
178          the name of this message and with the list of all selected 
179          messages. I did not find a practical example for this.)
180     * %p denotes the current selected message part of a multipart message. 
181          The part is decoded accordingly. If the message is not a multipart 
182          message, it denotes the message body.
183     * Prepending >: this will allow you to send to the command's standard 
184          input a text that you will enter in a dialog window.
185     * Prepending *: this will allow you to send to the command's standard 
186          input a text that you will enter in a dialog window. But in 
187          contrast to prepending >, the entered text is hidden (useful when 
188          entering passwords).
189     * Appending an ampersand &: this will run the command asynchronously. 
190          That means "fire and forget". Sylpheed won't wait for the command 
191          to finish, nor will it catch its output or its error messages.
192     * Prepending the vertical bar | (pipe-in): this will send the current 
193          displayed text or the current selected text from the message view 
194          or the compose window to the command standard input. The command 
195          will silently fail if more than one message is selected.
196     * Appending the vertical bar | (pipe-out): this will replace the current 
197          displayed text or the current selected text from the message window
198          or the compose window by the command standard output. The command
199          will silently fail if more than one message is selected.
200
201   Note: It is not possible to use actions containing %f, %F or %p from the
202   compose window. 
203
204   When a command is run, and unless it is run asynchronously, Sylpheed will
205   be insensitive to any interaction and it will wait for the command to 
206   finish. If the command takes too long (5 seconds), it will popup a dialog 
207   window allowing to stop it. This dialog will also be displayed as soon as
208   the command has some output: error messages or even its standard output 
209   when the command is not a "pipe-out" command. When multiple commands are 
210   being run, they are run in parallel and each command output is separated 
211   from the outputs of the others.
212
213   a. Examples
214   -----------
215
216   Here are some examples that are listed in the same syntax as used for 
217   storing the actions list. You can copy and past the definition in your 
218   ~/.sylpheed/actionsrc file (exit Sylpheed before). The syntax is very 
219   simple: one line per action, each action contains the menu name and the 
220   command line separated by a colon and a space ": "
221
222   Purpose:      rot13 cyphering
223   Definition:   Rot13: |tr a-zA-Z n-za-mN-ZA-M|
224   Details:      This will apply the rot13 cyphering algorithm to the 
225                 (selected) text in the message/compose view.
226
227   Purpose:      Decoding uuencoded messages
228   Definition:   UUdeview: xdeview %F&
229   Details:      xdeview comes with uudeview. If an encoded file is split in 
230                 multiple messages, just select them all and run the command.
231
232   Purpose:      Display uuencoded image
233   Definition:   Display uuencoded: uudec %f&
234   Details:      Displays uuencoded files. The uudec script can be found in 
235                 the 'tools' directory of the distribution package.
236  
237   Purpose:      Alter messages
238   Definition:   Edit message: gvim -f %F
239   Details:      Allows editing of any received message. Can be used to remove 
240                 unneeded message parts, etc.
241
242   Purpose:      Pretty format
243   Definition:   Par: |par 72Tbgjqw74bEe B=._A_a 72bg|
244   Details:      par is a utility that can pretty format any text. It does a 
245                 very good job in indenting quoted messages, and justifying 
246                 text. Used when composing a message
247
248   Purpose:      Browse
249   Definition:   Part/Dillo: dillo %p&
250   Details:      Browse the selected message part in Dillo.
251
252   Purpose:      Clear Sign
253   Definition:   GnuPG/Clear Sign: |gpg-sign|
254   Details:      Clear sign a message. The gpg-sign script is responsible for 
255                 asking the passphrase and for running gnupg. 
256
257   Purpose:      Verify Clear Signed
258   Definition:   GnuPG/Verify: |gpg --no-tty --verify %f&
259   Details:      Verify clear signed messages. The result is displayed in the
260                 actions output dialog.
261
262   Purpose:      Decrypt ASCII Armored
263   Definition:   GnuPG/Decrypt: *gpg --no-tty --command-fd 0 --passphrase-fd 0 --decrypt %f|
264   Details:      Decrypt ASCII armored messages. The passphrase is entered 
265                 into the opened action's input dialog.
266
267   The gpg-sign script can be found in the 'tools' directory of the 
268   distribution package. It needs the ssh-askpass utility found in OpenSSH. 
269   It can be replaced by any X11 tool that asks some (hidden) text which is 
270   then sent to standard output.
271
272   The uudec script can be found in the 'tools' directory of the 
273   distribution package. It needs uudecode and ImageMagick's display. The 
274   latter can be replaced by any image viewer that can get input from 
275   standard input. The script could also be modified to use temporary files 
276   instead of standard input. 
277
278
279 * Spell checker for Sylpheed-Claws
280 -----------------------------------
281   a. Requirements
282   b. Configuration and installation
283   c. Usage
284   d. Known problems
285
286   a. Requirements
287   ---------------
288
289   The spell checker in sylpheed requires the Portable Spell Checker
290   Interface Library pspell (http://pspell.sourceforge.net), version
291   0.12.2 or newer.
292
293   You will need also the actual spell checker.  There are two alternatives:
294
295      i) ispell (http://fmg-www.cs.ucla.edu/fmg-members/geoff/ispell.html),
296         which is found on quasi every distribution.  You have then to
297         install the pspell-ispell module found at the pspell site.
298
299     ii) aspell (http://aspell.sourceforge.net).  This spell checker
300         must be installed after installing pspell.  The version tested
301         is .33.7 alpha. It has three different suggestion modes (fast
302         -default- , normal, bad spellers), has the ability to learn
303         from mistakes (default). 
304
305   And, last but not least, do not forget to install the dictionaries. Check
306   the corresponding spell checker home page for more information on this.
307
308   b. Configuring Sylpheed
309   -----------------------
310
311   Spell checking is enabled if you configure sylpheed appropriately. Add
312   the option '--enable-pspell' when configuring. E.g.:
313
314   ./configure --enable-pspell
315
316   The configure script needs 'pspell-config' in your path.  If it is
317   in weird places, use '--with-pspell-prefix' to tell the path to
318   pspell-config.  E.g., if pspell-config is really
319   /foo/bar/pspell-config, then use:
320
321   ./configure --enable-pspell --with-pspell-prefix=/foo/bar
322
323   If you have problems with not found includes or libraries, check
324   first where these are located, and add either options:
325
326   --with-pspell-includes=/foo/bar/include
327
328   or 
329
330   --with-pspell-libs=/foo/bar/lib
331
332   as appropriate.
333
334   Configure script summarizes the options compiled in. Check that
335   configure lists 'Pspell = yes'.
336
337   Then proceed as usual, with 'make' and 'make install'.
338
339   c. Usage
340   --------
341
342   NOTE: if you upgraded from 0.7.0claws, please reselect your default
343   dictionary in the preferences.
344
345   After successful compiling, you need to tell sylpheed where your
346   dictionaries reside.  First run 'pspell-config pkgdatadir' on the
347   shell to get their path.
348
349   Then run sylpheed and go to Configuration -> Common preferences ->
350   Spell Checker.  Check the box 'Enable spell checker (EXPERIMENTAL)' and
351   use the file selector ('...' button) to select the path where the
352   dictionaries reside.  Within the file selector, go to that directory
353   and select *any* file in the file lists.  Click ok. You should then
354   be able to select your default dictionary.
355
356   When composing, misspelled words are highlighted.  Click on any
357   highlighted word with the right mouse button to get a list of
358   suggestions.  The first entry of the menu just displays the unknown
359   word.  Selecting "Accept in this session" (or hitting MOD1-Space, 
360   where MOD1 is usually the ALT key), will ignore this word and accept
361   it in this message.  Selecting the next entry "Add to dictionary", which
362   is bound to MOD1-Enter combination will add the unknown word to the
363   dictionary to learn it.  The next entries are the suggested words. 
364   The first 15 suggestions can be accessed typing one of the first letters
365   of Latin alphabet (if this does not suit your language, please send
366   a mail to melvin.hadasht@free.fr).  If you are using an aspell 
367   dictionary, you can use its 'learn from mistake' feature, by pressing
368   the MOD1 key and selecting the suggestion (with the keyboard or with
369   the mouse).  See pspell manual ยง4.7.1 for an explanation of this 
370   feature. 
371
372   If you click with the right mouse button everywhere else, or if you
373   shift-right-click even on a misspelled word, you get the
374   configuration menu.  'Check all' highlights all misspelled words.
375   With this menu, you can also change the dictionary while editing.
376   Finally, you can change the suggestion mode, and the learn from
377   misktakes feature (only when using an aspell dictionary).
378
379   Spell checking can also be done using keyboard shortcuts.  In the
380   "Edit" menu of the compose window, there are two menus "Check backwards
381   misspelled word" and "Forward to next misspelled word".  Add to them 
382   appropriate keyboard shortcuts.  "Check backwards misspelled word" 
383   checks backwards from cursor position for the first misspelled word.
384   If it finds one, it displays the suggestions lists which can be handled
385   with the keyboard as described before. When the suggestion menu is 
386   closed, the cursor returns to its original position to be able to 
387   continue editing.  The "Forward to next misspelled word" do the same 
388   thing in the other direction but moves the cursor at the end of the
389   misspelled word.  This way, you can spell check easily a whole message
390   starting from its beginning and using the "Forward to next misspelled
391   word" keyboard short cut.
392   
393
394   d. Known problems
395   -----------------
396
397     i) libtool
398
399     The only real known problems until now are configuration and
400     compilation problems  due to libtool interaction with pspell. 
401
402     If you do not compile pspell/aspell/pspell-ispell yourself, you
403     need to install them with their devel packages.
404
405     Pspell work with dynamic linking of libraries and thus uses the
406     libltdl library of libtool.  If you have weird problems when
407     configuring showing 'libtool', chances are the libtool used when
408     compiling the pspell package is not compatible with what you have
409     on your system.  The best solution, is to install the latest
410     libtool AND compile yourself pspell package.  I can't help more
411     than that in this issue.
412
413     After successfully compiled and used sylpheed with spell checking,
414     the same problem can appear if you upgrade your libtool to a
415     version which libltdl is incompatible to your older one.    The
416     symptoms are a crash when starting to compose.  Disabling spell
417     checking avoids the problem. The solution should be to recompile pspell.
418
419     ii) New installed ispell dictionary are not detected
420
421     Installing a new ispell dictionary needs an additional step. Go
422     to the 'pkgdatadir' and run 'make-ispell-pwli'.  You may need to
423     su root.
424
425 * simplify subject string
426     It is possible to remove parts of string from the subject line.
427     Example: [Sylpheed-claws-users] This is a test
428     becomes: This is a test
429     This is a per folder property. Right click on a folder and select
430     property, enable Simplify Subject RegExp check box. Example
431     regexp for the above is: \[Sylpheed-claws-(devel|users)\]
432     Another example for the Sylpheed mailing list (not claws!) is:
433     \[sylpheed:[0-9]{5}\]
434
435 There are a lot more options. If you find one, don't hesitate to
436 mention it.
437
438
439
440 4. How to contribute
441 --------------------
442
443 Sylpheed Main: 
444
445         submit it to the Sylpheed ML, Hiroyuki, or Paul Mangan
446         (for incorporation on the Sylpheed Patches page,
447          <http://www.thewildbeast.co.uk/sylpheed/>)
448
449 Sylpheed Claws:
450
451         It is highly recommended to use the sourceforge project page
452         of claws. Check: 
453         http://sourceforge.net/tracker/?atid=384600&group_id=25528&func=browse
454
455         If that's too troublesome, either contact Paul Mangan or consider
456         posting to the sylpheed claws users mailing list.
457
458         Bugs can be reported in the same way; the recommended web page:
459         http://sourceforge.net/tracker/?group_id=25528&atid=384598
460
461         Of course you can also post to the sylpheed claws users
462         mailing list.
463
464 Also, we really try to incorporate good contributions, but sometimes we
465 don't have enough time. If the contribution is really big, or requires
466 a long time to stabilize, send a mail to Paul Mangan. We can probably
467 arrange access to the Claws branch.
468
469
470
471 5. How to request features
472 --------------------------
473
474 Ask around in both Sylpheed ML and Sylpheed Claws Users ML. Note
475 that some developers may already thought about your feature, may
476 perhaps be implementing it - or the feature was already discussed
477 and rejected for whatever reason.  You might want to go ahead and 
478 hack a patch for it. (That would be very cool!) Another
479 possibility is to use the Feature Request Tracker at the
480 sourceforge project page.
481
482
483
484 6. Installing Claws from CVS
485 ----------------------------
486
487   a. Downloading
488   --------------
489
490   To download the latest cvs cd to the directory where you wish to download
491   to and type the following information:
492
493   cvs -d:pserver:anonymous@cvs.sylpheed-claws.sourceforge.net:/cvsroot/sylpheed-claws login
494
495   When prompted for a password press the RETURN key.
496   After anonymously logging in:
497
498   cvs -z3 -d:pserver:anonymous@cvs.sylpheed-claws.sourceforge.net:/cvsroot/sylpheed-claws co sylpheed-claws 
499
500
501   b. Installing
502   -------------
503
504   To compile and install use the following commands:
505
506   ./autogen.sh          [add configure options as required]
507   make
508   make install          [as root]
509
510   You will need a full set of development tools installed to be able to run
511   autogen.sh.
512
513 7. History
514 ----------
515
516 TODO
517