complete commit 61889fd9465da61b0db28d75860a91745b7a51d5
[claws.git] / tools / README
index e37313ecbcf5ea7c4fb66c7e9b8784bbbbe3ebd2..f89e398ccfec3df06bb7ec00d15f404582e9a795 100644 (file)
@@ -4,38 +4,53 @@ Contents of the tools directory:
 --------------------------------------------------------------------------------
 
 Action scripts:
-  freshmeat_search.pl          Search freshmeat.net for selected text
+  cm-reparent.pl                Fix thread parenting for two or more messages
+  cm-break.pl                   Remove thread parenting for one or more messages
+  ddg_search.pl                 Search DuckDuckGo for selected text
   google_msgid.pl               Search groups.google.com for selected message-id
-  google_search.pl             Search google.com for selected text
-  multiwebsearch.pl            Search any search engine for the selected text
-  textviewer.sh                        Attempt to view an attachment as plain text
+  multiwebsearch.pl             Search any search engine for the selected text
+  textviewer.sh                 Attempt to view an attachment as plain text
   uudec                         Decode and display uuencoded images
+  uuooffice                     Decode uuencoded attachments and open them with
+                                OpenOffice
 
 Addressbook conversion:
+  csv2addressbook.pl           Import Becky, Thunderbird, Kmail, Gmail and Fox
+                               Mail address books
   eud2gc.py                     Convert Eudora address book to Gnomecard
   kmail2claws-mail.pl           Import a Kmail address book (KDE2)
   kmail2claws-mail_v2.pl        Import a Kmail address book (KDE3)
+  mew2claws-mail.pl            Import a Mew address book
   outlook2claws-mail.pl         Import an Outlook generated contact list
   tb2claws-mail                 Import The Bat! address books
-  vcard2xml.py                 Import an Evolution vCard
+  vcard2xml.py                  Import an Evolution vCard
 
 Mailbox conversion:
   calypso_convert.pl            Import mbox files with attachments from Calypso
-  convert_mbox.pl              Import mbox files
-  maildir2claws-mail.pl                Convert a maildir mailbox to MH format
-  tbird2claws.py               Integrate a Thunderbird folder tree into Claws
+  convert_mbox.pl               Import mbox files
+  kmail-mailbox2claws-mail.pl   Convert a kmail mailbox to a Claws Mail mailbox
+  tbird2claws.py                Integrate a Thunderbird folder tree into Claws
 
 Other tools:
-  acroread2claws-mail.pl       Send PDFs from Adobe Reader 7
-  filter_conv_new.pl           Convert new-style Sylpheed filters to filtering
+  acroread2claws-mail.pl        Send PDFs from Adobe Reader 7
+  claws-mail-compose-insert-files.pl
+                                Insert files into a new Compose window
+  filter_conv_new.pl            Convert new-style Sylpheed filters to filtering
   filter_conv.pl                Convert old-style Sylpheed filters to filtering
-  nautilus2claws-mail.sh       Send files from Nautilus
-  OOo2claws-mail.pl             Send documents from OpenOffice.org
+  fix-date.sh                   Replace/Add a message's Date field
+  mairix.sh                     A wrapper to mairix, to enable global searches in
+                                mail folders
+  nautilus2claws-mail.sh        Send files from Nautilus
+  popfile-link.sh               Open messages in POPFile control center to edit
+                                their status
   sylprint.pl                   Printing engine, explained in README.sylprint
-  update-po                     Update the .po files named on the command line.
+  textviewer.pl                 Display various attachments as text
+  thunderbird-filters-convertor.pl
+                                Convert Thunderbird filtering rules
 
 Extra tools:
   gif2xface.pl                  Convert a 48x48 GIF file to an X-Face header
+  update-po                     Update the .po files named on the command line.
 
 --------------------------------------------------------------------------------
 Detailed Descriptions:
@@ -44,10 +59,20 @@ Detailed Descriptions:
 Action scripts
 --------------
 
