update icons (sync with main (adjust hue))
[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    * extended search in quick search
22    * 'dynamic' signatures
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 * Custom toolbar
448 ----------------
449    Configuration->Custom toolbar lets you define the toolbar 
450    you want. The configuration dialog enables you to set an icon,
451    an appropriate text and map an action to it. Actions to choose
452    from are predefined. You may as well have your "Sylpheed Actions"
453    (refer to "user definable actions" above) on your toolbar. 
454    Example: 
455         * Configuration->Actions 
456                 - add an entry "Dillo: dillo %p&"
457         * Configuration->Custom toolbar    
458                 - select Sylpheed Actions Feature
459                 - select "Dillo: dillo %p&" from drop down list
460                 - choose an icon and click ok
461
462 * extended search in quick search
463 ---------------------------------
464     This feature allows one to define criteria that messages have
465     to match in order to be displayed in the summary view pane.
466     Search types titled From, Subject and To are self explanatory.
467     Search type extended allows one to use Sylpheed's powerful
468     filtering engine to select messages. Examples:
469     from regexpcase "foo"
470     subject regexp "Bug" & to regexp "sylpheed-claws"
471
472     Additionally, it is possible to use simpler yet equally
473     powerfull patterns for message selections. Mutt users will
474     immediately recognize most of the available patterns:
475
476     Pattern  Parameter  Selects
477     ----------------------------------------------------
478     a                   all messages
479     ag       #          messages whose age is greater than #
480     al       #          messages whose age is lower than #
481     b        S          messages which contain S in the message body
482     B        S          messages which contain S in the whole message
483     c        S          messages carbon-copied to S
484     C        S          message is either to: or cc: to S
485     D                   deleted messages
486     e        S          messages which contain S in the Sender field
487     E        S          true if execute "S" succeeds
488     f        S          messages originating from user S
489     F                   forwarded messages
490     h        S          messages which contain header S
491     i        S          messages which contain S in Message-Id header
492     I        S          messages which contain S in inreplyto header
493     L                   locked messages
494     n        S          messages which are in newsgroup S
495     N                   new messages
496     O                   old messages
497     r                   messages which have been replied to
498     R                   read messages
499     s        S          messages which contain S in subject
500     se       #          messages whose score is equal to #
501     sg       #          messages whose score is greater than #
502     sl       #          messages whose score is lower than #
503     Se       #          messages whose size is equal to #
504     Sg       #          messages whose size is greater than #
505     Ss       #          messages whose size is smaller than #
506     t        S          messages which have been sent to S
507     T                   marked messages
508     U                   unread messages
509     x        S          messages which contain S in References header
510     y        S          messages which contain S in X-Label header
511
512     # means number
513     S means regexp string
514
515     It is possible to use logical operators AND (&), OR (|) and
516     NOT (! or ~). Case sensitive search is achieved with %.
517     Examples:
518     T                  marked messages
519     U                  unread messages
520     f "john beavis"    messages from john beavis
521     %f "John Beavis"   messages from John Beavis (case sensitive)
522     ~s foo             messages which do not have foo in the subject
523     f foo & ~s bar     messages from foo that do not have bar in thesubject
524
525 * (build in) image viewer
526 -----------------------
527     Claws allows to load viewers for mime parts with plugins. To keep
528     the main programs code small and easier to maintain by defining an
529     API for viewers and not having to include every viewer in the code
530     the build in image viewer was removed and put into a plugin. If you
531     wonder why image viewing is not working anymore you probably have
532     to load the plugin.
533
534
535 4. How to contribute
536 --------------------
537
538 Sylpheed Main: 
539
540         submit it to the Sylpheed ML, Hiroyuki, or Paul Mangan
541         (for incorporation on the Sylpheed Patches page,
542          <http://www.thewildbeast.co.uk/sylpheed/>)
543
544 Sylpheed Claws:
545
546         It is highly recommended to use the sourceforge project page
547         of claws. Check: 
548         http://sourceforge.net/tracker/?atid=384600&group_id=25528&func=browse
549
550         If that's too troublesome, either contact Paul Mangan or consider
551         posting to the sylpheed claws users mailing list.
552
553         Bugs can be reported with Claws' bugzilla at:
554         http://sylpheed-claws.sourceforge.net/cgi-bin/bugzilla/index.cgi
555
556         Of course you can also post to the sylpheed claws users
557         mailing list.
558
559 Also, we really try to incorporate good contributions, but sometimes we
560 don't have enough time. If the contribution is really big, or requires
561 a long time to stabilize, send a mail to Paul Mangan. We can probably
562 arrange access to the Claws branch.
563
564
565
566 5. How to request features
567 --------------------------
568
569 Ask around in both Sylpheed ML and Sylpheed Claws Users ML. Note
570 that some developers may already thought about your feature, may
571 perhaps be implementing it - or the feature was already discussed
572 and rejected for whatever reason.  You might want to go ahead and 
573 hack a patch for it. (That would be very cool!) Another
574 possibility is to use the Feature Request Tracker at the
575 sourceforge project page.
576
577
578
579 6. Installing Claws from CVS
580 ----------------------------
581
582   a. Downloading
583   --------------
584
585   To download the latest cvs cd to the directory where you wish to download
586   to and type the following information:
587
588   cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/sylpheed-claws login
589
590   When prompted for a password press the RETURN key.
591   After anonymously logging in:
592
593   cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/sylpheed-claws co sylpheed-claws 
594
595
596   b. Installing
597   -------------
598
599   To compile and install use the following commands:
600
601   ./autogen.sh          [add configure options as required]
602   make
603   make install          [as root]
604
605   You will need a full set of development tools installed to be able to run
606   autogen.sh. See also ac/README.
607
608 7. History
609 ----------
610
611 TODO
612