1 <?xml version="1.0" encoding="utf-8"?>
2 <section id="GuidePluginsConfig">
3 <title id="titleGuidePluginsConfig">Plugins Configuration</title>
5 <section id="PluginsConfigurationDialog">
6 <title>Plugins Configuration Dialog</title>
8 This dialog allows user to add new plugins or modify the system ones. It is available in the menu
10 <guimenu>Edit</guimenu>
11 <guimenuitem>Configure Plugins</guimenuitem>
16 The Plugins dialog shows list of all relevant plugins i.e. all installed desktop files that are designated either:
17 <itemizedlist spacing="compact">
20 <literal>Categories=Graphics</literal>
23 <literal>Categories=X-Geeqie</literal>
27 The list has the following columns:
29 <variablelist spacing="compact">
32 <guilabel>Disabled</guilabel>
35 <para>If the checkbox is ticked, the plugin will not be displayed in Geeqie menus.</para>
40 <guilabel>Name</guilabel>
43 <para>Plugin name as specified in desktop file, and is the name displayed in menus.</para>
48 <guilabel>Hidden</guilabel>
52 <emphasis>Hidden</emphasis>
53 for one of these reasons:
56 the desktop file contains
57 <literal>Hidden=TRUE</literal>
59 <literal>NoDisplay=TRUE</literal>
62 <literal>TryExec</literal>
66 <literal>MimeType</literal>
67 list does not contain images
70 <literal>MimeType</literal>
72 <literal>Categories</literal>
74 <literal>X-Geeqie</literal>
80 <variablelist spacing="compact">
83 <guilabel>Desktop file</guilabel>
86 Name of the desktop file, used as an identifier in
87 <link linkend="GuideOptionsKeyboard" endterm="titleGuideOptionsKeyboard" />
93 <guilabel>Path</guilabel>
95 <listitem>Full path to the desktop file. Desktop files in user directories override the system ones with the same name.</listitem>
99 <section id="Addingnewplugin">
100 <title>Adding new plugin</title>
105 <inlinegraphic fileref="document-new.png" />
110 opens a text editor with a desktop file template. You must amend the line
111 <programlisting>Exec=command %f</programlisting>
112 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.
116 <section id="Modifyinganexistingplugin">
117 <title>Modifying an existing plugin</title>
122 <inlinegraphic fileref="gtk-edit.png" />
127 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).
130 <section id="Deletingaplugin">
131 <title>Deleting a plugin</title>
136 <inlinegraphic fileref="edit-delete.png" />
141 can delete user writable desktop files. System desktop files can't be deleted directly, but it is possible to edit them and set
142 <literal>Hidden=TRUE</literal>
146 <section id="Specialplugins">
147 <title>Special plugins</title>
148 <para>A desktop file with one of the following names has a special function. It will replace the corresponding internal command.</para>
150 <programlisting xml:space="preserve">
151 geeqie-copy-command.desktop
152 geeqie-move-command.desktop
153 geeqie-rename-command.desktop
154 geeqie-delete-command.desktop
155 geeqie-folder-command.desktop
158 <para>This can be used for example for a custom trash command or for manipulation of files under version control.</para>
160 <section id="Geeqieextensions">
161 <title>Geeqie desktop file keys</title>
163 A desktop file for use only by Geeqie should have the following entries:
170 A menu path where the plugin will appear, instead of in the default
172 <guimenu>Plugins</guimenu>
174 , can be set by including:
175 <programlisting>X-Geeqie-Menu-Path=<FileMenuPath></programlisting>
179 <emphasis>FileMenuPath</emphasis>
181 <programlisting xml:space="preserve">
184 FileMenu/SearchSection
185 FileMenu/PrintSection
186 FileMenu/FileOpsSection
190 SelectMenu/SelectSection
191 SelectMenu/ClipboardSection
192 SelectMenu/MarksSection
195 EditMenu/OrientationMenu
197 EditMenu/PropertiesSection
198 EditMenu/PreferencesSection
201 ViewMenu/WindowSection
203 ViewMenu/FileDirMenu/FolderSection
204 ViewMenu/FileDirMenu/ListSection
207 ViewMenu/ZoomMenu/ConnectZoomMenu
213 ViewMenu/ToolsSection
214 ViewMenu/SlideShowSection
220 If you want a plugin to use a user-definable path, the following entry must be made in the desktop file:
221 <programlisting>X-Geeqie-Filter=true</programlisting>
224 Desktop files containing this entry will be displayed in the Folder action list of the
225 <link linkend="CopyMoveandLink" endterm="titleGuideSidebarsSortManager" />
226 . The path of the bookmark clicked will be used by the desktop file.
228 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:
229 <programlisting xml:space="preserve">
232 destination=$(geeqie --remote --get-destination:"$file")
235 echo $GEEQIE_DESTINATION
240 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:
241 <programlisting>X-Geeqie-Keep-Fullscreen=true</programlisting>
244 Any terminal output from the plugin command can be displayed with the following command:
245 <programlisting>X-Geeqie-Verbose=true</programlisting>
248 Any terminal output from the plugin command can be displayed, only when multiple files are selected, with the following command:
249 <programlisting>X-Geeqie-Verbose-Multi=true</programlisting>
252 The plugin can be restricted to run on only certain file types, for example:
253 <programlisting>X-Geeqie-File-Extensions=.jpg; .cr2</programlisting>
254 The entries are case insensitive.
257 The key or key combination to execute this function can be set with:
258 <programlisting>X-Geeqie-Hotkey=</programlisting>
259 Key combinations are of the form:
261 <programlisting>X-Geeqie-Hotkey=<control>y</programlisting>
263 This value may conflict with a setting in
264 <link linkend="GuideOptionsKeyboard" endterm="titleGuideOptionsKeyboard" />