DESCRIPTION
To determine what command to use to open a file with a specific mime type, xfm(1) uses files in a format similar to the mailcap format.The extensions are special actions to open directories or files to load into the application window and to include other mailcap files, so that the default mailcap databases in ~/.mailcap, /etc/mailcap, /usr/share/etc/mailcap and /usr/local/etc/mailcap can be included.
This man page describes which fields are used and the extensions. For general information of the syntax of these files read the man pages mailcap(5) and update-mime(8).
While this files are supposed to be read by xfm(1), there also is the program xfmmailcap(1) to ease debugging.
GENERAL FORMAT
There is one entry per line. Empty lines and lines starting with a hash (#) are ignored. Each line consists of parts separated by semicolons (;). The first part is the mime part or the token include. The second part is the view option. This is followed by an arbitrary number of option names, followed by a value after a equal sign, if they have a value.INCLUDES
Lines with a mime-type include or !include are not treated as mailcap specifiers, but cause the filename described by the second argument to be read at this place. I recommend placing the following line at the end of every $HOME/.xfm/xfm_mailcap file:
include; /etc/X11/xfm/mailcap
OPTIONS USED BY XFM
- test
- The value of this option (after unescaping) is executed using system(3). If it fails, the content of the line is not used for anything but increasing the amount of output. Some tests weather a DISPLAY environment variable are set are omitted and considered always true.
- nametemplate
- If this option has a value, the filename has to match it when a action is executed. Otherwise it is replaced by a symlink matching it. It has to contain exactly one unescaped occurrence of %s, which is used as wild card for any positive number of characters.
- edit
- This is the preferred action to open a file. Unless it is one of the special actions explained below, it has to contain exactly one unescaped occurance of %s, which is replaced by the filename to open, or the filename of a symlink to the file to open in the case the filename might be dangerous or does not match the nametemplate of this line.
- needsterminal
- If this option, which normally has no value, is there, the actions specified in this line are executed in an X terminal emulator.
SPECIAL ACTIONS
If the action with the highest priority is one the special strings OPEN or LOAD, no shell is spawned and no command executed. Instead the current file window is changed to the selected directory (OPEN) or the file is supposed to be in the xfm(5) format and loaded into the application window(LOAD).FILES
- $HOME/.xfm/xfm_mailcap
- Unless xfm(1) is told to look at a different place via X resource Xfm.mailcapFile, this is the first place xfm looks for a file with the describes format. xfmmailcap(1) always looks here first.
- /etc/X11/xfm/xfm_mailcap
- If the first file does not exists, xfm(1) (unless it gets told a different place via the X resource Xfm.systemwideMailcapFile) and xfmmailcap(1) look for this file. It is recommended that the file in the home directory includes this file to get the system wide defaults.