updated doc:selective download, delete on server
[claws.git] / README.claws
index 30db04bb4c61d7eb8ce5a38302bdaebb49f9c404..060fe4fbbbea36e1325e308e9b0d8ed2b0372811 100644 (file)
@@ -4,17 +4,27 @@ README.claws
 Summary:
 
 1. What is Sylpheed Claws?
-2. Switching to Claws
+2. Switching between Sylpheed Claws and Sylpheed
+   * From Sylpheed to Sylpheed Claws
+   * From Sylpheed Claws to Sylpheed
 3. Things Claws does different
    * auto address replacement in summary view
    * manual selection of MIME types for attachments
    * sharing mail folders
    * default to address for folders
    * threading mode per folder
-   * quotation wrapping
+   * simplify subject string
+   * pixmap themes
+   * user definable actions
    * spell checking (with installation instructions)
+   * new cache
+   * selective download, delete messages on server
 4. How to contribute
 5. How to request features
+6. Installing Claws from CVS
+7. History
+
+
 
 1. What is Sylpheed Claws?
 --------------------------
@@ -31,90 +41,242 @@ For brevity Sylpheed Claws is referred to as Claws, and Sylpheed as either
 Sylpheed or Main.
 
 
-2. Switching to Claws
----------------------
 
-From the user perspective Claws is just a fancy Sylpheed, so it uses the
-same sylpheed setting files located in ~/.sylpheed.
+2. Switching between Sylpheed Claws and Sylpheed
+------------------------------------------------
 
-It's always a good idea to back up all files in ~/.sylpheed in case
-you want to switch back to Sylpheed. (You don't have to backup the
-directories.)
+  From Sylpheed to Sylpheed Claws      
+  -------------------------------
 
-There are some things that frequently come up when switching to Claws:
+  From the user perspective Claws is just a fancy Sylpheed, so it uses the
+  same sylpheed setting files located in ~/.sylpheed.
 
+  It's always a good idea to back up all files in ~/.sylpheed in case
+  you want to switch back to Sylpheed. (You don't have to backup the
+  directories.)
 
-* When replying, the original sender's text is not quoted anymore.
+  There are some things that frequently come up when switching to Claws:
 
-  Claws has a different quote format handler. Add either %Q or %q to the
-  quote format text. Also click the button "Description of symbols"
-  for more quotation symbols.
 
+  * Why does the advanced filtering system not work?
 
-* Why does the advanced filtering system not work?
-
-  Claws uses the new filtering system as soon as you define a new rule for it.
-  Your old sylpheed filter rules will not be used. In subdirectory tools/ of
-  the distribution there is a Perl script called filter_conv.pl which convers
-  old filter rules to the claws filtering system.
+    Claws uses the new filtering system as soon as you define a new rule for it.
+    Your old sylpheed filter rules will not be used. In subdirectory tools/ of
+    the distribution there is a Perl script called filter_conv.pl which converts
+    old filter rules to the claws filtering system.
   
 
-* What happened to the compose email and compose news buttons? 
+  * What happened to the compose email and compose news buttons? 
+
+    There's a composite button for both composing mail and news. You can toggle
+    between composing mail and news by clicking on the button with the triangle.
+
+
+  * And to the Preferences and Execute buttons?
+
+    Sorry, they're not there.
+
 
-  There's a composite button for both composing mail and news. You can toggle
-  between composing mail and news by clicking on the button with the triangle.
+  From Sylpheed Claws to Sylpheed
+  -------------------------------
 
+  Moving from Claws to Sylpheed is also simple. Sylpheed should neglect the things
+  Claws put in the settings files. This also means that the old rules will work
+  again. 
 
-* And to the Preferences and Execute buttons?
+  If you want to switch back to Claws at a later time, make sure you back up at least
+  ~/.sylpheed/matcherrc (the Claws filtering rules), and ~/.sylpheed/sylpheedrc 
+  (which may have some claws specific settings).
 
-  Sorry, they're not there.
+  When switching back to Sylpheed you will not lose messages or message flags (color
+  labels, read / unread status of messages). 
 
+  Switching between Sylpheed Claws and Sylpheed on a regular basis
+  ----------------------------------------------------------------
 