-* freshmeat_search.pl
+* cm-reparent.pl
+  WORKS ON: selected messages (two or more)
+  COMMAND: cm-reparent.pl %F
+  Thread the selected messages based on date, old to new
+
+* cm-break.pl
+  WORKS ON: selected messages (one or more)
+  COMMAND: cm-break.pl %F
+  Break thread references for the selected messages
+
+* ddg_search.pl
   WORKS ON: selection
-  COMMAND: |freshmeat_search.pl
-  Search freshmeat.net for selected text using the default Claws Mail browser
+  COMMAND: |ddg_search.pl
+  Search duckduckgo.com for selected text using the default Claws Mail browser
 
 * google_msgid.pl
   WORKS ON: selection
@@ -55,27 +80,27 @@ Action scripts
   Lookup selected message-id in google using mozilla. Edit the script to use
   different browsers.
 
-* google_search.pl
-  WORKS ON: selection
-  COMMAND: |google_search.pl
-  Search google.com for selected text using the default Claws Mail browser
-
 * multiwebsearch.pl
   WORKS ON: selection
   see further down for details
 
+* textviewer.sh
+  WORKS ON: current message part
+  COMMAND: textviewer.sh %p |
+  Attempt to view an attachment as plain text
+
 * uudec
   WORKS ON: current message (or part of multipart message)
   COMMAND: uudec %f&
   Decode and display uuencoded images using uudecode.
 
-* textviewer.sh
-  WORKS ON: current message part
-  COMMAND: textviewer.sh %p |
-  Attempt to view an attachment as plain text
+* uuooffice
+  WORKS ON: current message (or part of multipart message)
+  COMMAND: uuooffice %f&
+  Decode uuencoded attachments and open them with OpenOffice
 
-* More action examples can be found at
-  http://melvin.hadasht.free.fr/home/sylpheed/actions/
+* More action examples can be found at the Claws Mail FAQ
+  http://www.claws-mail.org/faq/index.php/Actions
 
 ** multiwebsearch.pl **
 
@@ -102,24 +127,104 @@ Action scripts
        
        Configure an Action:
        a) pre-configured website 
-          Command: multiwebsearch.pl --where="google" --what="%s"
+          Command: multiwebsearch.pl --where="ddg" --what="%s"
        b) dynamic
           Command: multiwebsearch.pl --where="%u" --what="%s"
           
-       In type a) "google" refers to one of the configured aliases,
+       In type a) "ddg" refers to one of the configured aliases,
        this Action will always search the website referred to by
-       the alias "google".
+       the alias "ddg".
        
        In type b) you will be presented with a dialog box into
        which you type one of your configured aliases
 
   
-  Contact: Paul Mangan <claws@thewildbeast.co.uk>
+  Contact: Paul Mangan <paul@claws-mail.org>
 --------------------------------------------------------------------------------
 
 Address book conversion
 -----------------------
 
+* csv2addressbook.pl
+
+  WHAT IT DOES
+       This perl script will import a Becky, Thunderbird, Kmail, Gmail and
+       Fox Mail address book.
+
+  HOW TO USE IT
+       (You must run claws-mail at least once before running this script.)
+
+       Becky >= 2.41
+       -------------
+       In Becky you need to do a CSV full export with titles of your
+       address book.
+
+       Run the script with the following options:
+
+       perl csv2addressbook.pl --type=becky --csv=/full/path/to/file.csv
+
+       Addtionally you can use the option '--name="My address book"', if
+       you don't use this option the new Claws address book will be
+       called 'Becky address book'.
+
+
+       Thunderbird >= 2.0.0.6
+       ----------------------
+       In Thunderbird you need to export your address book as 'comma
+       separated'.
+
+       Run the script with the following options:
+
+       perl csv2addressbook.pl --type=thunderbird --csv=/full/path/to/file.csv
+
+       Addtionally you can use the option '--name="My address book"', if
+       you don't use this option the new Claws address book will be
+       called 'Thunderbird address book'.
+
+       Kmail >= 1.9.7 / Kaddressbook >= 3.5.7
+       --------------------------------------
+       In Kaddressbook you need to export your address book as 'CSV List'.
+
+       Run the script with the following options:
+
+       perl csv2addressbook.pl --type=kmail --csv=/full/path/to/file.csv
+
+       Addtionally you can use the option '--name="My address book"', if
+       you don't use this option the new Claws address book will be
+       called 'Kmail address book'.
+
+       WARNING: Kmail/Kaddressbook has a bug whereby it exports badly
+       formatted CSV if the values are quoted.
+
+       Gmail
+       -----
+       In the Gmail web interface you need to export your address book
+       as Outlook CSV format.
+
+       Run the script with the following options:
+
+       perl csv2addressbook.pl --type=gmail --csv=/full/path/to/file.csv
+
+       Addtionally you can use the option '--name="My address book"', if
+       you don't use this option the new Claws address book will be
+       called 'gmail address book'.
+
+       Fox Mail
+       --------
+       Export your Fox Mail address book as CSV with all possible headers.
+
+       Run the script with the following options:
+
+       perl csv2addressbook.pl --type=foxmail --csv=/full/path/to/file.csv
+
+       Addtionally you can use the option '--name="My address book"', if
+       you don't use this option the new Claws address book will be
+       called 'foxmail address book'.
+
+       You can also run the script with '--help' to get a brief usage message.
+
+  Contact: Paul Mangan <paul@claws-mail.org>
+
 * eud2gc.py
 
   WHAT IT DOES
