Added locked pattern to extended search.
[claws.git] / README.claws
index e101cf6..aa77125 100644 (file)
@@ -17,6 +17,9 @@ Summary:
    * pixmap themes
    * user definable actions
    * spell checking (with installation instructions)
+   * new cache
+   * selective download, delete messages on server
+   * extended search in quick search
 4. How to contribute
 5. How to request features
 6. Installing Claws from CVS
@@ -47,7 +50,7 @@ Sylpheed or Main.
   -------------------------------
 
   From the user perspective Claws is just a fancy Sylpheed, so it uses the
-  same sylpheed setting files located in ~/.sylpheed.
+  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
@@ -56,14 +59,13 @@ Sylpheed or Main.
   There are some things that frequently come up when switching to Claws:
 
 
-  * 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 converts
-    old filter rules to the claws filtering system.
-  
+  * What happened to my filter rules? 
 
+    Claws uses a new filtering system. 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, see tools/README for details.
   * What happened to the compose email and compose news buttons? 
 
     There's a composite button for both composing mail and news. You can toggle
@@ -231,7 +233,7 @@ are hardly noticeable, but deserve mentioning:
 
   Purpose:     Display uuencoded image
   Definition:  Display uuencoded: uudec %f&
-  Details:     Displays uuencoded files. The uudec script can be found in 
+  Details:     Displays uuencoded files. The uudec[1] script can be found in 
                the 'tools' directory of the distribution package.
  
   Purpose:     Alter messages
@@ -250,9 +252,9 @@ are hardly noticeable, but deserve mentioning:
   Details:     Browse the selected message part in Dillo.
 
   Purpose:     Clear Sign
-  Definition:  GnuPG/Clear Sign: |gpg-sign|
-  Details:     Clear sign a message. The gpg-sign script is responsible for 
-               asking the passphrase and for running gnupg. 
+  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
@@ -264,17 +266,14 @@ are hardly noticeable, but deserve mentioning:
   Details:     Decrypt ASCII armored messages. The passphrase is entered 
                into the opened action's input dialog.
 