+  If you want to have both claws and main installed concurrently simply pass them
+  a different --prefix when doing ./configure. Then use the script 'sylpheed-switcher',
+  (which is provided in the tools directory), to launch the version you require without
+  fear of losing specific settings related to either claws or main. Further details can
+  be found in tools/README. 
 
 3. Things Claws does different
 ------------------------------
 
 Claws does a lot of things different. Here a quick run-down of things that
-are hardly noticable, but deserve mentioning:
+are hardly noticeable, but deserve mentioning:
 
 * auto address replacement in summary view
+-----------------------------------
   This matches a plain email address with a person in the address book. This
   feature is enabled in Common Preferences | Tab Display | SummaryView Group |
   Display sender using addressbook
 
 * manual selection of MIME types for attachments
+-----------------------------------
   You can change the MIME type of an attachment by right-clicking in the
   attachment list, selecting Property in the menu. The MIME type list
   is a combo box with the known MIME types.
 
 * sharing mail folders   
-  You can also share or use shared mail folders. Right-click a folder and
+ -----------------------------------
+ You can also share or use shared mail folders. Right-click a folder and
   select Property. Change the Folder chmod setting.
 
 * default to address for folders
-  Most people filter mailing list mails to separate folders. Claws allows
+ -----------------------------------
+ Most people filter mailing list mails to separate folders. Claws allows
   you to associate a folder with a mailing list or a person. Right-click a
   folder, select Property and change the Default To setting. When you
-  compose a new mail, when this folder is selected the recepient address
+  compose a new mail, when this folder is selected the recipient address
   will be set to this address.
 
   (NOTE: this is also a shoot-yourself-in-the-foot-setting! If you want
    to send a private mail, don't have a folder selected with this setting
    set.)
 
-* threading mode per folder
-  Folders can have their own threading and sorting mode. Just select a 
-  folder, and set their threading and sorting mode.
-
+* pixmap themes
+-----------------------------------
+  To use different icon sets you need to create a directory: 
+       mkdir ~/.sylpheed/themes
+  Icon sets should be placed in this directory in their own sub-directory. 
+  They are then selectable from Pixmap Theme on the Interface tab of Commmon
+  Preferences. 
+
+* user definable actions
+-----------------------------------
+  The "actions" feature is a convenient way for the user to launch external 
+  commands to process a complete message file including headers and body or 
+  just one of its parts. It allows also the use of an external command to 
+  filter the whole text or just a selected part in the message window or in 
+  the compose window. This is a generic tool that allows to do any uncommon 
+  actions on the messages, and thus extends the possibilities of Sylpheed. 
+  For example, Sylpheed does not include the rot13 cyphering algorithm 
+  popular in some newsgroups. It does not support natively armored 
+  encryption or clear signing. It does not support uuencoded messages. As 
+  all these features can be handled by external programs, the actions 
+  provide a convenient way to use them from the menu bar.
+
+  a. Usage
+  --------
 