@@ -161,7 +266,7 @@ Address book conversion
        Your Kmail address book data will now be contained in Claws Mail'
        address book, under the name 'Kmail Address Book'.
 
-  Contact: Paul Mangan <claws@thewildbeast.co.uk>
+  Contact: Paul Mangan <paul@claws-mail.org>
     
 
 * kmail2claws-mail_v2.pl
@@ -190,8 +295,29 @@ Address book conversion
        Your Kmail addressbook data will now be contained in Claws Mail'
        addressbook, under the name 'Kmail address book'.
 
-  Contact: Paul Mangan <claws@thewildbeast.co.uk>  
+  Contact: Paul Mangan <paul@claws-mail.org>
+
+* mew2claws-mail.pl
+
+  WHAT IT DOES
+       This perl script will convert a Mew address book into a Claws Mail
+       address book.
+
+  HOW TO USE IT
+       (You must run claws-mail at least once before running this script.)
+  
+       If Claws Mail is running, close it.
+
+       From the command line, execute the following:
+               perl mew2claws-mail.pl --mew-addressbook=/path/to/mew/addressbook
+       
+       You can also use --help to see usage instructions.
+
+       Your Mew addressbook data will now be contained in Claws Mail's
+       addressbook, under the name 'Mew Address Book'.
 
+  Contact: Jérôme Lelong <jerome.lelong@gmail.com>
 
 * outlook2claws-mail.pl
 
@@ -233,7 +359,7 @@ Address book conversion
        the script and change its value if you are sure you exported all
        fields and script gives the 'unknown csv file format' error.
 
-  Contact: Ricardo Mones Lastra <mones@aic.uniovi.es>
+  Contact: Ricardo Mones <ricardo@mones.org>
 
 
 * tb2claws-mail
@@ -331,11 +457,10 @@ Mailbox conversion
 
   Contact: Fred Marton <Fred.Marton@uni-bayreuth.de>
 
-* maildir2claws-mail.pl
+* kmail-mailbox2claws-mail.pl
 
   WHAT IT DOES
-       This perl script converts a mailbox in maildir format into
-       Claws Mail' MH format.
+       This perl script converts a kmail mailbox  into Claws Mail' mailbox.
   
   HOW TO USE IT
   
@@ -343,22 +468,21 @@ Mailbox conversion
        
        Run the script using:
         
-               perl maildir2claws-mail.pl --kmaildir=mail_folder_name
+               kmail-mailbox2claws-mail.pl --kmaildir=/full/path/to/kmail/mailbox
                
        Start Claws Mail and right-click the toplevel mailbox, i.e
        "Mailbox (MH)", and select 'Rebuild folder tree'.
        You may also need to run '/File/Folder/Check for new messages
        in all folders'
-       Your maildir directory will be backed-up.
        
        Additional options:
                --debug         debug mode
                --dry-run       test mode, nothing is actually written
                --help          brief usage info
        
