# Plugins Configuration

## Plugins Configuration Dialog

This dialog allows user to add new plugins or modify the system ones. It is available in the menu Edit ▸ Configure Plugins .

The Plugins dialog shows list of all relevant plugins i.e. all installed desktop files that are designated either:

- Categories=Graphics
- Categories=X-Geeqie

The list has the following columns:

Disabled

  If the checkbox is ticked, the plugin will not be displayed in Geeqie menus.

Name

  Plugin name as specified in desktop file, and is the name displayed in menus.

Hidden
  A plugin can be Hidden for one of these reasons:
  - the desktop file contains Hidden=TRUE or NoDisplay=TRUE
  - TryExec binary was not found
  - MimeType list does not contain images
  - MimeType list is empty and Categories does not contain X-Geeqie

Desktop file
  Name of the desktop file, used as an identifier in Keyboard Options .
Path
  Full path to the desktop file. Desktop files in user directories override the system ones with the same name.

## Adding new plugin

New opens a text editor with a desktop file template. You must amend the line

    Exec=command %f

to contain the command you wish to execute. If it is more than a single command, you must create a script file and call that. If the location of the script file is not in your $PATH environment variable, you must include the full pathname.

## Modifying an existing plugin

Edit opens a text editor with existing desktop file. For desktop files that are not writable by user, it allows saving to a Geeqie specific directory, where it overrides the system file (but only for Geeqie).

## Deleting a plugin

Delete can delete user writable desktop files. System desktop files can't be deleted directly, but it is possible to edit them and set Hidden=TRUE , see above.

## Special plugins

A desktop file with one of the following names has a special function. It will replace the corresponding internal command.

            geeqie-copy-command.desktop
            geeqie-move-command.desktop
            geeqie-rename-command.desktop
            geeqie-delete-command.desktop
            geeqie-folder-command.desktop

This can be used for example for a custom trash command or for manipulation of files under version control.

## Geeqie desktop file keys

A desktop file for use only by Geeqie should have the following entries:

            Categories=X-Geeqie;
            OnlyShowIn=X-Geeqie;

A menu path where the plugin will appear, instead of in the default Plugins , can be set by including:

    X-Geeqie-Menu-Path=<FileMenuPath>

Possible vales for FileMenuPath are:

            FileMenu
            FileMenu/OpenSection
            FileMenu/SearchSection
            FileMenu/PrintSection
            FileMenu/FileOpsSection
            FileMenu/QuitSection
            GoMenu
            SelectMenu
            SelectMenu/SelectSection
            SelectMenu/ClipboardSection
            SelectMenu/MarksSection
            EditMenu/EditMenu
            EditMenu/EditSection
            EditMenu/OrientationMenu
            EditMenu/RatingMenu
            EditMenu/PropertiesSection
            EditMenu/PreferencesSection
            PluginsMenu
            ViewMenu
            ViewMenu/WindowSection
            ViewMenu/FileDirMenu
            ViewMenu/FileDirMenu/FolderSection
            ViewMenu/FileDirMenu/ListSection
            ViewMenu/DirSection
            ViewMenu/ZoomMenu
            ViewMenu/ZoomMenu/ConnectZoomMenu
            ViewMenu/SplitMenu
            ViewMenu/StereoMenu
            ViewMenu/ColorMenu
            ViewMenu/OverlayMenu
            ViewMenu/ViewSection
            ViewMenu/ToolsSection
            ViewMenu/SlideShowSection
            HelpMenu
            HelpMenu/HelpSection

If you want a plugin to use a user-definable path, the following entry must be made in the desktop file:

    X-Geeqie-Filter=true

Desktop files containing this entry will be displayed in the Folder action list of the Sort Manager Sidebar . The path of the bookmark clicked will be used by the desktop file.

If the desktop file is called from the menu, when the plugin is executed you are presented with a dialogue which enables a path to be selected. The path selected, appended by the filename currently being processed, is made available to the shell script either as an environment variable or via a call to geeqie --remote. The following code demonstrates the use of both methods:

            for file in "$@"
            do
            destination=$(geeqie --remote --get-destination:"$file")

            echo "$destination"
            echo $GEEQIE_DESTINATION
            done

If you want to run a plugin in full-screen mode and wish full-screen to be maintained, include the following entry in the desktop file:

    X-Geeqie-Keep-Fullscreen=true

Any terminal output from the plugin command can be displayed with the following command:

    X-Geeqie-Verbose=true

Any terminal output from the plugin command can be displayed, only when multiple files are selected, with the following command:

    X-Geeqie-Verbose-Multi=true

The plugin can be restricted to run on only certain file types, for example:

    X-Geeqie-File-Extensions=.jpg; .cr2

The entries are case insensitive.

The key or key combination to execute this function can be set with:

    X-Geeqie-Hotkey=

Key combinations are of the form:

    X-Geeqie-Hotkey=<control>y

This value may conflict with a setting in Keyboard Options