README.claws
------------

Summary:

1. What is Sylpheed 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
   * simplify subject string
   * pixmap themes
   * user definable actions
   * spell checking (with installation instructions)
4. How to contribute
5. How to request features
6. Installing Claws from CVS
7. History



1. What is Sylpheed Claws?
--------------------------

Sylpheed Claws is a bleeding edge branch of Sylpheed, a light weight mail 
user agent for UNIX. Features in this branch may (or may not) end up in 
Sylpheed. 

Hiroyuki's ChangeLog is also included in the claws-branch distribution, 
so it should be easy to spot which features were merged with Sylpheed
(and which features were not).

For brevity Sylpheed Claws is referred to as Claws, and Sylpheed as either
Sylpheed or Main.



2. Switching between Sylpheed Claws and Sylpheed
------------------------------------------------

  From Sylpheed to Sylpheed 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.)

  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 convers
    old filter rules to the claws filtering system.
  

  * 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.


  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. 

  If you want to switch back to Claws at a later time, make sure you back up at least
  ~/.sylpheed/filteringrc (the Claws filtering rules), and ~/.sylpheed/sylpheedrc 
  (which may have some claws specific settings).

  When switching back to Sylpheed you will not lose messages or message flags (color
  labels, read / unread status of messages). 



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:

* 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
  select Property. Change the Folder chmod setting.

* default to address for folders
  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
  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.)

* 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
  Actions can be executed on message text view, or on the message's file.
  To configure new actions use Configuartion->Actions. Your actions are
  then available from Edit->Actions in the main window and compose window.

  You can edit a  message and alter it if you create  an action that opens
  the message with an editor (xemacs  %f). You can also pass the displayed
  text  through  a  filter,  for  example  to  format  the  message  (|par
  72Tbgjqw74bEe B=._A_a  72bg|). Such filters, which  begin or end  with a
  vertical pipe, can also be used  in the compose window. You can also use
  an external command to open an attachment: this will save the attachment
  temporarily in  a file and execute  it with the supplied  command (dillo
  %p).  The  symbols used  by the  actions can  be combined. The  'Help on
  syntax' should be sufficiently clear on the syntax.

  Actions are  a general tool to  access to messages. But you  provide the
  tool (script, command) to handle them.

  Here is an example  ~/.sylpheed/actionrc. Note  that each command definition 
  must be on a  single line. The menu name is everything  before the colon (:),
  and if they contain slashes, they define submenus. After the colon there
  is a single space, then the command string is the rest of the line.

  Format: |par 72Tbgjqw74bEe B=._A_a 72bg|
  Rot13: |tr a-zA-Z n-za-mN-ZA-M|
  Edit: gvim %f
  Display uuencoded: uudec %f&
  Mime Part/Edit: gvim %p
  Mime Part/Browse: dillo %p
  UUdeview: xdeview %f
  UUdecode: uudecode %f

  Here the uudec script is the following:

  #!/bin/sh
  uudecode -o - $1 | display


* Spell checker for Sylpheed-Claws
  
  a. Requirements
  b. Configuration and installation
  c. Usage
  d. Known problems

  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:

     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.

    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.

  b. Configuring Sylpheed
  -----------------------

  Spell checking is enabled if you configure sylpheed appropriately. Add
  the option '--enable-pspell' when configuring. E.g.:

  ./configure --enable-pspell

  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:

  ./configure --enable-pspell --with-pspell-prefix=/foo/bar

  If you have problems with not found includes or libraries, check
  first where these are located, and add either options:

  --with-pspell-includes=/foo/bar/include

  or 

  --with-pspell-libs=/foo/bar/lib

  as appropriate.

  Configure script summarizes the options compiled in. Check that
  configure lists 'Pspell = 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.

  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 ->
  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
  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
  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.
  With this menu, you can also change the dictionary while editing.
  FInally, you can change the suggestion mode misktakes 'feature' 
  (useful only with aspell).

  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
  -----------------

    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.

* 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}\]

There are a lot more options. If you find one, don't hesitate to
mention it.



4. How to contribute
--------------------

Sylpheed Main: 

	submit it to the Sylpheed ML, Hiroyuki, or Paul Mangan
	(for incorporation on the Sylpheed Patches page)

Sylpheed Claws:

	It is highly recommended to use the sourceforge project page
	of claws. Check: 
	http://sourceforge.net/tracker/?atid=384600&group_id=25528&func=browse

	If that's too troublesome, either contact Paul Mangan or consider
	posting to the sylpheed claws users mailing list.

	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
	mailing list.

Also, we really try to incorporate good contributions, but sometimes we
don't have enough time. If the contribution is really big, or requires
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
--------------------------

Ask around in both Sylpheed ML and Sylpheed Claws Users ML. Note
that some developers may already thought about your feature, may
perhaps be implementing it - or the feature was already discussed
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. History
----------

TODO