-  Contact: Paul Mangan <claws@thewildbeast.co.uk>
+  Contact: Paul Mangan <paul@claws-mail.org>
 
-* tbird2syl.py
+* tbird2claws.py
 
   WHAT IT DOES
        This python script integrates a Thunderbird folder tree into 
@@ -372,7 +496,7 @@ Mailbox conversion
        The best way to use it is to go to inside your Thunderbird
        root mailfolder directory and invoke it as:
 
-               <path>\python2.4 <path>\tbird2syl.py . <path to Claws Mail>\Mail
+               <path>\python2.4 <path>\tbird2claws.py . <path to Claws Mail>\Mail
 
   Contact: Aleksandar Urosevic aka Urke MMI <urke@gmx.net>
 
@@ -398,8 +522,31 @@ Other tools
        claws-mail (if not already launched) and open a new compose window
        with the PDF attached.
   
-  Contact: Paul Mangan <claws@thewildbeast.co.uk>
+  Contact: Paul Mangan <paul@claws-mail.org>
 
+* claws-mail-compose-insert-files.pl
+
+  WHAT IT DOES
+       This script enables inserting files into the message body of a new 
+       Claws Mail Compose window from the command line. Additionally To,
+       Cc, Bcc, Subject and files to attach to the message can be specified. 
+
+  HOW TO USE IT
+       claws-mail-compose-insert-files.pl [options]
+       Options:
+               --help -h
+               --to "Person One <mail@address.net>"
+               --cc "Person One <mail@address.net>"
+                       --bcc "Person One <mail@address.net>"
+               --subject "My subject"
+               --attach FILE
+               --insert FILE
+
+       For multiple recipients separate the addresses with ','
+       e.g. --to "Person One <mail@address.net>,Person Two <mail2@address.net>"
+       --attach and --insert can be used multiple times
+  
+  Contact: Paul Mangan <paul@claws-mail.org>
 
 * filter_conv_new.pl
 
@@ -421,7 +568,7 @@ Other tools
   REQUIREMENTS
        XML::SimpleObject
 
-  Contact: Paul Mangan <claws@thewildbeast.co.uk>
+  Contact: Paul Mangan <paul@claws-mail.org>
   
 
 * filter_conv.pl
@@ -440,9 +587,57 @@ Other tools
        That's it, the new filtering system is now implemented with your
        previous rules applied.
 
