1. Start prog
The "start prog" command can be used to execute any external
command interactively by entering the name of it at runtime (in contrast to the
own command which executes pre-configured commands
only). The dialog can be opened by clicking on the "start prog" button
or pressing Ctrl-x twice.
The command to execute can be entered in the text field. The string will be executed by a shell so some but not all shell features are available and special characters need to be protected correctly.
The name of the current list view entry is put into the text filed at the beginning so the external command can get the file name directly without typing it in again.
The options for the command execution are similar to the own command. Also, the same flags as for the own command can be used, for example to include all selected entries as additional arguments. This is available since version 3.5.1.
Similar to the own command, the output of the executed command can be shown either inside a terminal, using an external viewer, using the internal viewer, showing it in the text view mode, or as a custom file entry attribute.
1.1. Parsing and character protecting rules
Here is short description about how the final command is created and how to protect special characters in the string.
- The entered string will be parsed with the same mechanism as for the own command. Therefor the characters { and } has a special meaning to describe the flag to be replaced. If you want to have one of these characters in the final string, you need to put a backslash before it. The same is true for a backslash itself, when it should be part for the command, a double backslash must be used.
- After parsing, the resulting string is split into whitespace separated words which will be single-quote protected to avoid arbitrary command execution (with special crafted file names). Because of that, if you enter a command or file name with spaces in it, you have to protect them with backslashes (in this case with double backslashes, because of the previous step of parsing and replacing flags). The current file name is the default content of the command text field and this file name is already modified so that any special character in the file name is modified accordingly.
1.2. Command completion
A command completion is available based on the previously used
commands. You can start typing and the next best match is
automatically suggested. The list view below the text field also
contains all other matches which can be selected by pressing cursor up
or down. If the completion mechanism hinders the text entry, it can be
disabled by changing the cursor position with left or right cursor
key. Once this is done, no more automatic suggestions are inserted but
the list view with matches is still updated.
The completion history is separated for each file type, each mime type for unknown file types, and all file types. This makes it easier to access the commands executed for a specific file type.
Also, the stored history includes the command settings which are automatically restored when choosing an entry from the history.
1.3. Handle as different file type
It is also possible to handle the current element as a
different file type, for example if the recognition was wrong are did
not worked as expected. By pressing F2 or selecting the corresponding
tab, the list of available file types is shown and the type can be
selected from this list. Worker will then execute the double click
action of the selected file type.
A filter can be used to find a specific file type more easily.
1.4. Handle as specific archive type
Worker uses the virtual file system AVFS
(VFS) to allow looking into archives and remote
sites. When pressing Enter on an archive, Worker will usually enter
the archive and show its content. Worker relies on the automatic
archive handling of AVFS (which is used by adding a single hash sign
to the file name). If this mechanism does not work, specific archive
handler can be used in the third tab (press key F3 to show it). In
this dialog, you can select the archive handler from all handlers
registered to AVFS or enter any combination of handlers.
Example: Sometimes a zip archive is named as a .zip file and the file type recognition may not work (or is disabled). In this case it is possible to manually select the "uzip" handler to let AVFS unzip the archive.