Starting native applications

It is sometimes difficult to start a native application on a result document, especially when the result comes from a container file (ie: email folder file, chm file).

The problem is that native applications usually expect at most a file name on the command line, and sometimes not even that (emailers).

The Open parent documents link in the result list right click menu is sometimes useful in this situation (e.g.: chm files).

In some other cases it may help that Recoll does make a lot of data available to the application. This data may have to be pre-processed in a script before calling the actual application.

Details about configuring how the native application or script are called are given with the description of the mimeview configuration file

Information about configuring customised fields may also be useful in combination.

Example

This is a simple example, because it does not need to use special fields. It just shows how to solve a simple issue by using an intermediary script. The problem is due to the fact that thunderbird’s -file option won’t open a file if the extension is not '.eml'. Jorge, the kind Recoll user who supplied the example stores his email in Maildir++ format, the file names have no extension, so an intermediary script is necessary to get thunderbird to open them:

Note that this only works with messages stored in Maildir or MH format (one message per file). As far as I know, there is no way to get Thunderbird to open an arbitrary mbox file.

The 'recoll-thunderbird-open-file' script:

#!/bin/sh
cp $1 /tmp/$$.eml
thunderbird  -file /tmp/$$.eml

Create the file in an editor, save it somewhere, and make it executable (chmod +x recoll-thunderbird-open-file).

The mail line in the '~/.recoll/mimeview' file:

[view]
message/rfc822  = recoll-thunderbird-open-file  %f

If the place where you saved the script is not in your PATH, you will need to use the full path instead of just the script name, as in

[view]
message/rfc822 = /home/me/somewhere/recoll-thunderbird-open-file  %f

You should then be able to open the messages in Thunderbird, which is useful, for example, to handle the attachments.

With recent Recoll versions, if using the normal option of letting the Desktop chose the Open application to use (Use Desktop default), you should also add message/rfc822 to the exceptions, and the whole thing is probably more easily done from the Recoll GUI.