0.8.8claws18
[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    * new cache
21    * selective download, delete messages on server
22    * extended search in quick search
23 4. How to contribute
24 5. How to request features
25 6. Installing Claws from CVS
26 7. History
27
28
29
30 1. What is Sylpheed Claws?
31 --------------------------
32
33 Sylpheed Claws is a bleeding edge branch of Sylpheed, a light weight mail 
34 user agent for UNIX. Features in this branch may (or may not) end up in 
35 Sylpheed. 
36
37 Hiroyuki's ChangeLog is also included in the claws-branch distribution, 
38 so it should be easy to spot which features were merged with Sylpheed
39 (and which features were not).
40
41 For brevity Sylpheed Claws is referred to as Claws, and Sylpheed as either
42 Sylpheed or Main.
43
44
45
46 2. Switching between Sylpheed Claws and Sylpheed
47 ------------------------------------------------
48
49   From Sylpheed to Sylpheed Claws       
50   -------------------------------
51
52   From the user perspective Claws is just a fancy Sylpheed, so it uses the
53   same Sylpheed setting files located in ~/.sylpheed.
54
55   It's always a good idea to back up all files in ~/.sylpheed in case
56   you want to switch back to Sylpheed. (You don't have to backup the
57   directories.)
58
59   There are some things that frequently come up when switching to Claws:
60
61
62   * What happened to my filter rules? 
63
64     Claws uses a new filtering system. Your old Sylpheed filter rules will not 
65     be used. In subdirectory tools/ of the distribution there is a Perl script 
66     called filter_conv.pl which converts old filter rules to the claws 
67     filtering system, see tools/README for details.
68  
69   * What happened to the compose email and compose news buttons? 
70
71     There's a composite button for both composing mail and news. You can toggle
72     between composing mail and news by clicking on the button with the triangle.
73
74
75   * And to the Preferences and Execute buttons?
76
77     Sorry, they're not there.
78
79
80   From Sylpheed Claws to Sylpheed
81   -------------------------------
82
83   Moving from Claws to Sylpheed is also simple. Sylpheed should neglect the things
84   Claws put in the settings files. This also means that the old rules will work
85   again. 
86
87   If you want to switch back to Claws at a later time, make sure you back up at least
88   ~/.sylpheed/matcherrc (the Claws filtering rules), and ~/.sylpheed/sylpheedrc 
89   (which may have some claws specific settings).
90
91   When switching back to Sylpheed you will not lose messages or message flags (color
92   labels, read / unread status of messages). 
93
94   Switching between Sylpheed Claws and Sylpheed on a regular basis
95   ----------------------------------------------------------------
96
97   If you want to have both claws and main installed concurrently simply pass them
98   a different --prefix when doing ./configure. Then use the script 'sylpheed-switcher',
99   (which is provided in the tools directory), to launch the version you require without
100   fear of losing specific settings related to either claws or main. Further details can
101   be found in tools/README. 
102
103 3. Things Claws does different
104 ------------------------------
105
106 Claws does a lot of things different. Here a quick run-down of things that
107 are hardly noticeable, but deserve mentioning:
108
109 * auto address replacement in summary view
110 -----------------------------------
111   This matches a plain email address with a person in the address book. This
112   feature is enabled in Common Preferences | Tab Display | SummaryView Group |
113   Display sender using addressbook
114
115 * manual selection of MIME types for attachments
116 -----------------------------------
117   You can change the MIME type of an attachment by right-clicking in the
118   attachment list, selecting Property in the menu. The MIME type list
119   is a combo box with the known MIME types.
120
121 * sharing mail folders   
122  -----------------------------------
123  You can also share or use shared mail folders. Right-click a folder and
124   select Property. Change the Folder chmod setting.
125
126 * default to address for folders
127  -----------------------------------
128  Most people filter mailing list mails to separate folders. Claws allows
129   you to associate a folder with a mailing list or a person. Right-click a
130   folder, select Property and change the Default To setting. When you
131   compose a new mail, when this folder is selected the recipient address
132   will be set to this address.
133
134   (NOTE: this is also a shoot-yourself-in-the-foot-setting! If you want
135    to send a private mail, don't have a folder selected with this setting
136    set.)
137
138 * pixmap themes
139 -----------------------------------
140   To use different icon sets you need to create a directory: 
141         mkdir ~/.sylpheed/themes
142   Icon sets should be placed in this directory in their own sub-directory. 
143   They are then selectable from Pixmap Theme on the Interface tab of Commmon
144   Preferences. 
145
146 * user definable actions
147 -----------------------------------
148   The "actions" feature is a convenient way for the user to launch external 
149   commands to process a complete message file including headers and body or 
150   just one of its parts. It allows also the use of an external command to 
151   filter the whole text or just a selected part in the message window or in 
152   the compose window. This is a generic tool that allows to do any uncommon 
153   actions on the messages, and thus extends the possibilities of Sylpheed. 
154   For example, Sylpheed does not include the rot13 cyphering algorithm 
155   popular in some newsgroups. It does not support natively armored 
156   encryption or clear signing. It does not support uuencoded messages. As 
157   all these features can be handled by external programs, the actions 
158   provide a convenient way to use them from the menu bar.
159
160   a. Usage
161   --------
162
163   To create a new action, go to Configuration -> Actions.... The "Action
164   Creation" dialog offers to enter the Menu name that will trigger the 
165   command. The created menu will be found in the Tools -> Actions submenu. 
166   By inserting a slash / in the menu name, you create a submenu.
167
168   The command is entered in the Command line entry. Note that Sylpheed 
169   stores every single email in a separate file. This allows to use the 
170   following syntax for the command:
171
172     * %f denotes the file name of the selected message. If you selected more
173          than one, then the command will be launched for each message with 
174          the appropriate file name
175     * %F denotes the list of the file names of the selected message. If only
176          one message is selected, this amounts to %f, but if more messages 
177          are selected, then the command will be launched only once with the 
178          list of the file names. (You can use both %f and %F in one command: 
179          then the command will be launched for each selected message with 
180          the name of this message and with the list of all selected 
181          messages. I did not find a practical example for this.)
182     * %p denotes the current selected message part of a multipart message. 
183          The part is decoded accordingly. If the message is not a multipart 
184          message, it denotes the message body.
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.
187     * Prepending *: this will allow you to send to the command's standard 
188          input a text that you will enter in a dialog window. But in 
189          contrast to prepending >, the entered text is hidden (useful when 
190          entering passwords).
191     * Appending an ampersand &: this will run the command asynchronously. 
192          That means "fire and forget". Sylpheed won't wait for the command 
193          to finish, nor will it catch its output or its error messages.
194     * Prepending the vertical bar | (pipe-in): this will send the current 
195          displayed text or the current selected text from the message view 
196          or the compose window to the command standard input. The command 
197          will silently fail if more than one message is selected.
198     * Appending the vertical bar | (pipe-out): this will replace the current 
199          displayed text or the current selected text from the message window
200          or the compose window by the command standard output. The command
201          will silently fail if more than one message is selected.
202
203   Note: It is not possible to use actions containing %f, %F or %p from the
204   compose window. 
205
206   When a command is run, and unless it is run asynchronously, Sylpheed will
207   be insensitive to any interaction and it will wait for the command to 
208   finish. If the command takes too long (5 seconds), it will popup a dialog 
209   window allowing to stop it. This dialog will also be displayed as soon as
210   the command has some output: error messages or even its standard output 
211   when the command is not a "pipe-out" command. When multiple commands are 
212   being run, they are run in parallel and each command output is separated 
213   from the outputs of the others.
214
215   a. Examples
216   -----------
217
218   Here are some examples that are listed in the same syntax as used for 
219   storing the actions list. You can copy and past the definition in your 
220   ~/.sylpheed/actionsrc file (exit Sylpheed before). The syntax is very 
221   simple: one line per action, each action contains the menu name and the 
222   command line separated by a colon and a space ": "
223
224   Purpose:      rot13 cyphering
225   Definition:   Rot13: |tr a-zA-Z n-za-mN-ZA-M|
226   Details:      This will apply the rot13 cyphering algorithm to the 
227                 (selected) text in the message/compose view.
228
229   Purpose:      Decoding uuencoded messages
230   Definition:   UUdeview: xdeview %F&
231   Details:      xdeview comes with uudeview. If an encoded file is split in 
232                 multiple messages, just select them all and run the command.
233
234   Purpose:      Display uuencoded image
235   Definition:   Display uuencoded: uudec %f&
236   Details:      Displays uuencoded files. The uudec[1] script can be found in 
237                 the 'tools' directory of the distribution package.
238  
239   Purpose:      Alter messages
240   Definition:   Edit message: gvim -f %F
241   Details:      Allows editing of any received message. Can be used to remove 
242                 unneeded message parts, etc.
243
244   Purpose:      Pretty format
245   Definition:   Par: |par 72Tbgjqw74bEe B=._A_a 72bg|
246   Details:      par is a utility that can pretty format any text. It does a 
247                 very good job in indenting quoted messages, and justifying 
248                 text. Used when composing a message
249
250   Purpose:      Browse
251   Definition:   Part/Dillo: dillo %p&
252   Details:      Browse the selected message part in Dillo.
253
254   Purpose:      Clear Sign
255   Definition:   GnuPG/Clear Sign: |gpg-sign-syl|
256   Details:      Clear sign a message. The gpg-sign-syl[2] script is responsible
257                 for asking the passphrase and for running gnupg. 
258
259   Purpose:      Verify Clear Signed
260   Definition:   GnuPG/Verify: |gpg --no-tty --verify
261   Details:      Verify clear signed messages. The result is displayed in the
262                 actions output dialog.
263
264   Purpose:      Decrypt ASCII Armored
265   Definition:   GnuPG/Decrypt: *gpg --no-tty --command-fd 0 --passphrase-fd 0 --decrypt %f|
266   Details:      Decrypt ASCII armored messages. The passphrase is entered 
267                 into the opened action's input dialog.
268
269   [1] The uudec script can be found in the 'tools' directory of the 
270   distribution package. It needs uudecode and ImageMagick's display. The 
271   latter can be replaced by any image viewer that can get input from 
272   standard input. The script could also be modified to use temporary files 
273   instead of standard input. 
274
275   [2] The gpg-sign-syl script can be found in the 'tools' directory of the 
276   distribution package. 
277
278 * Spell checker for Sylpheed-Claws
279 -----------------------------------
280   a. Requirements
281   b. Configuration and installation
282   c. Usage
283   d. Known problems
284
285   a. Requirements
286   ---------------
287
288   Note:
289   As for version 0.8.3 (and cvs version 0.8.2claws3), Sylpheed-Claws uses
290   the new GNU/aspell 0.50 for spell checking instead of the obsolete pspell
291   and old aspell 0.33.x.  You will need to upgrade your system.  See
292   http://www.gnu.org/software/aspell for instructions on how to do this.
293
294   The spell checker in Sylpheed requires the new GNU/aspell library
295   (http://www.gnu.org/software/aspell), version 0.50 or newer.
296
297   You also need the dictionaries. Check GNU/aspell home page for how
298   to download and install them.
299   
300   NB: The old dictionaries used by the old aspell will not work.
301
302   b. Configuring Sylpheed
303   -----------------------
304
305   Spell checking is enabled if you configure Sylpheed appropriately. Add
306   the option '--enable-aspell' when configuring. E.g.:
307
308   ./configure --enable-aspell
309
310   The configure script needs the 'aspell' executable to be in your path.
311   If it is in unusual places, use '--with-aspell-prefix' to tell the path of
312   the aspell executable.  E.g., if aspell's full path is
313   /foo/bar/bin/aspell, then use:
314
315   ./configure --enable-aspell --with-aspell-prefix=/foo/bar
316
317   The '--with-aspell-prefix=PREFIX' option will let the configure
318   script search for includes and libraries in PREFIX/include and PREFIX/lib.
319
320   You can also specify manually the includes and libraries path by using
321   either following options:
322
323   --with-aspell-includes=/foo/bar/include
324
325   and/or 
326
327   --with-aspell-libs=/rab/oof/lib
328
329   as appropriate.
330
331   The configure script summarizes the options compiled in.  Check that
332   it lists 'GNU/aspell = yes'.
333
334   Then proceed as usual, with 'make' and 'make install'.
335
336   c. Usage
337   --------
338
339   NOTE: if you upgraded from Sylpheed-Claws 0.8.2 (or cvs version 0.8.2claws2) 
340   or earlier, please check if the dictionary path was updated in the
341   Configuration -> Common Preferences -> Spell Checker menu.  If not, update
342   it accordingly as explained below.
343
344   After successful compiling, you need to tell Sylpheed where your
345   dictionaries reside. The configure script should have found it,
346   but in case it did not, run 'aspell config dict-dir' on the
347   shell to get the path to the dictionaries.
348
349   Then run Sylpheed and go to Configuration -> Common preferences ->
350   Spell Checker.  Check the box 'Enable spell checker' 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. Then, you should 
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 your
363   personal dictionary to learn it.  The next entries are the suggested words. 
364   The first 15 suggestions can be accessed by 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).  Aspell has a 'learn from mistake'
367   function that can be used by pressing the MOD1 key and selecting the 
368   suggestion (with the keyboard or with the mouse).  See GNU/aspell manual
369   Â§6.3 for an explanation of this feature (also called 'replacement storing'). 
370
371   If you click with the right mouse button everywhere else, or if you
372   shift-right-click even on a misspelled word, you get the
373   configuration menu.  'Check all' highlights all misspelled words.
374   With this menu, you can also change the dictionary while editing.
375   Finally, you can change the suggestion mode, and the learn from
376   misktakes feature.
377
378   Spell checking can also be done using keyboard shortcuts.  In the
379   'Edit' menu of the compose window, there are two menus 'Check backwards
380   misspelled word' and 'Forward to next misspelled word'.  Add to them 
381   appropriate keyboard shortcuts.  'Check backwards misspelled word' 
382   checks backwards from cursor position for the first misspelled word.
383   If it finds one, it displays the suggestions lists which can be handled
384   with the keyboard as described before. When the suggestion menu is 
385   closed, the cursor returns to its original position to be able to 
386   continue editing.  The 'Forward to next misspelled word' do the same 
387   thing in the other direction but moves the cursor at the end of the
388   misspelled word.  This way, you can spell check easily a whole message
389   starting from its beginning and using the 'Forward to next misspelled
390   word' keyboard short cut.
391   
392
393   d. Known problems
394   -----------------
395
396     No known problems as the time of this writing (0.8.2claws3).
397
398 * simplify subject string
399 -----------------------------------
400     It is possible to remove parts of string from the subject line.
401     Example: [Sylpheed-claws-users] This is a test
402     becomes: This is a test
403     This is a per folder property. Right click on a folder and select
404     property, enable Simplify Subject RegExp check box. Example
405     regexp for the above is: \[Sylpheed-claws-(devel|users)\]
406     Another example for the Sylpheed mailing list (not claws!) is:
407     \[sylpheed:[0-9]{5}\]
408
409 * new cache
410 -----------------------------------
411     New cache is  a new data cache structure for sylpheed, that will
412     solve many of the problems sylpheed currently has with updates to
413     flags.  But you will also notice a large speed gain when you open
414     these folders. 
415
416     New cache uses two new configuration parameters that can be
417     adjusted in ~/.sylpheed/sylpheedrc (no gui for them available yet).
418
419     cache_max_mem_usage         (default: 4096)
420         the maximum kB of memory sylpheed should use.
421         It will try to keep the memory usage below this
422         value, but it will always use the assigned
423         amount of memory for speed gain.
424
425     cache_min_keep_time         (default: 15)
426         the minimum time in minutes sylpheed will keep
427         the folder cache in memory. If a cache is more
428         recent than this time it will not be freed even
429         if the memory usage is above the maximum. You
430         should probably set this value higher than your
431         mail check interval. Otherwise the cache will
432         always be freed between checks even if the folder
433         is accessed on every check, which will cause much
434         disk IO.
435
436     The check if memory can be freed is currently done after the
437     active folder has been changed or whenever a new cache is read,
438     i.e. triggered by mail incorporation.
439
440     New mails in MH folders are not detected automatically like before,
441     when you enter the folder. You have to update the folder manually,
442     or activate the auto update setting in the options.
443
444 There are a lot more options. If you find one, don't hesitate to
445 mention it.
446
447 * selective download, delete messages on server
448 -----------------------------------
449     The selective download window lets you select messages, that
450     should be retrieved from or deleted on the server.
451     The selection can be automated by setting up a *global*
452     filtering rule (folder based rules are ignored), e.g
453       subject match "SPAM" delete_on_server
454     Next time, you retrieve the headers using selective download,
455     all messages that matched this criteria are marked.
456     NOTE: Selective download is a pop3 only feature and makes 
457           no sense if used as a folder processing filter.
458
459 * Custom toolbar
460 ----------------
461    Configuration->Custom toolbar lets you define the toolbar 
462    you want. The configuration dialog enables you to set an icon,
463    an appropriate text and map an action to it. Actions to choose
464    from are predefined. You may as well have your "Sylpheed Actions"
465    (refer to "user definable actions" above) on your toolbar. 
466    Example: 
467         * Configuration->Actions 
468                 - add an entry "Dillo: dillo %p&"
469         * Configuration->Custom toolbar    
470                 - select Sylpheed Actions Feature
471                 - select "Dillo: dillo %p&" from drop down list
472                 - choose an icon and click ok
473
474 * extended search in quick search
475 ---------------------------------
476     This feature allows one to define criteria that messages have
477     to match in order to be displayed in the summary view pane.
478     Search types titled From, Subject and To are self explanatory.
479     Search type extended allows one to use Sylpheed's powerful
480     filtering engine to select messages. Examples:
481     from regexpcase "foo"
482     subject regexp "Bug" & to regexp "sylpheed-claws"
483
484     Additionally, it is possible to use simpler yet equally
485     powerfull patterns for message selections. Mutt users will
486     immediately recognize most of the available patterns:
487
488     Pattern  Parameter  Selects
489     ----------------------------------------------------
490     a                   all messages
491     ag       #          messages whose age is greater than #
492     al       #          messages whose age is lower than #
493     b        S          messages which contain S in the message body
494     B        S          messages which contain S in the whole message
495     c        S          messages carbon-copied to S
496     C        S          message is either to: or cc: to S
497     D                   deleted messages
498     e        S          messages which contain S in the Sender field
499     E        S          true if execute "S" succeeds
500     f        S          messages originating from user S
501     F                   forwarded messages
502     h        S          messages which contain header S
503     i        S          messages which contain S in Message-Id header
504     I        S          messages which contain S in inreplyto header
505     L                   locked messages
506     n        S          messages which are in newsgroup S
507     N                   new messages
508     O                   old messages
509     r                   messages which have been replied to
510     R                   read messages
511     s        S          messages which contain S in subject
512     se       #          messages whose score is equal to #
513     sg       #          messages whose score is greater than #
514     sl       #          messages whose score is lower than #
515     Se       #          messages whose size is equal to #
516     Sg       #          messages whose size is greater than #
517     Ss       #          messages whose size is smaller than #
518     t        S          messages which have been sent to S
519     T                   marked marked
520     U                   unread messages
521     x        S          messages which contain S in References header
522     y        S          messages which contain S in X-Label header
523
524     # means number
525     S means regexp string
526
527     It is possible to use logical operators AND (&), OR (|) and
528     NOT (! or ~). Case sensitive search is achieved with %.
529     Examples:
530     T                  marked messages
531     U                  unread messages
532     f "john beavis"    messages from john beavis
533     %f "John Beavis"   messages from John Beavis (case sensitive)
534     ~s foo             messages which do not have foo in the subject
535     f foo & ~s bar     messages from foo that do not have bar in thesubject
536
537
538 4. How to contribute
539 --------------------
540
541 Sylpheed Main: 
542
543         submit it to the Sylpheed ML, Hiroyuki, or Paul Mangan
544         (for incorporation on the Sylpheed Patches page,
545          <http://www.thewildbeast.co.uk/sylpheed/>)
546
547 Sylpheed Claws:
548
549         It is highly recommended to use the sourceforge project page
550         of claws. Check: 
551         http://sourceforge.net/tracker/?atid=384600&group_id=25528&func=browse
552
553         If that's too troublesome, either contact Paul Mangan or consider
554         posting to the sylpheed claws users mailing list.
555
556         Bugs can be reported in the same way; the recommended web page:
557         http://sourceforge.net/tracker/?group_id=25528&atid=384598
558
559         Of course you can also post to the sylpheed claws users
560         mailing list.
561
562 Also, we really try to incorporate good contributions, but sometimes we
563 don't have enough time. If the contribution is really big, or requires
564 a long time to stabilize, send a mail to Paul Mangan. We can probably
565 arrange access to the Claws branch.
566
567
568
569 5. How to request features
570 --------------------------
571
572 Ask around in both Sylpheed ML and Sylpheed Claws Users ML. Note
573 that some developers may already thought about your feature, may
574 perhaps be implementing it - or the feature was already discussed
575 and rejected for whatever reason.  You might want to go ahead and 
576 hack a patch for it. (That would be very cool!) Another
577 possibility is to use the Feature Request Tracker at the
578 sourceforge project page.
579
580
581
582 6. Installing Claws from CVS
583 ----------------------------
584
585   a. Downloading
586   --------------
587
588   To download the latest cvs cd to the directory where you wish to download
589   to and type the following information:
590
591   cvs -d:pserver:anonymous@cvs.sylpheed-claws.sourceforge.net:/cvsroot/sylpheed-claws login
592
593   When prompted for a password press the RETURN key.
594   After anonymously logging in:
595
596   cvs -z3 -d:pserver:anonymous@cvs.sylpheed-claws.sourceforge.net:/cvsroot/sylpheed-claws co sylpheed-claws 
597
598
599   b. Installing
600   -------------
601
602   To compile and install use the following commands:
603
604   ./autogen.sh          [add configure options as required]
605   make
606   make install          [as root]
607
608   You will need a full set of development tools installed to be able to run
609   autogen.sh. See also ac/README.
610
611 7. History
612 ----------
613
614 TODO
615