-* quotation wrapping
-  Quotation is wrapped like VIM would wrap it (at least that was the
-  goal). To enable this feature go to Common preferences->Compose and
-  make sure Wrap quotation is enabled. The text is automatically
-  wrapped when you reply to an e-mail if this feature is enabled.
+  To create a new action, go to Configuration -> Actions.... The "Action
+  Creation" dialog offers to enter the Menu name that will trigger the 
+  command. The created menu will be found in the Tools -> Actions submenu. 
+  By inserting a slash / in the menu name, you create a submenu.
+
+  The command is entered in the Command line entry. Note that Sylpheed 
+  stores every single email in a separate file. This allows to use the 
+  following syntax for the command:
+
+    * %f denotes the file name of the selected message. If you selected more
+        than one, then the command will be launched for each message with 
+        the appropriate file name
+    * %F denotes the list of the file names of the selected message. If only
+        one message is selected, this amounts to %f, but if more messages 
+        are selected, then the command will be launched only once with the 
+        list of the file names. (You can use both %f and %F in one command: 
+        then the command will be launched for each selected message with 
+        the name of this message and with the list of all selected 
+        messages. I did not find a practical example for this.)
+    * %p denotes the current selected message part of a multipart message. 
+        The part is decoded accordingly. If the message is not a multipart 
+        message, it denotes the message body.
+    * Prepending >: this will allow you to send to the command's standard 
+        input a text that you will enter in a dialog window.
+    * Prepending *: this will allow you to send to the command's standard 
+        input a text that you will enter in a dialog window. But in 
+        contrast to prepending >, the entered text is hidden (useful when 
+        entering passwords).
+    * Appending an ampersand &: this will run the command asynchronously. 
+        That means "fire and forget". Sylpheed won't wait for the command 
+        to finish, nor will it catch its output or its error messages.
+    * Prepending the vertical bar | (pipe-in): this will send the current 
+        displayed text or the current selected text from the message view 
+        or the compose window to the command standard input. The command 
+        will silently fail if more than one message is selected.
+    * Appending the vertical bar | (pipe-out): this will replace the current 
+        displayed text or the current selected text from the message window
+        or the compose window by the command standard output. The command
+        will silently fail if more than one message is selected.
+
+  Note: It is not possible to use actions containing %f, %F or %p from the
+  compose window. 
+
+  When a command is run, and unless it is run asynchronously, Sylpheed will
+  be insensitive to any interaction and it will wait for the command to 
+  finish. If the command takes too long (5 seconds), it will popup a dialog 
+  window allowing to stop it. This dialog will also be displayed as soon as
+  the command has some output: error messages or even its standard output 
+  when the command is not a "pipe-out" command. When multiple commands are 
+  being run, they are run in parallel and each command output is separated 
+  from the outputs of the others.
+
+  a. Examples
+  -----------
+
+  Here are some examples that are listed in the same syntax as used for 
+  storing the actions list. You can copy and past the definition in your 
+  ~/.sylpheed/actionsrc file (exit Sylpheed before). The syntax is very 
+  simple: one line per action, each action contains the menu name and the 
+  command line separated by a colon and a space ": "
+
+  Purpose:     rot13 cyphering
+  Definition:  Rot13: |tr a-zA-Z n-za-mN-ZA-M|
+  Details:     This will apply the rot13 cyphering algorithm to the 
+               (selected) text in the message/compose view.
+
+  Purpose:     Decoding uuencoded messages
+  Definition:  UUdeview: xdeview %F&
+  Details:     xdeview comes with uudeview. If an encoded file is split in 
+               multiple messages, just select them all and run the command.
+
+  Purpose:     Display uuencoded image
+  Definition:  Display uuencoded: uudec %f&
+  Details:     Displays uuencoded files. The uudec[1] script can be found in 
+               the 'tools' directory of the distribution package.
+  Purpose:     Alter messages
+  Definition:  Edit message: gvim -f %F
+  Details:     Allows editing of any received message. Can be used to remove 
+               unneeded message parts, etc.
+
+  Purpose:     Pretty format
+  Definition:  Par: |par 72Tbgjqw74bEe B=._A_a 72bg|
+  Details:     par is a utility that can pretty format any text. It does a 
+               very good job in indenting quoted messages, and justifying 
+               text. Used when composing a message
+
+  Purpose:     Browse
+  Definition:  Part/Dillo: dillo %p&
+  Details:     Browse the selected message part in Dillo.
+
+  Purpose:     Clear Sign
+  Definition:  GnuPG/Clear Sign: |gpg-sign-syl|
+  Details:     Clear sign a message. The gpg-sign-syl[2] script is responsible
+               for asking the passphrase and for running gnupg. 
+
+  Purpose:     Verify Clear Signed
+  Definition:  GnuPG/Verify: |gpg --no-tty --verify
+  Details:     Verify clear signed messages. The result is displayed in the
+               actions output dialog.
+
+  Purpose:     Decrypt ASCII Armored
+  Definition:  GnuPG/Decrypt: *gpg --no-tty --command-fd 0 --passphrase-fd 0 --decrypt %f|
+  Details:     Decrypt ASCII armored messages. The passphrase is entered 
+               into the opened action's input dialog.
+
+  [1] The uudec script can be found in the 'tools' directory of the 
+  distribution package. It needs uudecode and ImageMagick's display. The 
+  latter can be replaced by any image viewer that can get input from 
+  standard input. The script could also be modified to use temporary files 
+  instead of standard input. 
+
+  [2] The gpg-sign-syl script can be found in the 'tools' directory of the 
+  distribution package. 
 
 * Spell checker for Sylpheed-Claws
