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