-  The gpg-sign script can be found in the 'tools' directory of the 
-  distribution package. It needs the ssh-askpass utility found in OpenSSH. 
-  It can be replaced by any X11 tool that asks some (hidden) text which is 
-  then sent to standard output.
-
-  The uudec script can be found in the 'tools' directory of the 
+  [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
 -----------------------------------
@@ -286,143 +285,118 @@ are hardly noticeable, but deserve mentioning:
   a. Requirements
   ---------------
 
-  The spell checker in sylpheed requires the Portable Spell Checker
-  Interface Library pspell (http://pspell.sourceforge.net), version
-  0.12.2 or newer.
-
-  You will need also the actual spell checker.  There are two alternatives:
+  Note:
+  As for version 0.8.3 (and cvs version 0.8.2claws3), Sylpheed-Claws uses
+  the new GNU/aspell 0.50 for spell checking instead of the obsolete pspell
+  and old aspell 0.33.x.  You will need to upgrade your system.  See
+  http://www.gnu.org/software/aspell for instructions on how to do this.
 
-     i) ispell (http://fmg-www.cs.ucla.edu/fmg-members/geoff/ispell.html),
-        which is found on quasi every distribution.  You have then to
-        install the pspell-ispell module found at the pspell site.
+  The spell checker in Sylpheed requires the new GNU/aspell library
+  (http://www.gnu.org/software/aspell), version 0.50 or newer.
 
-    ii) aspell (http://aspell.sourceforge.net).  This spell checker
-        must be installed after installing pspell.  The version tested
-        is .33.7 alpha. It has three different suggestion modes (fast
-        -default- , normal, bad spellers), has the ability to learn
-        from mistakes (default). 
-
-  And, last but not least, do not forget to install the dictionaries. Check
-  the corresponding spell checker home page for more information on this.
+  You also need the dictionaries. Check GNU/aspell home page for how
+  to download and install them.
+  
+  NB: The old dictionaries used by the old aspell will not work.
 
   b. Configuring Sylpheed
   -----------------------
 
-  Spell checking is enabled if you configure sylpheed appropriately. Add
-  the option '--enable-pspell' when configuring. E.g.:
+  Spell checking is enabled if you configure Sylpheed appropriately. Add
+  the option '--enable-aspell' when configuring. E.g.:
 
-  ./configure --enable-pspell
+  ./configure --enable-aspell
 
-  The configure script needs 'pspell-config' in your path.  If it is
-  in weird places, use '--with-pspell-prefix' to tell the path to
-  pspell-config.  E.g., if pspell-config is really
-  /foo/bar/pspell-config, then use:
+  The configure script needs the 'aspell' executable to be in your path.
+  If it is in unusual places, use '--with-aspell-prefix' to tell the path of
+  the aspell executable.  E.g., if aspell's full path is
+  /foo/bar/bin/aspell, then use:
 
-  ./configure --enable-pspell --with-pspell-prefix=/foo/bar
+  ./configure --enable-aspell --with-aspell-prefix=/foo/bar
 
-  If you have problems with not found includes or libraries, check
-  first where these are located, and add either options:
+  The '--with-aspell-prefix=PREFIX' option will let the configure
+  script search for includes and libraries in PREFIX/include and PREFIX/lib.
 
-  --with-pspell-includes=/foo/bar/include
+  You can also specify manually the includes and libraries path by using
+  either following options:
 
-  or 
+  --with-aspell-includes=/foo/bar/include
 
-  --with-pspell-libs=/foo/bar/lib
+  and/or 
+
+  --with-aspell-libs=/rab/oof/lib
 
   as appropriate.
 
-  Configure script summarizes the options compiled in. Check that
-  configure lists 'Pspell = yes'.
+  The configure script summarizes the options compiled in.  Check that
+  it lists 'GNU/aspell = yes'.
 
   Then proceed as usual, with 'make' and 'make install'.
 
   c. Usage
   --------
 
-  NOTE: if you upgraded from 0.7.0claws, please reselect your default
-  dictionary in the preferences.
+  NOTE: if you upgraded from Sylpheed-Claws 0.8.2 (or cvs version 0.8.2claws2) 
+  or earlier, please check if the dictionary path was updated in the
+  Configuration -> Common Preferences -> Spell Checker menu.  If not, update
+  it accordingly as explained below.
 
-  After successful compiling, you need to tell sylpheed where your
-  dictionaries reside.  First run 'pspell-config pkgdatadir' on the
-  shell to get their path.
+  After successful compiling, you need to tell Sylpheed where your
+  dictionaries reside. The configure script should have found it,
+  but in case it did not, run 'aspell config dict-dir' on the
+  shell to get the path to the dictionaries.
 
-  Then run sylpheed and go to Configuration -> Common preferences ->
-  Spell Checker.  Check the box 'Enable spell checker (EXPERIMENTAL)' and
+  Then run Sylpheed and go to Configuration -> Common preferences ->
+  Spell Checker.  Check the box 'Enable spell checker' 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
+  and select *any* file in the file lists.  Click OK. Then, you should 
   be able to select your default dictionary.
 
   When composing, misspelled words are highlighted.  Click on any
   highlighted word with the right mouse button to get a list of
   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
+  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 your
+  personal dictionary to learn it.  The next entries are the suggested words. 
+  The first 15 suggestions can be accessed by 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. 
+  a mail to melvin.hadasht@free.fr).  Aspell has a 'learn from mistake'
+  function that can be used by pressing the MOD1 key and selecting the 
+  suggestion (with the keyboard or with the mouse).  See GNU/aspell manual
+  §6.3 for an explanation of this feature (also called 'replacement storing'). 
 
   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.
   With this menu, you can also change the dictionary while editing.
   Finally, you can change the suggestion mode, and the learn from
-  misktakes feature (only when using an aspell dictionary).
+  misktakes feature.
 
   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" 
+  '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 
+  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.
+  starting from its beginning and using the 'Forward to next misspelled
+  word' keyboard short cut.
   
 
   d. Known problems
   -----------------
 
-    i) libtool
-
-    The only real known problems until now are configuration and
-    compilation problems  due to libtool interaction with pspell. 
-
-    If you do not compile pspell/aspell/pspell-ispell yourself, you
-    need to install them with their devel packages.
-
-    Pspell work with dynamic linking of libraries and thus uses the
-    libltdl library of libtool.  If you have weird problems when
-    configuring showing 'libtool', chances are the libtool used when
-    compiling the pspell package is not compatible with what you have
-    on your system.  The best solution, is to install the latest
-    libtool AND compile yourself pspell package.  I can't help more
-    than that in this issue.
-
-    After successfully compiled and used sylpheed with spell checking,
-    the same problem can appear if you upgrade your libtool to a
-    version which libltdl is incompatible to your older one.    The
-    symptoms are a crash when starting to compose.  Disabling spell
-    checking avoids the problem. The solution should be to recompile pspell.
-
-    ii) New installed ispell dictionary are not detected
-
-    Installing a new ispell dictionary needs an additional step. Go
-    to the 'pkgdatadir' and run 'make-ispell-pwli'.  You may need to
-    su root.
+    No known problems as the time of this writing (0.8.2claws3).
 
 * 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
