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