-  
+-----------------------------------
   a. Requirements
   b. Configuration and installation
   c. Usage
@@ -176,12 +338,15 @@ are hardly noticable, but deserve mentioning:
   c. Usage
   --------
 
+  NOTE: if you upgraded from 0.7.0claws, please reselect your default
+  dictionary in the preferences.
+
   After successful compiling, you need to tell sylpheed where your
   dictionaries reside.  First run 'pspell-config pkgdatadir' on the
   shell to get their path.
 
   Then run sylpheed and go to Configuration -> Common preferences ->
-  Compose.  Check the box 'Enable spell checker (EXPERIMENTAL)' and
+  Spell Checker.  Check the box 'Enable spell checker (EXPERIMENTAL)' and
   use the file selector ('...' button) to select the path where the
   dictionaries reside.  Within the file selector, go to that directory
   and select *any* file in the file lists.  Click ok. You should then
@@ -189,16 +354,41 @@ are hardly noticable, but deserve mentioning:
 
   When composing, misspelled words are highlighted.  Click on any
   highlighted word with the right mouse button to get a list of
-  suggestions.  You can also accept the highlighted word to the
-  session dictionary (equivalent to an 'ignore' option of other spell
-  checker), or you can add it to you personal dictionary.
+  suggestions.  The first entry of the menu just displays the unknown
+  word.  Selecting "Accept in this session" (or hitting MOD1-Space, 
+  where MOD1 is usually the ALT key), will ignore this word and accept
+  it in this message.  Selecting the next entry "Add to dictionary", which
+  is bound to MOD1-Enter combination will add the unknown word to the
+  dictionary to learn it.  The next entries are the suggested words. 
+  The first 15 suggestions can be accessed typing one of the first letters
+  of Latin alphabet (if this does not suit your language, please send
+  a mail to melvin.hadasht@free.fr).  If you are using an aspell 
+  dictionary, you can use its 'learn from mistake' feature, by pressing
+  the MOD1 key and selecting the suggestion (with the keyboard or with
+  the mouse).  See pspell manual ยง4.7.1 for an explanation of this 
+  feature. 
 
   If you click with the right mouse button everywhere else, or if you
   shift-right-click even on a misspelled word, you get the
-  configuration  menu.  'Check all' highlights all misspelled words.
+  configuration menu.  'Check all' highlights all misspelled words.
   With this menu, you can also change the dictionary while editing.
-  You can change the suggestion mode and toggle the learn from
-  misktakes 'feature' (useful only with aspell).
+  Finally, you can change the suggestion mode, and the learn from
+  misktakes feature (only when using an aspell dictionary).
+
+  Spell checking can also be done using keyboard shortcuts.  In the
+  "Edit" menu of the compose window, there are two menus "Check backwards
+  misspelled word" and "Forward to next misspelled word".  Add to them 
+  appropriate keyboard shortcuts.  "Check backwards misspelled word" 
+  checks backwards from cursor position for the first misspelled word.
+  If it finds one, it displays the suggestions lists which can be handled
+  with the keyboard as described before. When the suggestion menu is 
+  closed, the cursor returns to its original position to be able to 
+  continue editing.  The "Forward to next misspelled word" do the same 
+  thing in the other direction but moves the cursor at the end of the
+  misspelled word.  This way, you can spell check easily a whole message
+  starting from its beginning and using the "Forward to next misspelled
+  word" keyboard short cut.
+  
 
   d. Known problems
   -----------------
@@ -231,10 +421,66 @@ are hardly noticable, but deserve mentioning:
     to the 'pkgdatadir' and run 'make-ispell-pwli'.  You may need to
     su root.
 