@@ -432,9 +406,133 @@ are hardly noticeable, but deserve mentioning:
     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.
+    NOTE: Selective download is a pop3 only feature and makes 
+         no sense if used as a folder processing filter.
+
+* Custom toolbar
+----------------
+   Configuration->Custom toolbar lets you define the toolbar 
+   you want. The configuration dialog enables you to set an icon,
+   an appropriate text and map an action to it. Actions to choose
+   from are predefined. You may as well have your "Sylpheed Actions"
+   (refer to "user definable actions" above) on your toolbar. 
+   Example: 
+       * Configuration->Actions 
+               - add an entry "Dillo: dillo %p&"
+        * Configuration->Custom toolbar    
+               - select Sylpheed Actions Feature
+               - select "Dillo: dillo %p&" from drop down list
+               - choose an icon and click ok
+       
+* quick search
+---------------------------------
+    This feature allows one to define criteria that messages have
+    to match in order to be displayed in the summary view pane.
+    Search types titled From, Subject and To are self explanatory.
+    Search type extended allows one to use Sylpheed's powerful
+    filtering engine to select messages. Examples:
+    from regexpcase "foo"
+    subject regexp "Bug" & to regexp "sylpheed-claws"
+
+    Additionally, it is possible to use simpler yet equally
+    powerfull patterns for message selections. Mutt users will
+    immediately recognize most of the available patterns:
+
+    Pattern  Parameter  Selects
+    ----------------------------------------------------
+    a                   all messages
+    ag       #          messages whose age is greater than #
+    al       #          messages whose age is lower than #
+    b        S          messages which contain S in the message body
+    B        S          messages which contain S in the whole message
+    c        S          messages carbon-copied to S
+    C        S          message is either to: or cc: to S
+    D                   deleted messages
+    e        S          messages which contain S in the Sender field
+    E        S          true if execute "S" succeeds
+    f        S          messages originating from user S
+    F                   forwarded messages
+    h        S          messages which contain header S
+    i        S          messages which contain S in Message-Id header
+    I        S          messages which contain S in inreplyto header
+    L                   locked messages
+    n        S          messages which are in newsgroup S
+    N                   new messages
+    O                   old messages
+    r                   messages which have been replied to
+    R                   read messages
+    s        S          messages which contain S in subject
+    se       #          messages whose score is equal to #
+    sg       #          messages whose score is greater than #
+    sl       #          messages whose score is lower than #
+    Se       #          messages whose size is equal to #
+    Sg       #          messages whose size is greater than #
+    Ss       #          messages whose size is smaller than #
+    t        S          messages which have been sent to S
+    T                   marked marked
+    U                   unread messages
+    x        S          messages which contain S in References header
+    y        S          messages which contain S in X-Label header
+
+    # means number
+    S means regexp string
+
+    It is possible to use logical operators AND (&), OR (|) and
+    NOT (! or ~). Case sensitive search is achieved with %.
+    Examples:
+    T                  marked messages
+    U                  unread messages
+    f "john beavis"    messages from john beavis
+    %f "John Beavis"   messages from John Beavis (case sensitive)
+    ~s foo             messages which do not have foo in the subject
+    f foo & ~s bar     messages from foo that do not have bar in thesubject
 
 
 4. How to contribute