-  Contact: Paul Mangan <claws@thewildbeast.co.uk>
+  Contact: Paul Mangan <paul@claws-mail.org>
   
 
+* fix_date.sh
+
+  WHAT IT DOES
+       Add a 'Date:' header to the selected email(s) when such header
+       is missing.  The correct date is guessed from other headers
+       that contain timestamp information (preferred: Fetchinfo
+       header if found) or from the file or system date as a
+       fallback. The order or preference for the date value
+       replacement can be changed by editing the script.
+       This script can be used to fix messages that show non
+       RFC-compliant Date headers as well.
+       X-Original-Date is always added too if not already existing
+       (if so, it's left untouched), to keep track of the original
+       value if any.
+       An existing Date: header is not overwritten unless you use the
+       --force switch.
+       Non RFC-compliant dates can be overwritten using the --rfc
+       switch. Use --strict to use strict RFC matching patterns for
+       date values in other headers.
+
+  HOW TO USE IT
+       First you have to create an action with the following command:
+
+       fix_date.sh %F
+
+       On main window's message list, select the messages to be fixed
+       and invoke the created action.
+
+  Contact: wwp <wwp@claws-mail.org>
+
+* mairix.sh
+
+ WHAT IT DOES
+       It's a wrapper to mairix, a tool that makes indexed searches
+       and shows search results in a virtual folder. Maildir, MH and
+       mbox formats are supported, see:
+       http://www.rpcurnow.force9.co.uk/mairix/
+
+  HOW TO USE IT
+       mairix.sh
+       mairix.sh <mairix rcfile> [<mairix options>..]
+    
+    For instance:    
+    mairix.sh ~/.mairixrc s:word1,word2
+
+  Contact: wwp <wwp@claws-mail.org>
+
+
 * nautilus2claws-mail.sh
 
   WHAT IT DOES
@@ -457,62 +652,97 @@ Other tools
   Contact: Reza Pakdel <hrpakdel@cpsc.ucalgary.ca>
 
 
-* OOo2claws-mail.pl
+* popfile-link.sh
 
-  WHAT IT DOES
-       This perl script enables OpenOffice.org to send documents to
-       Claws Mail as attachments.
+ WHAT IT DOES
+       Open selected messages in POPFile control center to edit their
+       status. Requires that POPFile is running and that the messages
+       have been processed by it (X-POPFile-Link: header is expected).
+       POPFile control center opens with the web browser set in
+       Claws Mail prefs.
 
   HOW TO USE IT
-    OpenOffice.org Version 2.0
-    ----------------------------
-       This script is not needed for OOo version 2, which can work
-       directly with Claws Mail.
-       Go to 'Tools/Options/Internet/E-mail' and enter 'claws-mail'
-       in the box.
-
-    OpenOffice.org Version 1.1.0
-    ----------------------------
-       Start up OpenOffice.org.
-       Go to 'Tools/Options/OpenOffice.org/External Programs'
-       Select either ''Mozilla 1.x (Option 1)', or 
-       'Netscape 6.x - 7.0 (Option 1)' from the 'Program' selection
-       Enter the path to OOo2claws-mail.pl in the 'Path' box
-       or select it by clicking on the '...' button.
+       popfile-link.sh <filename> [<filename>..]
     
-       You can then use 'File/Send/Document as email' to launch
-       claws-mail (if not already launched) and open a new compose
-       window with the document attached.
 
-    OpenOffice.org Version 1.0
-    --------------------------
-       Start up OpenOffice.org.
-       Go to 'Tools/Options/OpenOffice.org/External Programs'
-       Enter the path to OOo2claws-mail.pl in the 'Program' box
-       or select it by clicking on the '...' button.
+  Contact: wwp <wwp@claws-mail.org>
 
 
-  Contact: Paul Mangan <claws@thewildbeast.co.uk>
+* textviewer.pl
 
+  WHAT IT DOES
+       This script tries to recognise an attachment by using the 'file'
+       command and/or the file extension and then uses the available
+       utilities to make an effort to display it as text.
 
-* update-po
+       $ textview.pl --list
 
-  WHAT IT DOES
-       This script is a message catalog translator's tool, it updates the .po 
-       files named on the command line.
+       will show available conversion, the top:
+
+         .awk          cat
+         .bin          strings
+         .bz2          bzip2 -d < %f | strings
+         .c            cat
+         .cc           cat
+         .csv          xlscat -L
+
+       If there are multiple alternatives available, they are listed in
+       the ordder they are tried, like for .xls:
+
+         .xls          xlscat -L
+         .xls          catdoc -x -dutf-8
+         .xls          wvText
 
   HOW TO USE IT
-       This script needs to be copied to and run from the 'po' directory.
-  
-               ./update-po lang.po lang2.po ...
+       Go to /Configuration/Message View/External Programs and enter the
+       path to the script in the "Command for 'Display as text'" box.
+       Now when you right-click an attachment and choose 'Display as text'
+       this script will be invoked.
 
-       to update one or more <yourlang>.po files from the sourcecode files
-        named in POTFILES.in. The old .po file is save in a .po.old file.
+       xlscat comes with the perl module Spreadsheet::Read, which is a
+       wrapper module over several parsers and supports ods, sxc, csv, xls,
+       xlsx, and sq.  See https://metacpan.org/release/Spreadsheet-Read
+
+  Contact: H.Merijn Brand <h.m.brand@xs4all.nl>
 
-       For example, when you want to update fr.po, run ./update-po fr.po, 
-       then edit fr.po to update your translation.
 
-  Contact: Wilbert Berendsen <wilbert@oswf.org>
+* thunderbird-filters-convertor.pl
+
+  WHAT IT DOES
+       This perl script converts Thunderbird filtering rules into Claws Mail
+       filtering rules. It can be run several times, once for each filter
+       configuration file in Thunderbird.
+
+  HOW TO USE IT
+       The script takes 3 arguments:
+
+       --tbird-file=PATH TO FILE       The full path to the file to be converted
+       --mailbox-name=NAME             The name of the Claws Mail mailbox
+       --account-name=NAME             The name of the account to be used (optional)   
+
+       --tbird-file must point to the Thunderbird filter file (msgFilterRules.dat)
+       that you want to convert, it must contain the full path to the file.
+       --mailbox-name should be given the name of your mailbox in Claws Mail, e.g.
+       if the top-level folder is 'Mailbox (MH)' then this option should be
+       'Mailbox'.
+       --account-name is optional, only needed if you are creating account-specific
+       rules. This is the name of your account in Claws Mail, which should
+       correspond to an account that you had in Thunderbird, e.g. the acount whose
+       rules you are converting.
+
+       This script presumes that your folder hierarchy in Claws Mail matches the
+       one that you had in Thunderbird. If you used the tbird2claws.py script to
+       convert your Thunderbird mailbox, then the folder hierarchy should match.
+
+       If the Claws Mail filtering configuration file (matcherrc) does not exist,
+       the script will create it; if it does exist, the newly converted rules will
+       be appended to it.
+
+  REQUIREMENTS
+       Getopt::Long
+       URI::Escape
+
+  Contact: Paul Mangan <paul@claws-mail.org>
 
 --------------------------------------------------------------------------------
 
@@ -525,8 +755,8 @@ Extra tools
        This perl script converts a monochrome (1 bit) 48x48 pixels GIF file
        into an X-Face graphic suitable for inclusion into custom headers of
        Claws Mail. An X-Face allows to quickly identify (or be identified
-       as) the sender of a mail message in a xface-capable MUA (like sylpheed
-       -claws).
+       as) the sender of a mail message in a xface-capable MUA (like Claws
+       Mail).
 
   HOW TO USE IT
        After obtaining the desired image for your X-Face you should:
@@ -551,6 +781,77 @@ Extra tools
        method is valid only if you don't have any other custom header set or
        they will be lost!).
 
-  Contact: Ricardo Mones Lastra <mones@aic.uniovi.es>
+  Contact: Ricardo Mones <ricardo@mones.org>
+
+
+* update-po
+
+  WHAT IT DOES
+       This script is a message catalog translator's tool, it updates the .po 
+       files named on the command line.
+
+  HOW TO USE IT
+       This script needs to be copied to and run from the 'po' directory.
+  
+               ./update-po lang.po lang2.po ...
+
+       to update one or more <yourlang>.po files from the sourcecode files
+        named in POTFILES.in. The old .po file is save in a .po.old file.
+
+       For example, when you want to update fr.po, run ./update-po fr.po, 
+       then edit fr.po to update your translation.
+
+  Contact: Wilbert Berendsen <wilbert@oswf.org> or the Claws Mail Team
 
 --------------------------------------------------------------------------------
+This file is Copyright 1999-2014 by the Claws Mail team.
+See accompanying COPYING file for license details.
+See each included script for copyright and license details.
+
+* cm-reparent.pl
+
+  WHAT IT DOES
+       This script tries to fix thread parenting for two or more messages
+
+  HOW TO USE IT
+       Define an action as
+
+         Menu name:  Reparent (fix threading)
+         Command:    cm-reparent.pl %F
+
+       Then select from the message list all files that should be re-parented
+
+       Then invoke the action
+
+  MORE INFORMATION
+       $ perldoc cm-reparent.pl
+
+  REQUIREMENTS
+       Date::Parse
+       Getopt::Long
+
+  Contact: H.Merijn Brand <h.m.brand@xs4all.nl>
+
+* cm-break.pl
+
+  WHAT IT DOES
+       This script tries to break thread parenting for one or more messages
+
+  HOW TO USE IT
+       Define an action as
+
+         Menu name:  Unthread (break threading)
+         Command:    cm-break.pl %F
+
+       Then select from the message list all files that should be un-threaded
+
+       Then invoke the action
+
+  MORE INFORMATION
+       $ perldoc cm-break.pl
+
+  REQUIREMENTS
+       Date::Parse
+       Getopt::Long
+
+  Contact: H.Merijn Brand <h.m.brand@xs4all.nl>