+* simplify subject string
+-----------------------------------
+    It is possible to remove parts of string from the subject line.
+    Example: [Sylpheed-claws-users] This is a test
+    becomes: This is a test
+    This is a per folder property. Right click on a folder and select
+    property, enable Simplify Subject RegExp check box. Example
+    regexp for the above is: \[Sylpheed-claws-(devel|users)\]
+    Another example for the Sylpheed mailing list (not claws!) is:
+    \[sylpheed:[0-9]{5}\]
+
+* new cache
+-----------------------------------
+    New cache is  a new data cache structure for sylpheed, that will
+    solve many of the problems sylpheed currently has with updates to
+    flags.  But you will also notice a large speed gain when you open
+    these folders. 
+
+    New cache uses two new configuration parameters that can be
+    adjusted in ~/.sylpheed/sylpheedrc (no gui for them available yet).
+
+    cache_max_mem_usage                (default: 4096)
+       the maximum kB of memory sylpheed should use.
+       It will try to keep the memory usage below this
+       value, but it will always use the assigned
+       amount of memory for speed gain.
+
+    cache_min_keep_time                (default: 15)
+       the minimum time in minutes sylpheed will keep
+       the folder cache in memory. If a cache is more
+       recent than this time it will not be freed even
+       if the memory usage is above the maximum. You
+       should probably set this value higher than your
+       mail check interval. Otherwise the cache will
+       always be freed between checks even if the folder
+       is accessed on every check, which will cause much
+       disk IO.
+
+    The check if memory can be freed is currently done after the
+    active folder has been changed or whenever a new cache is read,
+    i.e. triggered by mail incorporation.
+
+    New mails in MH folders are not detected automatically like before,
+    when you enter the folder. You have to update the folder manually,
+    or activate the auto update setting in the options.
 
 There are a lot more options. If you find one, don't hesitate to
 mention it.
 
+* selective download, delete messages on server
+-----------------------------------
+    The selective download window lets you select messages, that
+    should be retrieved from or deleted on the server.
+    The selection can be automated by setting up a *global*
+    filtering rule (folder based rules are ignored), e.g
+      subject match "SPAM" delete_on_server
+    Next time, you retrieve the headers using selective download,
+    all messages that matched this criteria are marked.
+
+
 
 4. How to contribute
 --------------------
@@ -242,7 +488,8 @@ mention it.
 Sylpheed Main: 
 
        submit it to the Sylpheed ML, Hiroyuki, or Paul Mangan
-       (for incorporation on the Sylpheed Patches page)
+       (for incorporation on the Sylpheed Patches page,
+        <http://www.thewildbeast.co.uk/sylpheed/>)
 
 Sylpheed Claws:
 
@@ -256,7 +503,7 @@ Sylpheed Claws:
        Bugs can be reported in the same way; the recommended web page:
        http://sourceforge.net/tracker/?group_id=25528&atid=384598
 
-       Ofcourse you can also post to the sylpheed claws users
+       Of course you can also post to the sylpheed claws users
        mailing list.
 
 Also, we really try to incorporate good contributions, but sometimes we
@@ -265,6 +512,7 @@ a long time to stabilize, send a mail to Paul Mangan. We can probably
 arrange access to the Claws branch.
 
 
+
 5. How to request features
 --------------------------
 
@@ -275,3 +523,40 @@ and rejected for whatever reason.  You might want to go ahead and
 hack a patch for it. (That would be very cool!) Another
 possibility is to use the Feature Request Tracker at the
 sourceforge project page.
+
+
+
+6. Installing Claws from CVS
+----------------------------
+
+  a. Downloading
+  --------------
+
+  To download the latest cvs cd to the directory where you wish to download
+  to and type the following information:
+
+  cvs -d:pserver:anonymous@cvs.sylpheed-claws.sourceforge.net:/cvsroot/sylpheed-claws login
+
+  When prompted for a password press the RETURN key.
+  After anonymously logging in:
+
+  cvs -z3 -d:pserver:anonymous@cvs.sylpheed-claws.sourceforge.net:/cvsroot/sylpheed-claws co sylpheed-claws 
+
+
+  b. Installing
+  -------------
+
+  To compile and install use the following commands:
+
+  ./autogen.sh         [add configure options as required]
+  make
+  make install         [as root]
+
+  You will need a full set of development tools installed to be able to run
+  autogen.sh. See also ac/README.
+
+7. History
+----------
+
+TODO
+