Merge branch merge-requests/637 for completeness
authorKlaus Ethgen <Klaus@Ethgen.de>
Sat, 6 Oct 2018 09:28:02 +0000 (10:28 +0100)
committerKlaus Ethgen <Klaus@Ethgen.de>
Sat, 6 Oct 2018 09:28:02 +0000 (10:28 +0100)
* github/merge-requests/637:
  Remove unused function vf_index_is_selected

28 files changed:
doc/docbook/GuideOptionsMain.xml
doc/docbook/GuideOptionsOSD.xml [new file with mode: 0644]
doc/docbook/GuideOptionsWindow.xml
doc/docbook/GuideReferenceConfig.xml
geeqie.1
src/collect-table.c
src/options.c
src/options.h
src/preferences.c
src/print.c
src/rcfile.c
web/help/GuideIndex.html
web/help/GuideMainWindowImagePane.html
web/help/GuideOptionsBehavior.html
web/help/GuideOptionsColor.html
web/help/GuideOptionsFiltering.html
web/help/GuideOptionsGeneral.html
web/help/GuideOptionsImage.html
web/help/GuideOptionsKeyboard.html
web/help/GuideOptionsKeywords.html
web/help/GuideOptionsMain.html
web/help/GuideOptionsMetadata.html
web/help/GuideOptionsOSD.html [new file with mode: 0644]
web/help/GuideOptionsStereo.html
web/help/GuideOptionsToolbar.html
web/help/GuideOptionsWindow.html
web/help/GuideReferenceConfig.html
web/help/GuideReferenceLua.html

index 16ac361..9b927dd 100644 (file)
@@ -23,6 +23,7 @@
     </para>\r
     <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="GuideOptionsGeneral.xml" />\r
     <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="GuideOptionsImage.xml" />\r
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="GuideOptionsOSD.xml" />\r
     <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="GuideOptionsWindow.xml" />\r
     <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="GuideOptionsKeyboard.xml" />\r
     <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="GuideOptionsFiltering.xml" />\r
diff --git a/doc/docbook/GuideOptionsOSD.xml b/doc/docbook/GuideOptionsOSD.xml
new file mode 100644 (file)
index 0000000..c90203c
--- /dev/null
@@ -0,0 +1,237 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<section id="GuideOptionsOSD">\r
+  <title>OverlayScreen Display</title>\r
+  <para>This section describes the options presented under the OSD Tab of the preferences dialog.</para>\r
+  <section id="OverlayScreenDisplay">\r
+    <title>Overlay Screen Display</title>\r
+    <para>The contents of the Overlay Screen Display is defined by the Image Overlay Template. This template is easily customised to  display a wide range of data.</para>\r
+    <para>\r
+      The format of each entry is:\r
+      <programlisting>%tag[:max_length][:extra]%</programlisting>\r
+    </para>\r
+    <table frame="all">\r
+      <tgroup cols="2" rowsep="1" colsep="1">\r
+        <tbody>\r
+          <row>\r
+            <entry>\r
+              <emphasis role="strong">Tag</emphasis>\r
+            </entry>\r
+            <entry>\r
+              <emphasis role="strong">Replaced by</emphasis>\r
+            </entry>\r
+          </row>\r
+          <row>\r
+            <entry>name</entry>\r
+            <entry>Filename of the picture</entry>\r
+          </row>\r
+          <row>\r
+            <entry>collection</entry>\r
+            <entry>Name of the collection</entry>\r
+          </row>\r
+          <row>\r
+            <entry>number</entry>\r
+            <entry>Current number of image in the list</entry>\r
+          </row>\r
+          <row>\r
+            <entry>total</entry>\r
+            <entry>Total number of images</entry>\r
+          </row>\r
+          <row>\r
+            <entry>date</entry>\r
+            <entry>File date</entry>\r
+          </row>\r
+          <row>\r
+            <entry>size</entry>\r
+            <entry>File size</entry>\r
+          </row>\r
+          <row>\r
+            <entry>width</entry>\r
+            <entry>Image width</entry>\r
+          </row>\r
+          <row>\r
+            <entry>height</entry>\r
+            <entry>Image height</entry>\r
+          </row>\r
+          <row>\r
+            <entry>res</entry>\r
+            <entry>Image resolution</entry>\r
+          </row>\r
+          <row>\r
+            <entry>keywords</entry>\r
+            <entry>Image keywords from metadata</entry>\r
+          </row>\r
+          <row>\r
+            <entry>comment</entry>\r
+            <entry>Image comment from XMP metadata</entry>\r
+          </row>\r
+          <row>\r
+            <entry>imagecomment</entry>\r
+            <entry>JPEG image comment</entry>\r
+          </row>\r
+          <row>\r
+            <entry>rating</entry>\r
+            <entry>Image rating</entry>\r
+          </row>\r
+          <row>\r
+            <entry>&lt;meta_tag&gt;</entry>\r
+            <entry>The Exif, XMP, or IPTC tag from metadata</entry>\r
+          </row>\r
+          <row>\r
+            <entry>lua/&lt;lua_script&gt;/</entry>\r
+            <entry>The output of a Lua script file</entry>\r
+          </row>\r
+          <row>\r
+            <entry>lua//&lt;lua_command&gt;</entry>\r
+            <entry>The output of a Lua command</entry>\r
+          </row>\r
+        </tbody>\r
+      </tgroup>\r
+    </table>\r
+    <para>\r
+      As an aide, in addition to standard metadata tags, Geeqie provides a number of\r
+      <link linkend="formatted_exif">pre-formatted tags</link>\r
+      .\r
+    </para>\r
+    <para>Examples of usage are:</para>\r
+    <para>\r
+      <programlisting xml:space="preserve">\r
+        %keywords%\r
+        %Exif.Photo.DateTimeOriginal%\r
+        %lua/jpeg_comment.lua/:12%\r
+        %lua//return(os.date())%\r
+      </programlisting>\r
+    </para>\r
+    <para>\r
+      Refer to\r
+      <link linkend="GuideReferenceLua">Lua Extensions</link>\r
+      for further information.\r
+    </para>\r
+    <para>\r
+      The length of displayed data can be limited by using the\r
+      <emphasis role="italic">:max_length</emphasis>\r
+      parameter. The following example will truncate the displayed data to 20 characters and will add 3 dots at the end to denote the truncation.\r
+      <programlisting>%formatted.Camera:20%</programlisting>\r
+    </para>\r
+    <para>\r
+      If two or more variables are connected with the\r
+      <code>|</code>\r
+      character, the variables are displayed with a separator. For example::\r
+      <programlisting>%formatted.ShutterSpeed%|%formatted.ISOSpeedRating%|%formatted.FocalLength%</programlisting>\r
+      could show:\r
+      <programlisting>"1/20s - 400 - 80 mm"</programlisting>\r
+      Or, if there is no ISO information in the Exif data:\r
+      <programlisting>"1/200 - 80 mm"</programlisting>\r
+    </para>\r
+    <para>If there is no data for a requested tag, the line is not displayed.</para>\r
+    <para>\r
+      The\r
+      <emphasis role="italic">:extra</emphasis>\r
+      parameter may be used to format the output by prepending and appending a text string to the displayed item.\r
+    </para>\r
+    <para>\r
+      The special character\r
+      <code>*</code>\r
+      is used to mark the position of the Tag data item. If no\r
+      <code>*</code>\r
+      is present, the extra string is just appended to the standard data displayed. Any "\n" is replaced by a newline on display.\r
+      <link linkend="GuideReferenceStandards">Pango mark up</link>\r
+      is accepted in both left and right parts. If the data item is empty, nothing will be displayed.\r
+    </para>\r
+    <para>Examples:</para>\r
+    <table>\r
+      <tgroup cols="2" rowsep="1" colsep="1">\r
+        <tbody>\r
+          <row>\r
+            <entry>\r
+              <emphasis role="strong">Template</emphasis>\r
+            </entry>\r
+            <entry>\r
+              <emphasis role="strong">Example display</emphasis>\r
+            </entry>\r
+          </row>\r
+          <row>\r
+            <entry>\r
+              %name:\r
+              &lt;i&gt;*&lt;/i&gt;\n%\r
+            </entry>\r
+            <entry>\r
+              <emphasis role="italic">filename001.jpg</emphasis>\r
+            </entry>\r
+          </row>\r
+          <row>\r
+            <entry>%size:\n%</entry>\r
+            <entry>123456</entry>\r
+          </row>\r
+          <row>\r
+            <entry>%formatted.ISOSpeedRating:ISO *%</entry>\r
+            <entry>ISO 100</entry>\r
+          </row>\r
+          <row>\r
+            <entry>\r
+              %collection:Collection:\r
+              &lt;b&gt;*&lt;/b&gt;\r
+              \n%\r
+            </entry>\r
+            <entry>\r
+              Collection:\r
+              <emphasis role="strong">my_new_collection</emphasis>\r
+            </entry>\r
+          </row>\r
+        </tbody>\r
+      </tgroup>\r
+    </table>\r
+    <para />\r
+    <variablelist>\r
+      <varlistentry>\r
+        <term>\r
+          <guibutton>\r
+            <guiicon>\r
+              <inlinegraphic fileref="preferences-desktop-font.png" />\r
+            </guiicon>\r
+          </guibutton>\r
+          <guilabel>Font</guilabel>\r
+          ,\r
+          <guibutton>\r
+            <guiicon>\r
+              <inlinegraphic fileref="gtk-color-picker.png" />\r
+            </guiicon>\r
+          </guibutton>\r
+          <guilabel>Text</guilabel>\r
+          ,\r
+          <guibutton>\r
+            <guiicon>\r
+              <inlinegraphic fileref="gtk-color-picker.png" />\r
+            </guiicon>\r
+          </guibutton>\r
+          <guilabel>Background</guilabel>\r
+        </term>\r
+        <listitem>The font used for the Overlay Screen Display, as well as the font colour and background colour, may be set via these buttons. Colour transparency can also be set.</listitem>\r
+      </varlistentry>\r
+    </variablelist>\r
+    <variablelist>\r
+      <varlistentry>\r
+        <term>\r
+          <guibutton>\r
+            <guiicon>\r
+              <inlinegraphic fileref="help-contents.png" />\r
+            </guiicon>\r
+          </guibutton>\r
+          <guilabel>Help</guilabel>\r
+        </term>\r
+        <listitem>\r
+          <para>Show syntax help</para>\r
+        </listitem>\r
+      </varlistentry>\r
+    </variablelist>\r
+    <variablelist>\r
+      <varlistentry>\r
+        <term>\r
+          <guilabel>Defaults</guilabel>\r
+        </term>\r
+        <listitem>\r
+          <para>Restore default image overlay template</para>\r
+        </listitem>\r
+      </varlistentry>\r
+    </variablelist>\r
+  </section>\r
+</section>\r
index b99c86a..ce0f97b 100644 (file)
       </varlistentry>\r
     </variablelist>\r
   </section>\r
-  <section id="OverlayScreenDisplay">\r
-    <title>Overlay Screen Display</title>\r
-    <para>The contents of the Overlay Screen Display is defined by the Image Overlay Template. This template is easily customised to  display a wide range of data.</para>\r
-    <para>\r
-      The format of each entry is:\r
-      <programlisting>%tag[:max_length][:extra]%</programlisting>\r
-    </para>\r
-    <table frame="all">\r
-      <tgroup cols="2" rowsep="1" colsep="1">\r
-        <tbody>\r
-          <row>\r
-            <entry>\r
-              <emphasis role="strong">Tag</emphasis>\r
-            </entry>\r
-            <entry>\r
-              <emphasis role="strong">Replaced by</emphasis>\r
-            </entry>\r
-          </row>\r
-          <row>\r
-            <entry>name</entry>\r
-            <entry>Filename of the picture</entry>\r
-          </row>\r
-          <row>\r
-            <entry>collection</entry>\r
-            <entry>Name of the collection</entry>\r
-          </row>\r
-          <row>\r
-            <entry>number</entry>\r
-            <entry>Current number of image in the list</entry>\r
-          </row>\r
-          <row>\r
-            <entry>total</entry>\r
-            <entry>Total number of images</entry>\r
-          </row>\r
-          <row>\r
-            <entry>date</entry>\r
-            <entry>File date</entry>\r
-          </row>\r
-          <row>\r
-            <entry>size</entry>\r
-            <entry>File size</entry>\r
-          </row>\r
-          <row>\r
-            <entry>width</entry>\r
-            <entry>Image width</entry>\r
-          </row>\r
-          <row>\r
-            <entry>height</entry>\r
-            <entry>Image height</entry>\r
-          </row>\r
-          <row>\r
-            <entry>res</entry>\r
-            <entry>Image resolution</entry>\r
-          </row>\r
-          <row>\r
-            <entry>keywords</entry>\r
-            <entry>Image keywords from metadata</entry>\r
-          </row>\r
-          <row>\r
-            <entry>comment</entry>\r
-            <entry>Image comment from XMP metadata</entry>\r
-          </row>\r
-          <row>\r
-            <entry>imagecomment</entry>\r
-            <entry>JPEG image comment</entry>\r
-          </row>\r
-          <row>\r
-            <entry>rating</entry>\r
-            <entry>Image rating</entry>\r
-          </row>\r
-          <row>\r
-            <entry>&lt;meta_tag&gt;</entry>\r
-            <entry>The Exif, XMP, or IPTC tag from metadata</entry>\r
-          </row>\r
-          <row>\r
-            <entry>lua/&lt;lua_script&gt;/</entry>\r
-            <entry>The output of a Lua script file</entry>\r
-          </row>\r
-          <row>\r
-            <entry>lua//&lt;lua_command&gt;</entry>\r
-            <entry>The output of a Lua command</entry>\r
-          </row>\r
-        </tbody>\r
-      </tgroup>\r
-    </table>\r
-    <para>\r
-      As an aide, in addition to standard metadata tags, Geeqie provides a number of\r
-      <link linkend="formatted_exif">pre-formatted tags</link>\r
-      .\r
-    </para>\r
-    <para>Examples of usage are:</para>\r
-    <para>\r
-      <programlisting xml:space="preserve">\r
-        %keywords%\r
-        %Exif.Photo.DateTimeOriginal%\r
-        %lua/jpeg_comment.lua/:12%\r
-        %lua//return(os.date())%\r
-      </programlisting>\r
-    </para>\r
-    <para>\r
-      Refer to\r
-      <link linkend="GuideReferenceLua">Lua Extensions</link>\r
-      for further information.\r
-    </para>\r
-    <para>\r
-      The length of displayed data can be limited by using the\r
-      <emphasis role="italic">:max_length</emphasis>\r
-      parameter. The following example will truncate the displayed data to 20 characters and will add 3 dots at the end to denote the truncation.\r
-      <programlisting>%formatted.Camera:20%</programlisting>\r
-    </para>\r
-    <para>\r
-      If two or more variables are connected with the\r
-      <code>|</code>\r
-      character, the variables are displayed with a separator. For example::\r
-      <programlisting>%formatted.ShutterSpeed%|%formatted.ISOSpeedRating%|%formatted.FocalLength%</programlisting>\r
-      could show:\r
-      <programlisting>"1/20s - 400 - 80 mm"</programlisting>\r
-      Or, if there is no ISO information in the Exif data:\r
-      <programlisting>"1/200 - 80 mm"</programlisting>\r
-    </para>\r
-    <para>If there is no data for a requested tag, the line is not displayed.</para>\r
-    <para>\r
-      The\r
-      <emphasis role="italic">:extra</emphasis>\r
-      parameter may be used to format the output by prepending and appending a text string to the displayed item.\r
-    </para>\r
-    <para>\r
-      The special character\r
-      <code>*</code>\r
-      is used to mark the position of the Tag data item. If no\r
-      <code>*</code>\r
-      is present, the extra string is just appended to the standard data displayed. Any "\n" is replaced by a newline on display.\r
-      <link linkend="GuideReferenceStandards">Pango mark up</link>\r
-      is accepted in both left and right parts. If the data item is empty, nothing will be displayed.\r
-    </para>\r
-    <para>Examples:</para>\r
-    <table>\r
-      <tgroup cols="2" rowsep="1" colsep="1">\r
-        <tbody>\r
-          <row>\r
-            <entry>\r
-              <emphasis role="strong">Template</emphasis>\r
-            </entry>\r
-            <entry>\r
-              <emphasis role="strong">Example display</emphasis>\r
-            </entry>\r
-          </row>\r
-          <row>\r
-            <entry>\r
-              %name:\r
-              &lt;i&gt;*&lt;/i&gt;\n%\r
-            </entry>\r
-            <entry>\r
-              <emphasis role="italic">filename001.jpg</emphasis>\r
-            </entry>\r
-          </row>\r
-          <row>\r
-            <entry>%size:\n%</entry>\r
-            <entry>123456</entry>\r
-          </row>\r
-          <row>\r
-            <entry>%formatted.ISOSpeedRating:ISO *%</entry>\r
-            <entry>ISO 100</entry>\r
-          </row>\r
-          <row>\r
-            <entry>\r
-              %collection:Collection:\r
-              &lt;b&gt;*&lt;/b&gt;\r
-              \n%\r
-            </entry>\r
-            <entry>\r
-              Collection:\r
-              <emphasis role="strong">my_new_collection</emphasis>\r
-            </entry>\r
-          </row>\r
-        </tbody>\r
-      </tgroup>\r
-    </table>\r
-    <para />\r
-    <variablelist>\r
-      <varlistentry>\r
-        <term>\r
-          <guibutton>\r
-            <guiicon>\r
-              <inlinegraphic fileref="preferences-desktop-font.png" />\r
-            </guiicon>\r
-          </guibutton>\r
-          <guilabel>Font</guilabel>\r
-          ,\r
-          <guibutton>\r
-            <guiicon>\r
-              <inlinegraphic fileref="gtk-color-picker.png" />\r
-            </guiicon>\r
-          </guibutton>\r
-          <guilabel>Text</guilabel>\r
-          ,\r
-          <guibutton>\r
-            <guiicon>\r
-              <inlinegraphic fileref="gtk-color-picker.png" />\r
-            </guiicon>\r
-          </guibutton>\r
-          <guilabel>Background</guilabel>\r
-        </term>\r
-        <listitem>The font used for the Overlay Screen Display, as well as the font colour and background colour, may be set via these buttons. Colour transparency can also be set.</listitem>\r
-      </varlistentry>\r
-    </variablelist>\r
-    <variablelist>\r
-      <varlistentry>\r
-        <term>\r
-          <guibutton>\r
-            <guiicon>\r
-              <inlinegraphic fileref="help-contents.png" />\r
-            </guiicon>\r
-          </guibutton>\r
-          <guilabel>Help</guilabel>\r
-        </term>\r
-        <listitem>\r
-          <para>Show syntax help</para>\r
-        </listitem>\r
-      </varlistentry>\r
-    </variablelist>\r
-    <variablelist>\r
-      <varlistentry>\r
-        <term>\r
-          <guilabel>Defaults</guilabel>\r
-        </term>\r
-        <listitem>\r
-          <para>Restore default image overlay template</para>\r
-        </listitem>\r
-      </varlistentry>\r
-    </variablelist>\r
-  </section>\r
 </section>\r
index 749c1de..6ad0cdc 100644 (file)
@@ -3,7 +3,7 @@
   <title id="titleGuideReferenceConfig">Configuration Files and Locations</title>\r
   <para>The following data lists the locations Geeqie uses for various actions. The uppercase symbols are environment variables. If they are not set on your system the fallback locations are listed in parentheses.</para>\r
   <para>\r
-    Geqqie will first attempt to load a configuration file from:\r
+    Geeqie will first attempt to load a configuration file from:\r
     <programlisting xml:space="preserve">/etc/geeqie/geeqierc.xml</programlisting>\r
   </para>\r
   <para>It will then continue with the following locations.</para>\r
index 84a3635..12ae938 100644 (file)
--- a/geeqie.1
+++ b/geeqie.1
@@ -644,6 +644,59 @@ delete selected files
 close window
 .br
 
+.SH FILES
+The following data lists the locations Geeqie uses for various actions. The
+uppercase symbols are environment variables. If they are not set on your system
+the fallback locations are listed in parentheses. Geeqie will first attempt to
+load a configuration file from:
+
+.B /etc/geeqie/geeqierc.xml
+
+It will then continue with the following locations.
+Most of Geeqie's configuration files are contained in the folder, and sub-folders of:
+
+.B $XDG_CONFIG_HOME/geeqie/
+.B ($~/.config/geeqie/)
+
+Geeqie's standard configuration file is:
+
+.B .../geeqierc.xml
+
+An alternative configuration file may be used by executing:
+
+.B geeqie -r --config-load:<filename>
+
+Geeqie-created desktop files used by Plugins are in the folder:
+
+.B .../applications
+
+Lua script files for Lua Extensions are in the folder:
+
+.B .../lua
+
+Historic data such as last several folders visited, bookmarks, and recently used collections, as well as default print settings are contained in this text file:
+
+.B .../history
+
+Keyboard shortcut maps are contained in this text file:
+
+.B .../accels
+
+The location for Collections is in the folder:
+
+.B $XDG_DATA_HOME/geeqie/collections
+.br
+.B ($~/.local/share/geeqie/collections)
+
+The lirc Infra-red controller configuration file must be located at:
+
+.B $HOME/.lircrc
+
+Thumbnails are stored in a location specified in Thumbnail Preferences
+
+Metadata is stored either in the image file or in the location specified in Safe Delete
+
+The safe delete folder is specified in the Metadata tab of main Preferences
 
 .SH LICENSE
 Copyright (C) 1999-2004 by John Ellis.
index f3b57c1..50bce3c 100644 (file)
@@ -904,7 +904,7 @@ static void collection_table_popup_print_cb(GtkWidget *widget, gpointer data)
 
        fd = (ct->click_info) ? ct->click_info->fd : NULL;
 
-       print_window_new(fd, collection_table_selection_get_list(ct), collection_table_get_list(ct), ct->listview);
+       print_window_new(fd, collection_table_selection_get_list(ct), collection_table_get_list(ct), gtk_widget_get_toplevel(ct->listview));
 }
 
 static void collection_table_popup_show_names_cb(GtkWidget *widget, gpointer data)
index 200b552..f8721f6 100644 (file)
@@ -195,8 +195,12 @@ ConfOptions *init_options(ConfOptions *options)
        options->star_rating.star = STAR_RATING_STAR;
        options->star_rating.rejected = STAR_RATING_REJECTED;
 
-       options->printer.font = g_strdup("Serif 10");
+       options->printer.image_font = g_strdup("Serif 10");
+       options->printer.page_font = g_strdup("Serif 10");
+       options->printer.page_text = NULL;
        options->printer.text_fields = 1;
+       options->printer.image_text_position = 1;
+       options->printer.page_text_position = 3;
 
        return options;
 }
index f9e92dc..a5f52cf 100644 (file)
@@ -303,8 +303,14 @@ struct _ConfOptions
 
        /* Printer */
        struct {
-               gchar *font;
+               gchar *image_font;
+               gchar *page_font;
                gint text_fields;
+               gboolean show_image_text;
+               gboolean show_page_text;
+               gchar *page_text;
+               gint image_text_position;
+               gint page_text_position;
        } printer;
 
        gboolean read_metadata_in_idle;
index 4fd9666..ed989c0 100644 (file)
@@ -26,6 +26,7 @@
 #include "bar_keywords.h"
 #include "cache.h"
 #include "cache_maint.h"
+#include "dnd.h"
 #include "editors.h"
 #include "exif.h"
 #include "filedata.h"
@@ -484,6 +485,7 @@ static void config_window_help_cb(GtkWidget *widget, gpointer data)
        {
        "GuideOptionsGeneral.html",
        "GuideOptionsImage.html",
+       "GuideOptionsOSD.html",
        "GuideOptionsWindow.html",
        "GuideOptionsKeyboard.html",
        "GuideOptionsFiltering.html",
@@ -1231,7 +1233,7 @@ static void image_overlay_default_template_cb(GtkWidget *widget, gpointer data)
 
 static void image_overlay_help_cb(GtkWidget *widget, gpointer data)
 {
-       help_window_show("GuideOptionsWindow.html#OverlayScreenDisplay");
+       help_window_show("GuideOptionsOSD.html");
 }
 
 static void image_overlay_set_font_cb(GtkWidget *widget, gpointer data)
@@ -2005,9 +2007,6 @@ static void config_tab_windows(GtkWidget *notebook)
        GtkWidget *button;
        GtkWidget *ct_button;
        GtkWidget *spin;
-       GtkWidget *image_overlay_template_view;
-       GtkWidget *scrolled;
-       GtkTextBuffer *buffer;
 
        vbox = scrolled_notebook_page(notebook, _("Windows"));
 
@@ -2054,35 +2053,183 @@ static void config_tab_windows(GtkWidget *notebook)
                              options->fullscreen.clean_flip, &c_options->fullscreen.clean_flip);
        pref_checkbox_new_int(group, _("Disable screen saver"),
                              options->fullscreen.disable_saver, &c_options->fullscreen.disable_saver);
+}
+
+/* overlay screen display tab */
+static const gchar *predefined_tags[][2] = {
+       {"%name%",                                                      N_("Name")},
+       {"%path:60%*",                                          N_("Path")},
+       {"%date%",                                                      N_("Date")},
+       {"%size%",                                                      N_("Size")},
+       {"%zoom%",                                                      N_("Zoom")},
+       {"%dimensions%",                                        N_("Dimensions")},
+       {"%collection%",                                        N_("Collection")},
+       {"%number%",                                            N_("Collection number")},
+       {"%total%",                                                     N_("Collection total")},
+       {"%file.ctime%",                                        N_("File ctime")},
+       {"%file.mode%",                                         N_("File mode")},
+       {"%file.owner%",                                        N_("File owner")},
+       {"%file.group%",                                        N_("File group")},
+       {"%file.link%",                                         N_("File link")},
+       {"%file.class%",                                        N_("File class")},
+       {"%formatted.DateTime%",                        N_("Image date")},
+       {"%formatted.DateTimeDigitized%",       N_("Date digitized")},
+       {"%formatted.ShutterSpeed%",            N_("ShutterSpeed")},
+       {"%formatted.Aperture%",                        N_("Aperture")},
+       {"%formatted.ExposureBias%",            N_("Exposure bias")},
+       {"%formatted.Resolution%",                      N_("Resolution")},
+       {"%formatted.Camera%",                          N_("Camera")},
+       {"%formatted.ShutterSpeed%",            N_("Shutter speed")},
+       {"%formatted.ISOSpeedRating%",          N_("ISO")},
+       {"%formatted.FocalLength%",                     N_("Focal length")},
+       {"%formatted.FocalLength35mmFilm%",     N_("Focal len. 35mm")},
+       {"%formatted.SubjectDistance%",         N_("Subject distance")},
+       {"%formatted.Flash%",                           N_("Flash")},
+       {"%formatted.ColorProfile%",            N_("Color profile")},
+       {"%formatted.GPSPosition%",                     N_("Lat, Long")},
+       {"%formatted.GPSAltitude%",                     N_("Altitude")},
+       {"%formatted.localtime%",                       N_("Local time")},
+       {"%formatted.timezone%",                        N_("Timezone")},
+       {"%formatted.countryname%",                     N_("Country name")},
+       {"%formatted.countrycode%",                     N_("Country code")},
+       {"%formatted.star_rating%",                     N_("Star rating")},
+       {NULL, NULL}};
+
+static GtkTargetEntry osd_drag_types[] = {
+       { "text/plain", GTK_TARGET_SAME_APP, TARGET_TEXT_PLAIN }
+};
+
+typedef struct _TagData TagData;
+struct _TagData
+{
+       gchar *key;
+       gchar *title;
+};
+
+static void tag_button_cb(GtkWidget *widget, gpointer data)
+{
+       GtkTextView *image_overlay_template_view = data;
+       GtkTextBuffer *buffer;
+       TagData *td;
+
+       buffer = gtk_text_view_get_buffer(image_overlay_template_view);
+       td = g_object_get_data(G_OBJECT(widget), "tag_data");
+       gtk_text_buffer_insert_at_cursor(GTK_TEXT_BUFFER(buffer), td->key, -1);
+
+       gtk_widget_grab_focus(GTK_WIDGET(image_overlay_template_view));
+}
+
+static void osd_dnd_get_cb(GtkWidget *btn, GdkDragContext *context,
+                                                               GtkSelectionData *selection_data, guint info,
+                                                               guint time, gpointer data)
+{
+       TagData *td;
+       GtkTextView *image_overlay_template_view = data;
+
+       td = g_object_get_data(G_OBJECT(btn), "tag_data");
+       gtk_selection_data_set_text(selection_data, td->key, -1);
+
+       gtk_widget_grab_focus(GTK_WIDGET(image_overlay_template_view));
+}
+
+static void osd_btn_destroy_cb(GtkWidget *btn, GdkDragContext *context,
+                                                               GtkSelectionData *selection_data, guint info,
+                                                               guint time, gpointer data)
+{
+       TagData *td;
+
+       td = g_object_get_data(G_OBJECT(btn), "tag_data");
+       g_free(td->key);
+       g_free(td->title);
+}
+
+static void set_osd_button(GtkWidget *widget, const gchar *key, const gchar *title,
+                                                                               GtkWidget *image_overlay_template_view)
+{
+       GtkWidget *new_button;
+       TagData *td;
+
+       new_button = pref_button_new(widget, NULL, _(title), TRUE,
+                                                       G_CALLBACK(tag_button_cb), image_overlay_template_view);
+
+       td = g_new0(TagData, 1);
+       td->key = g_strdup(key);
+       td->title = g_strdup(title);
+
+       g_object_set_data(G_OBJECT(new_button), "tag_data", td);
+
+       gtk_drag_source_set(new_button, GDK_BUTTON1_MASK, osd_drag_types, 1, GDK_ACTION_COPY);
+       g_signal_connect(G_OBJECT(new_button), "drag_data_get",
+                                                       G_CALLBACK(osd_dnd_get_cb), image_overlay_template_view);
+       g_signal_connect(G_OBJECT(new_button), "destroy",
+                                                       G_CALLBACK(osd_btn_destroy_cb), new_button);
+}
+
+static void config_tab_osd(GtkWidget *notebook)
+{
+       GtkWidget *hbox;
+       GtkWidget *vbox;
+       GtkWidget *vbox_buttons;
+       GtkWidget *group;
+       GtkWidget *button;
+       GtkWidget *image_overlay_template_view;
+       GtkWidget *scrolled;
+       GtkTextBuffer *buffer;
+       GtkWidget *label;
+       GtkWidget *     subgroup;
+       gint i = 0;
+       gint rows = 0;
+       gint cols = 0;
 
+       vbox = scrolled_notebook_page(notebook, _("OSD"));
+
+       image_overlay_template_view = gtk_text_view_new();
 
        group = pref_group_new(vbox, FALSE, _("Overlay Screen Display"), GTK_ORIENTATION_VERTICAL);
 
+       hbox = gtk_hbox_new(FALSE, 0);
+
+       gtk_box_pack_start(GTK_BOX(group), hbox, FALSE, FALSE, 0);
+       gtk_widget_show(hbox);
+
+       pref_label_new(hbox, _("To include predefined tags in the template, click a button or drag-and-drop"));
+
+       subgroup = pref_box_new(group, FALSE, GTK_ORIENTATION_VERTICAL, PREF_PAD_GAP);
+       hbox = gtk_hbox_new(FALSE, 0);
+       gtk_box_pack_start(GTK_BOX(subgroup), hbox, FALSE, FALSE, 0);
+       gtk_widget_show(hbox);
+
+       for (cols = 0; cols < 6; cols++)
+               {
+               vbox_buttons = gtk_vbox_new(FALSE, 0);
+               rows = 0;
+
+               gtk_box_pack_start(GTK_BOX(hbox), vbox_buttons, FALSE, FALSE, 0);
+
+               while (rows < 6 && predefined_tags[i][0])
+                       {
+                       set_osd_button(vbox_buttons, predefined_tags[i][0], predefined_tags[i][1], image_overlay_template_view);
+                       i = i + 1;
+                       rows++;
+                       }
+               gtk_widget_show(vbox_buttons);
+               }
+
+       pref_line(group, PREF_PAD_GAP);
+
        pref_label_new(group, _("Image overlay template"));
 
        scrolled = gtk_scrolled_window_new(NULL, NULL);
        gtk_widget_set_size_request(scrolled, 200, 150);
        gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolled), GTK_SHADOW_IN);
        gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled),
-                                      GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+                                                                       GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
        gtk_box_pack_start(GTK_BOX(group), scrolled, TRUE, TRUE, 5);
        gtk_widget_show(scrolled);
 
-       image_overlay_template_view = gtk_text_view_new();
-
        gtk_widget_set_tooltip_markup(image_overlay_template_view,
-       _("<i>%name%</i> results in the filename of the picture.\n"
-         "Also available: <i>%collection%</i>, <i>%number%</i>, <i>%total%</i>, <i>%date%</i>,\n"
-         "<i>%size%</i> (filesize), <i>%width%</i>, <i>%height%</i>, <i>%res%</i> (resolution),\n"
-         "<i>%rating%</i>, <i>%keywords%</i>, <i>%comment%</i> (XMP), <i>%imagecomment%</i> (JPEG)\n"
-         "To access exif data use the exif name, e. g. <i>%formatted.Camera%</i> is the formatted camera name,\n"
-         "<i>%Exif.Photo.DateTimeOriginal%</i> the date of the original shot.\n"
-         "<i>%formatted.Camera:20</i> notation will truncate the displayed data to 20 characters and will add 3 dots at the end to denote the truncation.\n"
-         "If two or more variables are connected with the |-sign, it prints available variables with a separator.\n"
-         "<i>%formatted.ShutterSpeed%</i>|<i>%formatted.ISOSpeedRating%</i>|<i>%formatted.FocalLength%</i> could show \"1/20s - 400 - 80 mm\" or \"1/200 - 80 mm\",\n"
-         "if there's no ISO information in the Exif data.\n"
-         "If a line is empty, it is removed. This allows one to add lines that totally disappear when no data is available.\n"
-       ));
+                                       _("Extensive formatting options are shown in the Help file"));
+
        gtk_container_add(GTK_CONTAINER(scrolled), image_overlay_template_view);
        gtk_widget_show(image_overlay_template_view);
 
@@ -2127,7 +2274,51 @@ static void config_tab_windows(GtkWidget *notebook)
        g_signal_connect(G_OBJECT(buffer), "changed",
                         G_CALLBACK(image_overlay_template_view_changed_cb), image_overlay_template_view);
 
+       pref_line(group, PREF_PAD_GAP);
+
+       group = pref_group_new(vbox, FALSE, _("Exif, XMP or IPTC tags"), GTK_ORIENTATION_VERTICAL);
+       hbox = gtk_hbox_new(FALSE, 0);
+       gtk_box_pack_start(GTK_BOX(group), hbox, FALSE, FALSE, 0);
+       gtk_widget_show(hbox);
+       label = gtk_label_new(_("%Exif.Image.Orientation%"));
+       gtk_box_pack_start(GTK_BOX(hbox),label, FALSE,FALSE,0);
+       gtk_widget_show(label);
+       pref_spacer(group,TRUE);
+
+       group = pref_group_new(vbox, FALSE, _("Field separators"), GTK_ORIENTATION_VERTICAL);
+       hbox = gtk_hbox_new(FALSE, 0);
+       gtk_box_pack_start(GTK_BOX(group), hbox, FALSE, FALSE, 0);
+       gtk_widget_show(hbox);
+       label = gtk_label_new(_("Separator shown only if both fields are non-null:\n%formatted.ShutterSpeed%|%formatted.ISOSpeedRating%"));
+       gtk_box_pack_start(GTK_BOX(hbox),label, FALSE,FALSE,0);
+       gtk_widget_show(label);
+       pref_spacer(group,TRUE);
+
+       group = pref_group_new(vbox, FALSE, _("Field maximum length"), GTK_ORIENTATION_VERTICAL);
+       hbox = gtk_hbox_new(FALSE, 0);
+       gtk_box_pack_start(GTK_BOX(group), hbox, FALSE, FALSE, 0);
+       gtk_widget_show(hbox);
+       label = gtk_label_new(_("%path:39%"));
+       gtk_box_pack_start(GTK_BOX(hbox),label, FALSE,FALSE,0);
+       gtk_widget_show(label);
+       pref_spacer(group,TRUE);
+
+       group = pref_group_new(vbox, FALSE, _("Pre- and post- text"), GTK_ORIENTATION_VERTICAL);
+       hbox = gtk_hbox_new(FALSE, 0);
+       gtk_box_pack_start(GTK_BOX(group), hbox, FALSE, FALSE, 0);
+       gtk_widget_show(hbox);
+       label = gtk_label_new(_("Text shown only if the field is non-null:\n%formatted.Aperture:F no. * setting%\n %formatted.Aperture:10:F no. * setting%"));
+       gtk_box_pack_start(GTK_BOX(hbox),label, FALSE,FALSE,0);
+       gtk_widget_show(label);
+       pref_spacer(group,TRUE);
 
+       group = pref_group_new(vbox, FALSE, _("Pango markup"), GTK_ORIENTATION_VERTICAL);
+       hbox = gtk_hbox_new(FALSE, 0);
+       gtk_box_pack_start(GTK_BOX(group), hbox, FALSE, FALSE, 0);
+       gtk_widget_show(hbox);
+       label = gtk_label_new(_("<b>bold</b>\n<u>underline</u>\n<i>italic</i>\n<s>strikethrough</s>"));
+       gtk_box_pack_start(GTK_BOX(hbox),label, FALSE,FALSE,0);
+       gtk_widget_show(label);
 }
 
 static GtkTreeModel *create_class_model(void)
@@ -3229,10 +3420,12 @@ static void config_window_create(void)
 
        notebook = gtk_notebook_new();
        gtk_notebook_set_tab_pos(GTK_NOTEBOOK(notebook), GTK_POS_TOP);
+       gtk_notebook_set_scrollable(GTK_NOTEBOOK(notebook), TRUE);
        gtk_box_pack_start(GTK_BOX(win_vbox), notebook, TRUE, TRUE, 0);
 
        config_tab_general(notebook);
        config_tab_image(notebook);
+       config_tab_osd(notebook);
        config_tab_windows(notebook);
        config_tab_accelerators(notebook);
        config_tab_files(notebook);
index 4dc0919..8032ac3 100644 (file)
 #include "main.h"
 #include "print.h"
 
+#include "exif.h"
 #include "filedata.h"
 #include "image-load.h"
+#include "pixbuf_util.h"
 #include "ui_misc.h"
 #include "ui_fileops.h"
 
 #define PRINT_SETTINGS "print_settings" // filename save printer settings
 #define PAGE_SETUP "page_setup" // filename save page setup
 
+/* padding between objects */
+#define PRINT_TEXT_PADDING 3.0
+
 /* method to use when scaling down image data */
 #define PRINT_MAX_INTERP GDK_INTERP_HYPER
 
@@ -40,6 +45,14 @@ typedef enum {
        TEXT_INFO_FILEPATH = 1 << 4
 } TextInfo;
 
+/* reverse order is important */
+typedef enum {
+       FOOTER_2,
+       FOOTER_1,
+       HEADER_2,
+       HEADER_1
+} TextPosition;
+
 typedef struct _PrintWindow PrintWindow;
 struct _PrintWindow
 {
@@ -48,10 +61,13 @@ struct _PrintWindow
 
        TextInfo        text_fields;
        gint             job_page;
+       GtkTextBuffer *page_text;
        ImageLoader     *job_loader;
 
        GList *print_pixbuf_queue;
        gboolean job_render_finished;
+       GSList *image_group;
+       GSList *page_group;
 };
 
 static gint print_layout_page_count(PrintWindow *pw)
@@ -170,20 +186,31 @@ static void print_text_cb_dims(GtkWidget *widget, gpointer data)
 
 static void print_set_font_cb(GtkWidget *widget, gpointer data)
 {
+       gpointer option;
+
+       if (g_strcmp0(data, "Image text font") == 0)
+               {
+               option = options->printer.image_font;
+               }
+       else
+               {
+               option = options->printer.page_font;
+               }
+
 #if GTK_CHECK_VERSION(3,4,0)
        GtkWidget *dialog;
        char *font;
        PangoFontDescription *font_desc;
 
-       dialog = gtk_font_chooser_dialog_new("Printer Font", GTK_WINDOW(gtk_widget_get_toplevel(widget)));
-       gtk_font_chooser_set_font(GTK_FONT_CHOOSER(dialog), options->printer.font);
+       dialog = gtk_font_chooser_dialog_new(data, GTK_WINDOW(gtk_widget_get_toplevel(widget)));
+       gtk_font_chooser_set_font(GTK_FONT_CHOOSER(dialog), option);
 
        if (gtk_dialog_run(GTK_DIALOG(dialog)) != GTK_RESPONSE_CANCEL)
                {
                font_desc = gtk_font_chooser_get_font_desc(GTK_FONT_CHOOSER(dialog));
                font = pango_font_description_to_string(font_desc);
-               g_free(options->printer.font);
-               options->printer.font = g_strdup(font);
+               g_free(option);
+               option = g_strdup(font);
                g_free(font);
                }
 
@@ -192,42 +219,283 @@ static void print_set_font_cb(GtkWidget *widget, gpointer data)
        const char *font;
 
        font = gtk_font_button_get_font_name(GTK_FONT_BUTTON(widget));
-       options->printer.font = g_strdup(font);
+       option = g_strdup(font);
 #endif
 }
 
+static gint set_toggle(GSList *list, TextPosition pos)
+{
+       GtkToggleButton *current_sel;
+       GtkToggleButton *new_sel;
+       gint new_pos = - 1;
+
+       current_sel = g_slist_nth(list, pos)->data;
+       if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(current_sel)))
+               {
+               new_pos = (pos - 1);
+               if (new_pos < 0)
+                       {
+                       new_pos = HEADER_1;
+                       }
+               new_sel = g_slist_nth(list, new_pos)->data;
+               gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(new_sel), TRUE);
+               }
+       return new_pos;
+}
+
+static void image_text_position_h1_cb(GtkWidget *widget, gpointer data)
+{
+       PrintWindow *pw = data;
+       gint new_set;
+
+       if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)))
+               {
+               new_set = set_toggle(pw->page_group, HEADER_1);
+               if (new_set >= 0)
+                       {
+                       options->printer.page_text_position = new_set;
+                       }
+               options->printer.image_text_position = HEADER_1;
+               }
+}
+
+static void image_text_position_h2_cb(GtkWidget *widget, gpointer data)
+{
+       PrintWindow *pw = data;
+       gint new_set;
+
+       if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)))
+               {
+               new_set = set_toggle(pw->page_group, HEADER_2);
+               if (new_set >= 0)
+                       {
+                       options->printer.page_text_position = new_set;
+                       }
+               options->printer.image_text_position = HEADER_2;
+               }
+}
+
+static void image_text_position_f1_cb(GtkWidget *widget, gpointer data)
+{
+       PrintWindow *pw = data;
+       gint new_set;
+
+       if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)))
+               {
+               new_set = set_toggle(pw->page_group, FOOTER_1);
+               if (new_set >= 0)
+                       {
+                       options->printer.page_text_position = new_set;
+                       }
+               options->printer.image_text_position = FOOTER_1;
+               }
+}
+
+static void image_text_position_f2_cb(GtkWidget *widget, gpointer data)
+{
+       PrintWindow *pw = data;
+       gint new_set;
+
+       if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)))
+               {
+               new_set = set_toggle(pw->page_group, FOOTER_2);
+               if (new_set >= 0)
+                       {
+                       options->printer.page_text_position = new_set;
+                       }
+               options->printer.image_text_position = FOOTER_2;
+               }
+}
+
+static void page_text_position_h1_cb(GtkWidget *widget, gpointer data)
+{
+       PrintWindow *pw = data;
+       gint new_set;
+
+       if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)))
+               {
+               new_set = set_toggle(pw->image_group, HEADER_1);
+               if (new_set >= 0)
+                       {
+                       options->printer.image_text_position = new_set;
+                       }
+               options->printer.page_text_position = HEADER_1;
+               }
+}
+
+static void page_text_position_h2_cb(GtkWidget *widget, gpointer data)
+{
+       PrintWindow *pw = data;
+       gint new_set;
+
+       if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)))
+               {
+               new_set = set_toggle(pw->image_group, HEADER_2);
+               if (new_set >= 0)
+                       {
+                       options->printer.image_text_position = new_set;
+                       }
+               options->printer.page_text_position = HEADER_2;
+               }
+}
+
+static void page_text_position_f1_cb(GtkWidget *widget, gpointer data)
+{
+       PrintWindow *pw = data;
+       gint new_set;
+
+       if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)))
+               {
+               new_set = set_toggle(pw->image_group, FOOTER_1);
+               if (new_set >= 0)
+                       {
+                       options->printer.image_text_position = new_set;
+                       }
+               options->printer.page_text_position = FOOTER_1;
+               }
+}
+
+static void page_text_position_f2_cb(GtkWidget *widget, gpointer data)
+{
+       PrintWindow *pw = data;
+       gint new_set;
+
+       if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)))
+               {
+               new_set = set_toggle(pw->image_group, FOOTER_2);
+               if (new_set >= 0)
+                       {
+                       options->printer.image_text_position = new_set;
+                       }
+               options->printer.page_text_position = FOOTER_2;
+               }
+}
+
 static void print_text_menu(GtkWidget *box, PrintWindow *pw)
 {
        GtkWidget *group;
        GtkWidget *hbox;
        GtkWidget *button;
-
-       group = pref_group_new(box, FALSE, _("Show"), GTK_ORIENTATION_VERTICAL);
-
-       pref_checkbox_new(group, _("Name"), (pw->text_fields & TEXT_INFO_FILENAME),
+       GtkWidget *button1;
+       GtkWidget *button2;
+       GtkWidget *image_text_button;
+       GtkWidget *page_text_button;
+       GtkWidget *subgroup;
+       GtkWidget *page_text_view;
+
+       group = pref_group_new(box, FALSE, _("Image text"), GTK_ORIENTATION_VERTICAL);
+
+       image_text_button = pref_checkbox_new_int(group, _("Show image text"),
+                                                                               options->printer.show_image_text, &options->printer.show_image_text);
+
+       subgroup = pref_box_new(group, FALSE, GTK_ORIENTATION_VERTICAL, PREF_PAD_GAP);
+
+       pref_checkbox_link_sensitivity(image_text_button, subgroup);
+
+       hbox = gtk_hbox_new(FALSE, 0);
+       gtk_box_pack_start(GTK_BOX(subgroup), hbox, FALSE, FALSE, 0);
+
+       /* order is important */
+       button1 = pref_radiobutton_new(hbox, NULL,  "Header 1",
+                                                       options->printer.image_text_position == HEADER_1,
+                                                       G_CALLBACK(image_text_position_h1_cb), pw);
+       button1 = pref_radiobutton_new(hbox, button1,  "Header 2",
+                                                       options->printer.image_text_position == HEADER_2,
+                                                       G_CALLBACK(image_text_position_h2_cb), pw);
+       button1 = pref_radiobutton_new(hbox, button1, "Footer 1",
+                                                       options->printer.image_text_position == FOOTER_1,
+                                                       G_CALLBACK(image_text_position_f1_cb), pw);
+       button1 = pref_radiobutton_new(hbox, button1, "Footer 2",
+                                                       options->printer.image_text_position == FOOTER_2,
+                                                       G_CALLBACK(image_text_position_f2_cb), pw);
+       gtk_widget_show(hbox);
+       pw->image_group = (gtk_radio_button_get_group(GTK_RADIO_BUTTON(button1)));
+
+       pref_checkbox_new(subgroup, _("Name"), (pw->text_fields & TEXT_INFO_FILENAME),
                          G_CALLBACK(print_text_cb_name), pw);
-       pref_checkbox_new(group, _("Path"), (pw->text_fields & TEXT_INFO_FILEPATH),
+       pref_checkbox_new(subgroup, _("Path"), (pw->text_fields & TEXT_INFO_FILEPATH),
                          G_CALLBACK(print_text_cb_path), pw);
-       pref_checkbox_new(group, _("Date"), (pw->text_fields & TEXT_INFO_FILEDATE),
+       pref_checkbox_new(subgroup, _("Date"), (pw->text_fields & TEXT_INFO_FILEDATE),
                          G_CALLBACK(print_text_cb_date), pw);
-       pref_checkbox_new(group, _("Size"), (pw->text_fields & TEXT_INFO_FILESIZE),
+       pref_checkbox_new(subgroup, _("Size"), (pw->text_fields & TEXT_INFO_FILESIZE),
                          G_CALLBACK(print_text_cb_size), pw);
-       pref_checkbox_new(group, _("Dimensions"), (pw->text_fields & TEXT_INFO_DIMENSIONS),
+       pref_checkbox_new(subgroup, _("Dimensions"), (pw->text_fields & TEXT_INFO_DIMENSIONS),
                          G_CALLBACK(print_text_cb_dims), pw);
 
-       group = pref_group_new(box, FALSE, _("Font"), GTK_ORIENTATION_VERTICAL);
+       hbox = pref_box_new(subgroup, FALSE, GTK_ORIENTATION_HORIZONTAL, PREF_PAD_BUTTON_GAP);
+
+#if GTK_CHECK_VERSION(3,4,0)
+       button = pref_button_new(NULL, GTK_STOCK_SELECT_FONT, _("Font"), FALSE,
+                                G_CALLBACK(print_set_font_cb), "Image text font");
+#else
+       button = gtk_font_button_new();
+       gtk_font_button_set_title(GTK_FONT_BUTTON(button), "Image text Font");
+       gtk_font_button_set_font_name(GTK_FONT_BUTTON(button), options->printer.image_font);
+       g_signal_connect(G_OBJECT(button), "font-set",
+                                G_CALLBACK(print_set_font_cb), "Image text font");
+#endif
+       gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0);
+       gtk_widget_show(button);
+
+       pref_spacer(group, PREF_PAD_GAP);
+
+       group = pref_group_new(box, FALSE, _("Page text"), GTK_ORIENTATION_VERTICAL);
+
+       page_text_button = pref_checkbox_new_int(group, _("Show page text"),
+                                         options->printer.show_page_text, &options->printer.show_page_text);
+
+       subgroup = pref_box_new(group, FALSE, GTK_ORIENTATION_VERTICAL, PREF_PAD_GAP);
+       pref_checkbox_link_sensitivity(page_text_button, subgroup);
+
+       hbox = gtk_hbox_new(FALSE, 0);
+       gtk_box_pack_start(GTK_BOX(subgroup), hbox, FALSE, FALSE, 0);
 
-       hbox = pref_box_new(group, FALSE, GTK_ORIENTATION_HORIZONTAL, PREF_PAD_BUTTON_GAP);
+       /* order is important */
+       button2 = pref_radiobutton_new(hbox, NULL, "Header 1",
+                                                       options->printer.page_text_position == HEADER_1,
+                                                       G_CALLBACK(page_text_position_h1_cb), pw);
+       button2 = pref_radiobutton_new(hbox, button2,  "Header 2",
+                                                       options->printer.page_text_position == HEADER_2,
+                                                       G_CALLBACK(page_text_position_h2_cb), pw);
+       button2 = pref_radiobutton_new(hbox, button2, "Footer 1",
+                                                       options->printer.page_text_position == FOOTER_1,
+                                                       G_CALLBACK(page_text_position_f1_cb), pw);
+       button2 = pref_radiobutton_new(hbox, button2, "Footer 2",
+                                                       options->printer.page_text_position == FOOTER_2,
+                                                       G_CALLBACK(page_text_position_f2_cb), pw);
+       gtk_widget_show(hbox);
+       pw->page_group = (gtk_radio_button_get_group(GTK_RADIO_BUTTON(button2)));
+
+       GtkWidget *scrolled;
+
+       scrolled = gtk_scrolled_window_new(NULL, NULL);
+       gtk_widget_set_size_request(scrolled, 50, 50);
+       gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolled), GTK_SHADOW_IN);
+       gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled),
+                                      GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+       gtk_box_pack_start(GTK_BOX(subgroup), scrolled, TRUE, TRUE, 5);
+       gtk_widget_show(scrolled);
+
+       page_text_view = gtk_text_view_new();
+       pw->page_text = gtk_text_view_get_buffer(GTK_TEXT_VIEW(page_text_view ));
+       gtk_text_buffer_set_text(GTK_TEXT_BUFFER(pw->page_text), options->printer.page_text, -1);
+       g_object_ref(pw->page_text);
+
+       gtk_widget_set_tooltip_markup(page_text_view, ("Text shown on each page of a single or multi-page print job"));
+       gtk_container_add(GTK_CONTAINER(scrolled), page_text_view);
+       gtk_widget_show(page_text_view);
+
+       hbox = pref_box_new(subgroup, FALSE, GTK_ORIENTATION_HORIZONTAL, PREF_PAD_BUTTON_GAP);
 
 #if GTK_CHECK_VERSION(3,4,0)
        button = pref_button_new(NULL, GTK_STOCK_SELECT_FONT, _("Font"), FALSE,
-                                G_CALLBACK(print_set_font_cb), pw);
+                                G_CALLBACK(print_set_font_cb), "Page text font");
 #else
        button = gtk_font_button_new();
-       gtk_font_button_set_title(GTK_FONT_BUTTON(button), "Printer Font");
-       gtk_font_button_set_font_name(GTK_FONT_BUTTON(button), options->printer.font);
+       gtk_font_button_set_title(GTK_FONT_BUTTON(button), "Page text Font");
+       gtk_font_button_set_font_name(GTK_FONT_BUTTON(button), options->printer.page_font);
        g_signal_connect(G_OBJECT(button), "font-set",
-                                G_CALLBACK(print_set_font_cb),NULL);
+                                G_CALLBACK(print_set_font_cb), "Page text font");
 #endif
        gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0);
        gtk_widget_show(button);
@@ -249,148 +517,248 @@ static gboolean paginate_cb(GtkPrintOperation *operation,
                }
 }
 
-/* Returns the "depth" of a layout, that is the distance from the
- * top of the layout to the baseline of the first line in the
- * layout. */
-int get_layout_depth(PangoLayout *layout)
-{
-  PangoLayoutLine *layout_line = pango_layout_get_line(layout,0);
-  PangoRectangle rect;
-
-  pango_layout_line_get_extents(layout_line, NULL, &rect);
-
-  return PANGO_ASCENT(rect);
-}
-
 static void draw_page(GtkPrintOperation *operation, GtkPrintContext *context,
                                                                        gint page_nr, gpointer data)
 {
-       FileData *fd;
        PrintWindow *pw = data;
+       FileData *fd;
        cairo_t *cr;
-       gdouble width, height;
-       gdouble width_pixbuf_image, height_pixbuf_image;
+       gdouble context_width, context_height;
+       gdouble pixbuf_image_width, pixbuf_image_height;
        gdouble width_offset;
        gdouble height_offset;
        GdkPixbuf *pixbuf;
        GdkPixbuf *pixbuf_scaled;
-       PangoLayout *layout;
+       GdkPixbuf *rotated = NULL;
+       PangoLayout *layout_image = NULL;
+       PangoLayout *layout_page = NULL;
        PangoFontDescription *desc;
-       GString *text = g_string_new(NULL);
+       GString *image_text = g_string_new(NULL);
+       GString *page_text = g_string_new(NULL);
        PangoRectangle ink_rect, logical_rect;
-       gdouble depth;
-       gdouble text_padding;
-       gdouble x, y, w, h, scale;
+       gdouble w, h, scale;
+       gdouble image_text_width, image_text_height, page_text_width, page_text_height;
+       gint image_y;
+       gint incr_y;
        gdouble pango_height;
+       gdouble pango_image_height;
+       gdouble pango_page_height;
+       GtkTextIter start, end;
+       gchar *tmp;
+
+       fd = g_list_nth_data(pw->source_selection, page_nr);
 
        pixbuf = g_list_nth_data(pw->print_pixbuf_queue, page_nr);
-       width_pixbuf_image = gdk_pixbuf_get_width(pixbuf);
-       height_pixbuf_image = gdk_pixbuf_get_height(pixbuf);
+       if (fd->exif_orientation != EXIF_ORIENTATION_TOP_LEFT)
+               {
+               rotated = pixbuf_apply_orientation(pixbuf, fd->exif_orientation);
+               pixbuf = rotated;
+               }
 
-       fd = g_list_nth_data(pw->source_selection, page_nr);
+       pixbuf_image_width = gdk_pixbuf_get_width(pixbuf);
+       pixbuf_image_height = gdk_pixbuf_get_height(pixbuf);
 
-       if (pw->text_fields & TEXT_INFO_FILENAME)
+       if (options->printer.show_image_text)
                {
-               text = g_string_append(text, g_strdup(fd->name));
-               text = g_string_append(text, "\n");
+               if (pw->text_fields & TEXT_INFO_FILENAME)
+                       {
+                       image_text = g_string_append(image_text, g_strdup(fd->name));
+                       image_text = g_string_append(image_text, "\n");
+                       }
+               if (pw->text_fields & TEXT_INFO_FILEDATE)
+                       {
+                       image_text = g_string_append(image_text, g_strdup(text_from_time(fd->date)));
+                       image_text = g_string_append(image_text, "\n");
+                       }
+               if (pw->text_fields & TEXT_INFO_FILESIZE)
+                       {
+                       image_text = g_string_append(image_text, g_strdup(text_from_size(fd->size)));
+                       image_text = g_string_append(image_text, "\n");
+                       }
+               if (pw->text_fields & TEXT_INFO_DIMENSIONS)
+                       {
+                       g_string_append_printf(image_text, "%d x %d", (gint)pixbuf_image_width,
+                                                                                               (gint)pixbuf_image_height);
+                       image_text = g_string_append(image_text, "\n");
+                       }
+               if (pw->text_fields & TEXT_INFO_FILEPATH)
+                       {
+                       image_text = g_string_append(image_text, g_strdup(fd->path));
+                       image_text = g_string_append(image_text, "\n");
+                       }
+               if (image_text->len > 0)
+                       {
+                       image_text = g_string_truncate(image_text, image_text->len - 1);
+                       }
                }
-       if (pw->text_fields & TEXT_INFO_FILEDATE)
+
+       if (options->printer.show_page_text)
+               {
+               gtk_text_buffer_get_bounds(GTK_TEXT_BUFFER(pw->page_text), &start, &end);
+
+               tmp = gtk_text_buffer_get_text(GTK_TEXT_BUFFER(pw->page_text), &start, &end, FALSE);
+               page_text = g_string_append(page_text, tmp);
+
+               g_free(tmp);
+               }
+
+       cr = gtk_print_context_get_cairo_context(context);
+       context_width = gtk_print_context_get_width(context);
+       context_height = gtk_print_context_get_height(context);
+
+       pango_image_height = 0;
+       pango_page_height = 0;
+       image_text_width = 0;
+       page_text_width = 0;
+
+       if (image_text->len > 0)
                {
-               text = g_string_append(text, g_strdup(text_from_time(fd->date)));
-               text = g_string_append(text, "\n");
+               layout_image = pango_cairo_create_layout(cr);
+
+               pango_layout_set_text(layout_image, image_text->str, -1);
+               desc = pango_font_description_from_string(options->printer.image_font);
+               pango_layout_set_font_description(layout_image, desc);
+
+               pango_layout_get_extents(layout_image, &ink_rect, &logical_rect);
+               image_text_width = ((gdouble)logical_rect.width / PANGO_SCALE) ;
+               image_text_height = ((gdouble)logical_rect.height / PANGO_SCALE);
+
+               pango_layout_set_alignment(layout_image, PANGO_ALIGN_CENTER);
+               pango_layout_set_text(layout_image, image_text->str, -1);
+
+               pango_image_height = image_text_height + PRINT_TEXT_PADDING * 2;
+
+               pango_font_description_free(desc);
                }
-       if (pw->text_fields & TEXT_INFO_FILESIZE)
+
+       if (page_text->len > 0)
                {
-               text = g_string_append(text, g_strdup(text_from_size(fd->size)));
-               text = g_string_append(text, "\n");
+               layout_page = pango_cairo_create_layout(cr);
+
+               pango_layout_set_text(layout_page, page_text->str, -1);
+               desc = pango_font_description_from_string(options->printer.page_font);
+               pango_layout_set_font_description(layout_page, desc);
+
+               pango_layout_get_extents(layout_page, &ink_rect, &logical_rect);
+               page_text_width = ((gdouble)logical_rect.width / PANGO_SCALE) ;
+               page_text_height = ((gdouble)logical_rect.height / PANGO_SCALE);
+
+               pango_layout_set_alignment(layout_page, PANGO_ALIGN_CENTER);
+               pango_layout_set_text(layout_page, page_text->str, -1);
+
+               pango_page_height = page_text_height + PRINT_TEXT_PADDING * 2;
+
+               pango_font_description_free(desc);
                }
-       if (pw->text_fields & TEXT_INFO_DIMENSIONS)
+
+       pango_height = pango_image_height + pango_page_height;
+
+       if ((context_width / pixbuf_image_width) < ((context_height - pango_height) / pixbuf_image_height))
                {
-               g_string_append_printf(text, "%d x %d", (gint)width_pixbuf_image,
-                                                                                       (gint)height_pixbuf_image);
-               text = g_string_append(text, "\n");
+               w = context_width;
+               scale = context_width / pixbuf_image_width;
+               h = pixbuf_image_height * scale;
+               height_offset = (context_height - (h + pango_height)) / 2;
+               width_offset = 0;
                }
-       if (pw->text_fields & TEXT_INFO_FILEPATH)
+       else
                {
-               text = g_string_append(text, g_strdup(fd->path));
-               text = g_string_append(text, "\n");
+               h = context_height - pango_height ;
+               scale = (context_height - pango_height) / pixbuf_image_height;
+               w = pixbuf_image_width * scale;
+               height_offset = 0;
+               width_offset = (context_width - (pixbuf_image_width * scale)) / 2;
                }
 
-       cr = gtk_print_context_get_cairo_context(context);
-       width = gtk_print_context_get_width(context);
-       height = gtk_print_context_get_height(context);
+       incr_y = height_offset + PRINT_TEXT_PADDING;
 
-       if (text->len > 0)
+       if (options->printer.page_text_position == HEADER_1 && page_text->len > 0)
                {
-               text = g_string_truncate(text, text->len - 1);
+               cairo_move_to(cr, (w / 2) - (page_text_width / 2) + width_offset, incr_y);
+               pango_cairo_show_layout(cr, layout_page);
 
-               layout = pango_cairo_create_layout(cr);
+               incr_y = incr_y + PRINT_TEXT_PADDING + pango_page_height;
+               }
 
-               pango_layout_set_text(layout, text->str, -1);
-               desc = pango_font_description_from_string(options->printer.font);
-               pango_layout_set_font_description(layout, desc);
+       if (options->printer.image_text_position == HEADER_1 && image_text->len > 0)
+               {
+               cairo_move_to(cr, (w / 2) - (image_text_width / 2) + width_offset, incr_y);
+               pango_cairo_show_layout(cr, layout_image);
 
-               pango_layout_get_extents(layout, &ink_rect, &logical_rect);
-               x = ((gdouble)logical_rect.width / PANGO_SCALE) ;
-               y = ((gdouble)logical_rect.height / PANGO_SCALE);
+               incr_y = incr_y + PRINT_TEXT_PADDING + pango_image_height;
+               }
 
-               pango_layout_set_alignment(layout, PANGO_ALIGN_CENTER);
-               pango_layout_set_text(layout, text->str, -1);
+       if (options->printer.page_text_position == HEADER_2 && page_text->len > 0)
+               {
+               cairo_move_to(cr, (w / 2) - (page_text_width / 2) + width_offset, incr_y);
+               pango_cairo_show_layout(cr, layout_page);
 
-               depth = (gdouble)get_layout_depth(layout);
-               text_padding = depth / 2 / PANGO_SCALE ;
+               incr_y = incr_y + PRINT_TEXT_PADDING + pango_page_height;
+               }
 
-               pango_height = y + text_padding * 2;
+       if (options->printer.image_text_position == HEADER_2 && image_text->len > 0)
+               {
+               cairo_move_to(cr, (w / 2) - (image_text_width / 2) + width_offset, incr_y);
+               pango_cairo_show_layout(cr, layout_image);
 
+               incr_y = incr_y + PRINT_TEXT_PADDING + pango_image_height;
                }
-       else
+
+       image_y = incr_y;
+       incr_y = incr_y + h + PRINT_TEXT_PADDING;
+
+       if (options->printer.page_text_position == FOOTER_1 && page_text->len > 0)
                {
-               pango_height = 0;
-               depth = 0;
-               text_padding = 0;
-               x = 0;
-               y = 0;
+               cairo_move_to(cr, (w / 2) - (page_text_width / 2) + width_offset, incr_y);
+               pango_cairo_show_layout(cr, layout_page);
+
+               incr_y = incr_y + PRINT_TEXT_PADDING + pango_page_height;
                }
 
-       if ((width / width_pixbuf_image) < ((height - pango_height) / height_pixbuf_image))
+       if (options->printer.image_text_position == FOOTER_1 && image_text->len > 0)
                {
-               w = width;
-               scale = width / width_pixbuf_image;
-               h = height_pixbuf_image * scale;
-               height_offset = (height - (h + pango_height)) / 2;
-               width_offset = 0;
+               cairo_move_to(cr, (w / 2) - (image_text_width / 2) + width_offset, incr_y);
+               pango_cairo_show_layout(cr, layout_image);
+
+               incr_y = incr_y + PRINT_TEXT_PADDING + pango_image_height;
                }
-       else
+
+       if (options->printer.page_text_position == FOOTER_2 && page_text->len > 0)
                {
-               h = height - pango_height ;
-               scale = (height - pango_height) / height_pixbuf_image;
-               w = width_pixbuf_image * scale;
-               height_offset = 0;
-               width_offset = (width - (width_pixbuf_image * scale)) / 2;
+               cairo_move_to(cr, (w / 2) - (page_text_width / 2) + width_offset, incr_y);
+               pango_cairo_show_layout(cr, layout_page);
+
+               incr_y = incr_y + PRINT_TEXT_PADDING + pango_page_height;
                }
 
-       if (text->len > 0)
+       if (options->printer.image_text_position == FOOTER_2 && image_text->len > 0)
                {
-               cairo_move_to(cr, (w / 2) - (x / 2) + width_offset, h + height_offset + text_padding);
-               pango_cairo_show_layout(cr, layout);
+               cairo_move_to(cr, (w / 2) - (image_text_width / 2) + width_offset, incr_y);
+               pango_cairo_show_layout(cr, layout_image);
                }
 
        pixbuf_scaled = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, w, h);
        gdk_pixbuf_scale(pixbuf, pixbuf_scaled, 0, 0, w, h, 0, 0,  scale, scale, PRINT_MAX_INTERP);
 
-       cairo_rectangle(cr, width_offset, height_offset, w, h);
+       cairo_rectangle(cr, width_offset, image_y, w, h);
+
+       gdk_cairo_set_source_pixbuf(cr, pixbuf_scaled, width_offset, image_y);
 
-       gdk_cairo_set_source_pixbuf(cr, pixbuf_scaled, width_offset, height_offset);
        cairo_fill(cr);
 
-       if (text->len > 0)
+       if (image_text->len > 0)
                {
-               g_object_unref(layout);
-               g_string_free(text, TRUE);
-               pango_font_description_free(desc);
+               g_object_unref(layout_image);
+               g_string_free(image_text, TRUE);
+               }
+       if (page_text->len > 0)
+               {
+               g_object_unref(layout_page);
+               g_string_free(page_text, TRUE);
                }
 
        g_object_unref(pixbuf_scaled);
+       if (rotated) g_object_unref(rotated);
 
        return;
 }
@@ -418,7 +786,16 @@ GObject *option_tab_cb(GtkPrintOperation *operation, gpointer user_data)
 
 static void print_pref_store(PrintWindow *pw)
 {
+       gchar *tmp;
+       GtkTextIter start, end;
+
        options->printer.text_fields = pw->text_fields;
+
+       gtk_text_buffer_get_bounds(GTK_TEXT_BUFFER(pw->page_text), &start, &end);
+       tmp = gtk_text_buffer_get_text(GTK_TEXT_BUFFER(pw->page_text), &start, &end, FALSE);
+       g_free(options->printer.page_text);
+       options->printer.page_text = g_strdup(tmp);
+       g_free(tmp);
 }
 
 static void end_print_cb(GtkPrintOperation *operation,
@@ -471,6 +848,7 @@ static void end_print_cb(GtkPrintOperation *operation,
                work = work->next;
                }
        g_list_free(pw->print_pixbuf_queue);
+       g_object_unref(pw->page_text);
        g_free(pw);
 }
 
@@ -491,6 +869,11 @@ void print_window_new(FileData *fd, GList *selection, GList *list, GtkWidget *pa
        pw->source_selection = file_data_process_groups_in_selection(selection, FALSE, NULL);
        pw->text_fields = options->printer.text_fields;
 
+       if (print_layout_page_count(pw) == 0)
+               {
+               return;
+               }
+
        vbox = gtk_vbox_new(FALSE, 0);
        gtk_container_set_border_width(GTK_CONTAINER(vbox), PREF_PAD_BORDER);
        gtk_widget_show(vbox);
index 3d2a500..41a1977 100644 (file)
@@ -496,8 +496,14 @@ static void write_global_attributes(GString *outstr, gint indent)
        WRITE_NL(); WRITE_INT(*options, cp_mv_rn.formatted_start);
 
        /* printer */
-       WRITE_NL(); WRITE_CHAR(*options, printer.font);
+       WRITE_NL(); WRITE_CHAR(*options, printer.image_font);
+       WRITE_NL(); WRITE_CHAR(*options, printer.page_font);
+       WRITE_NL(); WRITE_CHAR(*options, printer.page_text);
        WRITE_NL(); WRITE_INT(*options, printer.text_fields);
+       WRITE_NL(); WRITE_INT(*options, printer.image_text_position);
+       WRITE_NL(); WRITE_INT(*options, printer.page_text_position);
+       WRITE_NL(); WRITE_BOOL(*options, printer.show_image_text);
+       WRITE_NL(); WRITE_BOOL(*options, printer.show_page_text);
 }
 
 static void write_color_profile(GString *outstr, gint indent)
@@ -834,8 +840,14 @@ static gboolean load_global_params(const gchar **attribute_names, const gchar **
                if (READ_INT(*options, cp_mv_rn.formatted_start)) continue;
 
                /* printer */
-               if (READ_CHAR(*options, printer.font)) continue;
+               if (READ_CHAR(*options, printer.image_font)) continue;
+               if (READ_CHAR(*options, printer.page_font)) continue;
+               if (READ_CHAR(*options, printer.page_text)) continue;
                if (READ_INT(*options, printer.text_fields)) continue;
+               if (READ_INT(*options, printer.image_text_position)) continue;
+               if (READ_INT(*options, printer.page_text_position)) continue;
+               if (READ_BOOL(*options, printer.show_image_text)) continue;
+               if (READ_BOOL(*options, printer.show_page_text)) continue;
 
                /* Dummy options */
                if (READ_DUMMY(*options, image.dither_quality, "deprecated since 2012-08-13")) continue;
index 2e8e0c3..ad7a4ee 100644 (file)
@@ -580,31 +580,34 @@ dd.answer div.label { float: left; }
 <span class="label">11.2. </span><a class="xref" href="GuideOptionsImage.html" title="Image Options">Image Options</a>
 </li>
 <li>
-<span class="label">11.3. </span><a class="xref" href="GuideOptionsWindow.html" title="Window Options">Window Options</a>
+<span class="label">11.3. </span><a class="xref" href="GuideOptionsOSD.html" title="OverlayScreen Display">OverlayScreen Display</a>
 </li>
 <li>
-<span class="label">11.4. </span><a class="xref" href="GuideOptionsKeyboard.html" title="Keyboard Options">Keyboard Options</a>
+<span class="label">11.4. </span><a class="xref" href="GuideOptionsWindow.html" title="Window Options">Window Options</a>
 </li>
 <li>
-<span class="label">11.5. </span><a class="xref" href="GuideOptionsFiltering.html" title="Files Options">Files Options</a>
+<span class="label">11.5. </span><a class="xref" href="GuideOptionsKeyboard.html" title="Keyboard Options">Keyboard Options</a>
 </li>
 <li>
-<span class="label">11.6. </span><a class="xref" href="GuideOptionsMetadata.html" title="Metadata">Metadata</a>
+<span class="label">11.6. </span><a class="xref" href="GuideOptionsFiltering.html" title="Files Options">Files Options</a>
 </li>
 <li>
-<span class="label">11.7. </span><a class="xref" href="GuideOptionsKeywords.html" title="Keywords">Keywords</a>
+<span class="label">11.7. </span><a class="xref" href="GuideOptionsMetadata.html" title="Metadata">Metadata</a>
 </li>
 <li>
-<span class="label">11.8. </span><a class="xref" href="GuideOptionsColor.html" title="Color management options">Color management options</a>
+<span class="label">11.8. </span><a class="xref" href="GuideOptionsKeywords.html" title="Keywords">Keywords</a>
 </li>
 <li>
-<span class="label">11.9. </span><a class="xref" href="GuideOptionsStereo.html" title="Stereo image management">Stereo image management</a>
+<span class="label">11.9. </span><a class="xref" href="GuideOptionsColor.html" title="Color management options">Color management options</a>
 </li>
 <li>
-<span class="label">11.10. </span><a class="xref" href="GuideOptionsBehavior.html" title="Behavior Options">Behavior Options</a>
+<span class="label">11.10. </span><a class="xref" href="GuideOptionsStereo.html" title="Stereo image management">Stereo image management</a>
 </li>
 <li>
-<span class="label">11.11. </span><a class="xref" href="GuideOptionsToolbar.html" title="Toolbar">Toolbar</a>
+<span class="label">11.11. </span><a class="xref" href="GuideOptionsBehavior.html" title="Behavior Options">Behavior Options</a>
+</li>
+<li>
+<span class="label">11.12. </span><a class="xref" href="GuideOptionsToolbar.html" title="Toolbar">Toolbar</a>
 </li>
 </ul></div>
 </li>
index 8bdbead..93013c7 100644 (file)
@@ -516,7 +516,7 @@ dd.answer div.label { float: left; }
     </p>
 <p class="para block">
       Data the overlay displays is customizable through the
-      <a class="link" href="GuideOptionsWindow.html#OverlayScreenDisplay" title="Overlay Screen Display">Image Overlay Template</a>
+      <a class="link" href="GuideOptionsOSD.html#OverlayScreenDisplay" title="Overlay Screen Display">Image Overlay Template</a>
       option in the Windows tab in the Preferences dialog.
     </p>
 <p class="para block"></p>
index 4d52490..feed769 100644 (file)
@@ -431,6 +431,7 @@ dd.answer div.label { float: left; }
 <a class="xref" href="GuideOptionsMain.html" title="Preferences">Preferences</a><div class="autotoc"><ul>
 <li><a class="xref" href="GuideOptionsGeneral.html" title="General Options">General Options</a></li>
 <li><a class="xref" href="GuideOptionsImage.html" title="Image Options">Image Options</a></li>
+<li><a class="xref" href="GuideOptionsOSD.html" title="OverlayScreen Display">OverlayScreen Display</a></li>
 <li><a class="xref" href="GuideOptionsWindow.html" title="Window Options">Window Options</a></li>
 <li><a class="xref" href="GuideOptionsKeyboard.html" title="Keyboard Options">Keyboard Options</a></li>
 <li><a class="xref" href="GuideOptionsFiltering.html" title="Files Options">Files Options</a></li>
@@ -460,20 +461,20 @@ dd.answer div.label { float: left; }
 <p class="para block block-first">This section describes the options presented under the Behavior Tab of the preferences dialog.</p>
 <div class="autotoc"><ul>
 <li>
-<span class="label">11.10.1. </span><a class="xref" href="GuideOptionsBehavior.html#Delete" title="Delete">Delete</a>
+<span class="label">11.11.1. </span><a class="xref" href="GuideOptionsBehavior.html#Delete" title="Delete">Delete</a>
 </li>
 <li>
-<span class="label">11.10.2. </span><a class="xref" href="GuideOptionsBehavior.html#Behaviour" title="Behavior">Behavior</a>
+<span class="label">11.11.2. </span><a class="xref" href="GuideOptionsBehavior.html#Behaviour" title="Behavior">Behavior</a>
 </li>
 <li>
-<span class="label">11.10.3. </span><a class="xref" href="GuideOptionsBehavior.html#Navigation" title="Navigation">Navigation</a>
+<span class="label">11.11.3. </span><a class="xref" href="GuideOptionsBehavior.html#Navigation" title="Navigation">Navigation</a>
 </li>
 <li>
-<span class="label">11.10.4. </span><a class="xref" href="GuideOptionsBehavior.html#Debugging" title="Debugging">Debugging</a>
+<span class="label">11.11.4. </span><a class="xref" href="GuideOptionsBehavior.html#Debugging" title="Debugging">Debugging</a>
 </li>
 </ul></div>
 <div class="division section">
-<a name="Delete"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.10.1. </span>Delete</span></h2></div>
+<a name="Delete"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.11.1. </span>Delete</span></h2></div>
 <div class="block list variablelist"><dl class="variablelist">
 <dt class="term dt-first">
           <span class="guilabel">Confirm file delete</span>
@@ -551,7 +552,7 @@ dd.answer div.label { float: left; }
 </dl></div>
 </div>
 <div class="division section">
-<a name="Behaviour"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.10.2. </span>Behavior</span></h2></div>
+<a name="Behaviour"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.11.2. </span>Behavior</span></h2></div>
 <div class="block list variablelist"><dl class="variablelist">
 <dt class="term dt-first">
           <span class="guilabel">Descend folders in tree view</span>
@@ -629,7 +630,7 @@ dd.answer div.label { float: left; }
 </dl></div>
 </div>
 <div class="division section">
-<a name="Navigation"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.10.3. </span>Navigation</span></h2></div>
+<a name="Navigation"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.11.3. </span>Navigation</span></h2></div>
 <div class="block list variablelist"><dl class="variablelist">
 <dt class="term dt-first">
           <span class="guilabel">Progressive keyboard scrolling</span>
@@ -670,7 +671,7 @@ dd.answer div.label { float: left; }
 </dl></div>
 </div>
 <div class="division section">
-<a name="Debugging"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.10.4. </span>Debugging</span></h2></div>
+<a name="Debugging"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.11.4. </span>Debugging</span></h2></div>
 <div class="block list variablelist"><dl class="variablelist">
 <dt class="term dt-first">
           <span class="guilabel">Debug level</span>
index c2fe1ab..7382dcf 100644 (file)
@@ -431,6 +431,7 @@ dd.answer div.label { float: left; }
 <a class="xref" href="GuideOptionsMain.html" title="Preferences">Preferences</a><div class="autotoc"><ul>
 <li><a class="xref" href="GuideOptionsGeneral.html" title="General Options">General Options</a></li>
 <li><a class="xref" href="GuideOptionsImage.html" title="Image Options">Image Options</a></li>
+<li><a class="xref" href="GuideOptionsOSD.html" title="OverlayScreen Display">OverlayScreen Display</a></li>
 <li><a class="xref" href="GuideOptionsWindow.html" title="Window Options">Window Options</a></li>
 <li><a class="xref" href="GuideOptionsKeyboard.html" title="Keyboard Options">Keyboard Options</a></li>
 <li><a class="xref" href="GuideOptionsFiltering.html" title="Files Options">Files Options</a></li>
index 5d7939c..261026f 100644 (file)
@@ -431,6 +431,7 @@ dd.answer div.label { float: left; }
 <a class="xref" href="GuideOptionsMain.html" title="Preferences">Preferences</a><div class="autotoc"><ul>
 <li><a class="xref" href="GuideOptionsGeneral.html" title="General Options">General Options</a></li>
 <li><a class="xref" href="GuideOptionsImage.html" title="Image Options">Image Options</a></li>
+<li><a class="xref" href="GuideOptionsOSD.html" title="OverlayScreen Display">OverlayScreen Display</a></li>
 <li><a class="xref" href="GuideOptionsWindow.html" title="Window Options">Window Options</a></li>
 <li><a class="xref" href="GuideOptionsKeyboard.html" title="Keyboard Options">Keyboard Options</a></li>
 <li>Files Options</li>
@@ -461,17 +462,17 @@ dd.answer div.label { float: left; }
 <p class="para block"></p>
 <div class="autotoc"><ul>
 <li>
-<span class="label">11.5.1. </span><a class="xref" href="GuideOptionsFiltering.html#Filters" title="Filters">Filters</a>
+<span class="label">11.6.1. </span><a class="xref" href="GuideOptionsFiltering.html#Filters" title="Filters">Filters</a>
 </li>
 <li>
-<span class="label">11.5.2. </span><a class="xref" href="GuideOptionsFiltering.html#Groupingsidecarextensions" title="Grouping sidecar extensions">Grouping sidecar extensions</a>
+<span class="label">11.6.2. </span><a class="xref" href="GuideOptionsFiltering.html#Groupingsidecarextensions" title="Grouping sidecar extensions">Grouping sidecar extensions</a>
 </li>
 <li>
-<span class="label">11.5.3. </span><a class="xref" href="GuideOptionsFiltering.html#Filetypes" title="File types">File types</a>
+<span class="label">11.6.3. </span><a class="xref" href="GuideOptionsFiltering.html#Filetypes" title="File types">File types</a>
 </li>
 </ul></div>
 <div class="division section">
-<a name="Filters"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.5.1. </span>Filters</span></h2></div>
+<a name="Filters"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.6.1. </span>Filters</span></h2></div>
 <div class="block list variablelist"><dl class="variablelist">
 <dt class="term dt-first">
           <span class="guilabel">Show hidden files or folders</span>
@@ -518,7 +519,7 @@ dd.answer div.label { float: left; }
 <p class="para block"></p>
 </div>
 <div class="division section">
-<a name="Groupingsidecarextensions"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.5.2. </span>Grouping sidecar extensions</span></h2></div>
+<a name="Groupingsidecarextensions"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.6.2. </span>Grouping sidecar extensions</span></h2></div>
 <p class="para block block-first">This field defines which extensions will lead to file grouping. Grouped files will appear as a single entry in file views. This is useful, for example, when browsing directories containing two files for the same image (such as raw+jpeg files generated by some cameras).</p>
 <p class="para block">The group is represented by the first extension in the list for which a file exists.</p>
 <p class="para block">
@@ -562,7 +563,7 @@ dd.answer div.label { float: left; }
 <p class="para block"></p>
 </div>
 <div class="division section">
-<a name="Filetypes"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.5.3. </span>File types</span></h2></div>
+<a name="Filetypes"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.6.3. </span>File types</span></h2></div>
 <p class="para block block-first">
       This list contains the image formats that are understood by Geeqie. To disable a specific file type from being displayed, uncheck it's corresponding check-box. Filters can be edited by first selecting the line containing the item to be changed, then clicking the filter or description field, making any changes, then pressing
       <span class="keycap">Enter</span>
index c31fedf..d9aa53d 100644 (file)
@@ -431,6 +431,7 @@ dd.answer div.label { float: left; }
 <a class="xref" href="GuideOptionsMain.html" title="Preferences">Preferences</a><div class="autotoc"><ul>
 <li>General Options</li>
 <li><a class="xref" href="GuideOptionsImage.html" title="Image Options">Image Options</a></li>
+<li><a class="xref" href="GuideOptionsOSD.html" title="OverlayScreen Display">OverlayScreen Display</a></li>
 <li><a class="xref" href="GuideOptionsWindow.html" title="Window Options">Window Options</a></li>
 <li><a class="xref" href="GuideOptionsKeyboard.html" title="Keyboard Options">Keyboard Options</a></li>
 <li><a class="xref" href="GuideOptionsFiltering.html" title="Files Options">Files Options</a></li>
index 5124697..bbbd9e0 100644 (file)
@@ -4,7 +4,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <title>Image Options</title>
 <link rel="previous" href="GuideOptionsGeneral.html" title="General Options">
-<link rel="next" href="GuideOptionsWindow.html" title="Window Options">
+<link rel="next" href="GuideOptionsOSD.html" title="OverlayScreen Display">
 <link rel="top" href="GuideIndex.html" title="The Geeqie User Manual">
 <style type="text/css">
 
@@ -411,7 +411,7 @@ dd.answer div.label { float: left; }
 <body>
 <div class="navbar navbar-top"><table class="navbar"><tr>
 <td class="navbar-prev"><a class="navbar-prev" href="GuideOptionsGeneral.html" title="General Options">General Options</a></td>
-<td class="navbar-next"><a class="navbar-next" href="GuideOptionsWindow.html" title="Window Options">Window Options</a></td>
+<td class="navbar-next"><a class="navbar-next" href="GuideOptionsOSD.html" title="OverlayScreen Display">OverlayScreen Display</a></td>
 </tr></table></div>
 <div class="sidebar"><div class="sidenav"><div class="autotoc"><ul>
 <li><a href="GuideIndex-info.html" title="About This Document">About This Document</a></li>
@@ -431,6 +431,7 @@ dd.answer div.label { float: left; }
 <a class="xref" href="GuideOptionsMain.html" title="Preferences">Preferences</a><div class="autotoc"><ul>
 <li><a class="xref" href="GuideOptionsGeneral.html" title="General Options">General Options</a></li>
 <li>Image Options</li>
+<li><a class="xref" href="GuideOptionsOSD.html" title="OverlayScreen Display">OverlayScreen Display</a></li>
 <li><a class="xref" href="GuideOptionsWindow.html" title="Window Options">Window Options</a></li>
 <li><a class="xref" href="GuideOptionsKeyboard.html" title="Keyboard Options">Keyboard Options</a></li>
 <li><a class="xref" href="GuideOptionsFiltering.html" title="Files Options">Files Options</a></li>
@@ -608,7 +609,7 @@ dd.answer div.label { float: left; }
 </div></div>
 <div class="navbar navbar-bottom"><table class="navbar"><tr>
 <td class="navbar-prev"><a class="navbar-prev" href="GuideOptionsGeneral.html" title="General Options">General Options</a></td>
-<td class="navbar-next"><a class="navbar-next" href="GuideOptionsWindow.html" title="Window Options">Window Options</a></td>
+<td class="navbar-next"><a class="navbar-next" href="GuideOptionsOSD.html" title="OverlayScreen Display">OverlayScreen Display</a></td>
 </tr></table></div>
 </body>
 </html>
index 47e2457..92c63e4 100644 (file)
@@ -431,6 +431,7 @@ dd.answer div.label { float: left; }
 <a class="xref" href="GuideOptionsMain.html" title="Preferences">Preferences</a><div class="autotoc"><ul>
 <li><a class="xref" href="GuideOptionsGeneral.html" title="General Options">General Options</a></li>
 <li><a class="xref" href="GuideOptionsImage.html" title="Image Options">Image Options</a></li>
+<li><a class="xref" href="GuideOptionsOSD.html" title="OverlayScreen Display">OverlayScreen Display</a></li>
 <li><a class="xref" href="GuideOptionsWindow.html" title="Window Options">Window Options</a></li>
 <li>Keyboard Options</li>
 <li><a class="xref" href="GuideOptionsFiltering.html" title="Files Options">Files Options</a></li>
index 36631d2..898d4f1 100644 (file)
@@ -431,6 +431,7 @@ dd.answer div.label { float: left; }
 <a class="xref" href="GuideOptionsMain.html" title="Preferences">Preferences</a><div class="autotoc"><ul>
 <li><a class="xref" href="GuideOptionsGeneral.html" title="General Options">General Options</a></li>
 <li><a class="xref" href="GuideOptionsImage.html" title="Image Options">Image Options</a></li>
+<li><a class="xref" href="GuideOptionsOSD.html" title="OverlayScreen Display">OverlayScreen Display</a></li>
 <li><a class="xref" href="GuideOptionsWindow.html" title="Window Options">Window Options</a></li>
 <li><a class="xref" href="GuideOptionsKeyboard.html" title="Keyboard Options">Keyboard Options</a></li>
 <li><a class="xref" href="GuideOptionsFiltering.html" title="Files Options">Files Options</a></li>
@@ -461,19 +462,19 @@ dd.answer div.label { float: left; }
 <p class="para block"></p>
 <div class="autotoc"><ul>
 <li>
-<span class="label">11.7.1. </span><a class="xref" href="GuideOptionsKeywords.html#KeywordSearch" title="Keyword Search">Keyword Search</a>
+<span class="label">11.8.1. </span><a class="xref" href="GuideOptionsKeywords.html#KeywordSearch" title="Keyword Search">Keyword Search</a>
 </li>
 <li>
-<span class="label">11.7.2. </span><a class="xref" href="GuideOptionsKeywords.html#KeywordList" title="Keyword List">Keyword List</a>
+<span class="label">11.8.2. </span><a class="xref" href="GuideOptionsKeywords.html#KeywordList" title="Keyword List">Keyword List</a>
 </li>
 </ul></div>
 <div class="division section">
-<a name="KeywordSearch"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.7.1. </span>Keyword Search</span></h2></div>
+<a name="KeywordSearch"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.8.1. </span>Keyword Search</span></h2></div>
 <p class="para block block-first"></p>
 <p class="para block">Pressing the Search button will open a dialog which permits a recursive search to be made for keywords already attached to images. The result of the search is automatically appended to the existing list.</p>
 </div>
 <div class="division section">
-<a name="KeywordList"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.7.2. </span>Keyword List</span></h2></div>
+<a name="KeywordList"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.8.2. </span>Keyword List</span></h2></div>
 <p class="para block block-first"></p>
 <p class="para block">
       The list shows all keywords currently used for autocompletion. Text may be copy-pasted into the list or deleted from the list.
index 8c02d80..00ac232 100644 (file)
@@ -430,6 +430,7 @@ dd.answer div.label { float: left; }
 <li>Preferences<div class="autotoc"><ul>
 <li><a class="xref" href="GuideOptionsGeneral.html" title="General Options">General Options</a></li>
 <li><a class="xref" href="GuideOptionsImage.html" title="Image Options">Image Options</a></li>
+<li><a class="xref" href="GuideOptionsOSD.html" title="OverlayScreen Display">OverlayScreen Display</a></li>
 <li><a class="xref" href="GuideOptionsWindow.html" title="Window Options">Window Options</a></li>
 <li><a class="xref" href="GuideOptionsKeyboard.html" title="Keyboard Options">Keyboard Options</a></li>
 <li><a class="xref" href="GuideOptionsFiltering.html" title="Files Options">Files Options</a></li>
@@ -474,31 +475,34 @@ dd.answer div.label { float: left; }
 <span class="label">11.2. </span><a class="xref" href="GuideOptionsImage.html" title="Image Options">Image Options</a>
 </li>
 <li>
-<span class="label">11.3. </span><a class="xref" href="GuideOptionsWindow.html" title="Window Options">Window Options</a>
+<span class="label">11.3. </span><a class="xref" href="GuideOptionsOSD.html" title="OverlayScreen Display">OverlayScreen Display</a>
 </li>
 <li>
-<span class="label">11.4. </span><a class="xref" href="GuideOptionsKeyboard.html" title="Keyboard Options">Keyboard Options</a>
+<span class="label">11.4. </span><a class="xref" href="GuideOptionsWindow.html" title="Window Options">Window Options</a>
 </li>
 <li>
-<span class="label">11.5. </span><a class="xref" href="GuideOptionsFiltering.html" title="Files Options">Files Options</a>
+<span class="label">11.5. </span><a class="xref" href="GuideOptionsKeyboard.html" title="Keyboard Options">Keyboard Options</a>
 </li>
 <li>
-<span class="label">11.6. </span><a class="xref" href="GuideOptionsMetadata.html" title="Metadata">Metadata</a>
+<span class="label">11.6. </span><a class="xref" href="GuideOptionsFiltering.html" title="Files Options">Files Options</a>
 </li>
 <li>
-<span class="label">11.7. </span><a class="xref" href="GuideOptionsKeywords.html" title="Keywords">Keywords</a>
+<span class="label">11.7. </span><a class="xref" href="GuideOptionsMetadata.html" title="Metadata">Metadata</a>
 </li>
 <li>
-<span class="label">11.8. </span><a class="xref" href="GuideOptionsColor.html" title="Color management options">Color management options</a>
+<span class="label">11.8. </span><a class="xref" href="GuideOptionsKeywords.html" title="Keywords">Keywords</a>
 </li>
 <li>
-<span class="label">11.9. </span><a class="xref" href="GuideOptionsStereo.html" title="Stereo image management">Stereo image management</a>
+<span class="label">11.9. </span><a class="xref" href="GuideOptionsColor.html" title="Color management options">Color management options</a>
 </li>
 <li>
-<span class="label">11.10. </span><a class="xref" href="GuideOptionsBehavior.html" title="Behavior Options">Behavior Options</a>
+<span class="label">11.10. </span><a class="xref" href="GuideOptionsStereo.html" title="Stereo image management">Stereo image management</a>
 </li>
 <li>
-<span class="label">11.11. </span><a class="xref" href="GuideOptionsToolbar.html" title="Toolbar">Toolbar</a>
+<span class="label">11.11. </span><a class="xref" href="GuideOptionsBehavior.html" title="Behavior Options">Behavior Options</a>
+</li>
+<li>
+<span class="label">11.12. </span><a class="xref" href="GuideOptionsToolbar.html" title="Toolbar">Toolbar</a>
 </li>
 </ul></div>
 </div></div>
index af633f6..be3f4d7 100644 (file)
@@ -431,6 +431,7 @@ dd.answer div.label { float: left; }
 <a class="xref" href="GuideOptionsMain.html" title="Preferences">Preferences</a><div class="autotoc"><ul>
 <li><a class="xref" href="GuideOptionsGeneral.html" title="General Options">General Options</a></li>
 <li><a class="xref" href="GuideOptionsImage.html" title="Image Options">Image Options</a></li>
+<li><a class="xref" href="GuideOptionsOSD.html" title="OverlayScreen Display">OverlayScreen Display</a></li>
 <li><a class="xref" href="GuideOptionsWindow.html" title="Window Options">Window Options</a></li>
 <li><a class="xref" href="GuideOptionsKeyboard.html" title="Keyboard Options">Keyboard Options</a></li>
 <li><a class="xref" href="GuideOptionsFiltering.html" title="Files Options">Files Options</a></li>
@@ -471,26 +472,26 @@ dd.answer div.label { float: left; }
   </p>
 <div class="autotoc"><ul>
 <li>
-<span class="label">11.6.1. </span><a class="xref" href="GuideOptionsMetadata.html#MetadataWritingProcess" title="Metadata writing process">Metadata writing process</a>
+<span class="label">11.7.1. </span><a class="xref" href="GuideOptionsMetadata.html#MetadataWritingProcess" title="Metadata writing process">Metadata writing process</a>
 </li>
 <li>
-<span class="label">11.6.2. </span><a class="xref" href="GuideOptionsMetadata.html#WriteToImageFiles" title="Step 1: Write to image files">Step 1: Write to image files</a>
+<span class="label">11.7.2. </span><a class="xref" href="GuideOptionsMetadata.html#WriteToImageFiles" title="Step 1: Write to image files">Step 1: Write to image files</a>
 </li>
 <li>
-<span class="label">11.6.3. </span><a class="xref" href="GuideOptionsMetadata.html#WriteToGeeqiePrivateFiles" title="Steps 2 and 3: Write to Geeqie private files">Steps 2 and 3: Write to Geeqie private files</a>
+<span class="label">11.7.3. </span><a class="xref" href="GuideOptionsMetadata.html#WriteToGeeqiePrivateFiles" title="Steps 2 and 3: Write to Geeqie private files">Steps 2 and 3: Write to Geeqie private files</a>
 </li>
 <li>
-<span class="label">11.6.4. </span><a class="xref" href="GuideOptionsMetadata.html#MetadataMiscellaneous" title="Miscellaneous">Miscellaneous</a>
+<span class="label">11.7.4. </span><a class="xref" href="GuideOptionsMetadata.html#MetadataMiscellaneous" title="Miscellaneous">Miscellaneous</a>
 </li>
 <li>
-<span class="label">11.6.5. </span><a class="xref" href="GuideOptionsMetadata.html#AutoSaveOptions" title="Auto-save options">Auto-save options</a>
+<span class="label">11.7.5. </span><a class="xref" href="GuideOptionsMetadata.html#AutoSaveOptions" title="Auto-save options">Auto-save options</a>
 </li>
 <li>
-<span class="label">11.6.6. </span><a class="xref" href="GuideOptionsMetadata.html#PreLoadMetadata" title="Pre-load metadata">Pre-load metadata</a>
+<span class="label">11.7.6. </span><a class="xref" href="GuideOptionsMetadata.html#PreLoadMetadata" title="Pre-load metadata">Pre-load metadata</a>
 </li>
 </ul></div>
 <div class="division section">
-<a name="MetadataWritingProcess"></a><div class="header"><h2 class="section title"><span class="title"><a name="titleMetadataWritingProcess"></a><span class="label">11.6.1. </span>Metadata writing process</span></h2></div>
+<a name="MetadataWritingProcess"></a><div class="header"><h2 class="section title"><span class="title"><a name="titleMetadataWritingProcess"></a><span class="label">11.7.1. </span>Metadata writing process</span></h2></div>
 <p class="para block block-first">
       When writing metadata, Geeqie will follow three steps. This process will stop when the first successful write occurs.
       <div class="block list orderedlist"><ol class="orderedlist">
@@ -521,7 +522,7 @@ dd.answer div.label { float: left; }
 <p class="para block">When writing to local metadata folders, the directory structure duplicates that of the location of the source files.</p>
 </div>
 <div class="division section">
-<a name="WriteToImageFiles"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.6.2. </span>Step 1: Write to image files</span></h2></div>
+<a name="WriteToImageFiles"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.7.2. </span>Step 1: Write to image files</span></h2></div>
 <p class="para block block-first">If Step 1 above was successful, the following options take effect:</p>
 <div class="block list itemizedlist"><ul class="itemizedlist">
 <li class="li-first">
@@ -556,7 +557,7 @@ dd.answer div.label { float: left; }
 </ul></div>
 </div>
 <div class="division section">
-<a name="WriteToGeeqiePrivateFiles"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.6.3. </span>Steps 2 and 3: Write to Geeqie private files</span></h2></div>
+<a name="WriteToGeeqiePrivateFiles"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.7.3. </span>Steps 2 and 3: Write to Geeqie private files</span></h2></div>
 <p class="para block block-first">If Step 2 or 3 above was successful, the following option takes effect:</p>
 <div class="block list itemizedlist"><ul class="itemizedlist"><li class="li-first">
         <span class="para">
@@ -567,7 +568,7 @@ dd.answer div.label { float: left; }
       </li></ul></div>
 </div>
 <div class="division section">
-<a name="MetadataMiscellaneous"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.6.4. </span>Miscellaneous</span></h2></div>
+<a name="MetadataMiscellaneous"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.7.4. </span>Miscellaneous</span></h2></div>
 <div class="block list itemizedlist"><ul class="itemizedlist">
 <li class="li-first">
         <p class="para block block-first">
@@ -606,7 +607,7 @@ dd.answer div.label { float: left; }
 <p class="para block"></p>
 </div>
 <div class="division section">
-<a name="AutoSaveOptions"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.6.5. </span>Auto-save options</span></h2></div>
+<a name="AutoSaveOptions"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.7.5. </span>Auto-save options</span></h2></div>
 <div class="block list itemizedlist"><ul class="itemizedlist">
 <li class="li-first">
         <span class="para">
@@ -633,7 +634,7 @@ dd.answer div.label { float: left; }
 <p class="para block"></p>
 </div>
 <div class="division section">
-<a name="PreLoadMetadata"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.6.6. </span>Pre-load metadata</span></h2></div>
+<a name="PreLoadMetadata"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.7.6. </span>Pre-load metadata</span></h2></div>
 <div class="block list itemizedlist"><ul class="itemizedlist"><li class="li-first">
         <span class="para">
           <span class="guilabel">Read metadata in background</span>
diff --git a/web/help/GuideOptionsOSD.html b/web/help/GuideOptionsOSD.html
new file mode 100644 (file)
index 0000000..e747b31
--- /dev/null
@@ -0,0 +1,688 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>OverlayScreen Display</title>
+<link rel="previous" href="GuideOptionsImage.html" title="Image Options">
+<link rel="next" href="GuideOptionsWindow.html" title="Window Options">
+<link rel="top" href="GuideIndex.html" title="The Geeqie User Manual">
+<style type="text/css">
+
+html { height: 100%; }
+body {
+  margin: 0px; padding: 12px;
+  background-color: #f9f9f6;
+  min-height: 100%;
+  direction: ltr;
+}
+div, p, pre, blockquote { margin: 0; padding: 0; }
+p img { vertical-align: middle; }
+sub { font-size: 0.83em; }
+sub sub { font-size: 1em; }
+sup { font-size: 0.83em; }
+sup sup { font-size: 1em; }
+table { border-collapse: collapse; }
+table.table-pgwide { width: 100%; }
+td { vertical-align: top; }
+td { padding: 0.2em 0.83em 0.2em 0.83em; }
+th { padding: 0 0.83em 0 0.83em; }
+tr.tr-shade {
+  background-color: #f9f9f6;
+}
+td.td-colsep { border-right: solid 1px; }
+td.td-rowsep { border-bottom: solid 1px; }
+thead { border-top: solid 2px; border-bottom: solid 2px; }
+tfoot { border-top: solid 2px; border-bottom: solid 2px; }
+div.body {
+  padding: 1em;
+  max-width: 60em;
+  background-color: #ffffff;
+  border: solid 1px #e0e0df;
+}
+div.body-sidebar {
+  margin-right: 13em;
+}
+div.division div.division { margin-top: 1.72em; }
+div.division div.division div.division { margin-top: 1.44em; }
+div.header {
+  margin: 0;
+  color: #3f3f3f;
+  border-bottom: solid 1px #e0e0df;
+}
+h1, h2, h3, h4, h5, h6, h7 {
+  margin: 0; padding: 0;
+  color: #3f3f3f;
+}
+h1.title { font-size: 1.72em; }
+h2.title { font-size: 1.44em; }
+h3.title { font-size: 1.2em; }
+h4.title, h5.title, h6.title, h7.title { font-size: 1em; }
+.block { margin-top: 1em; }
+.block .block-first { margin-top: 0; }
+.block-indent {
+  margin-left left: 1.72em;
+  margin-: 1em;
+}
+.block-indent .block-indent { margin-left: 0em; margin-right: 0em; }
+td .block-indent  { margin-left: 0em; margin-right: 0em; }
+dd .block-indent  { margin-left: 0em; margin-right: 0em; }
+.block-verbatim { white-space: pre; }
+div.title {
+  margin-bottom: 0.2em;
+  font-weight: bold;
+  color: #3f3f3f;
+}
+div.title-formal { padding-left: 0.2em; padding-right: 0.2em; }
+div.title-formal .label { font-weight: normal; }
+a {
+  color: #1f609f;
+  text-decoration: none;
+}
+a:hover { text-decoration: underline; }
+a:visited { color: #9f1f6f; }
+ul, ol, dl { margin: 0; padding: 0; }
+li {
+  margin-top: 1em;
+  margin-left: 2.4em;
+  padding: 0;
+}
+li.li-first { margin-top: 0; }
+dt { margin: 1em 0 0 0; }
+dt.dt-first { margin: 0; }
+dd {
+  margin-left: 1.72em;
+  margin-top: 0.5em;
+}
+dl.dl-compact dt { margin-top: 0; }
+dl.dl-compact dd { margin-top: 0; margin-bottom: 0; }
+
+
+ul.linktrail {
+  display: block;
+  margin: 0.2em 0 0 0;
+  text-align: right;
+}
+li.linktrail { display: inline; margin: 0; padding: 0; }
+
+li.linktrail::before {
+  content: '  /  ';
+  color: #3f3f3f;
+}
+
+li.linktrail-first::before, li.linktrail-only::before { content: ''; }
+
+
+div.navbar {
+  padding: 0.5em 1em 0.5em 1em;
+  max-width: 60em;
+  background-color: #ffffff;
+  border: solid 1px #e0e0df;
+}
+div.navbar-top { margin-bottom: 1em; }
+div.navbar-bottom { margin-top: 1em; clear: both; }
+div.navbar img { border: 0; vertical-align: -0.4em; }
+table.navbar { width: 100%; margin: 0; border: none; }
+table.navbar td { padding: 0; border: none; }
+td.navbar-next {
+  text-align: right;
+}
+a.navbar-prev::before {
+  
+  content: '◀  ';
+  color: #3f3f3f;
+}
+a.navbar-next::after {
+  
+  content: '  ▶';
+  color: #3f3f3f;
+}
+
+
+div.sidebar {
+  float: right;
+  padding: 0; margin: 0; width: 12em;
+}
+div.sidenav {
+  padding: 0.5em 1em 0 1em;
+  background-color: #ffffff;
+  border: solid 1px #e0e0df;
+}
+div.sidenav div.autotoc {
+  background-color: #ffffff;
+  border: none; padding: 0; margin: 0;
+}
+div.sidenav div.autotoc div.autotoc { margin-top: 0.5em; }
+div.sidenav div.autotoc li { margin-bottom: 0.5em; }
+div.sidenav div.autotoc div.autotoc div.autotoc {
+  margin-left: 1em;
+  margin-top: 0;
+}
+div.sidenav div.autotoc div.autotoc div.autotoc li { margin-bottom: 0; }
+
+
+div.autotoc {
+  
+  display: table;
+  margin-top: 1em;
+  margin-left: 1.72em;
+  padding: 0.5em 1em 0.5em 1em;
+  background-color: #f0f9ff;
+  border: solid 1px #c0c9ff;
+}
+div.autotoc ul { margin: 0; padding: 0; }
+div.autotoc li { list-style-type: none; margin: 0; }
+div.autotoc div.autotoc-title { margin-bottom: 0.5em; }
+div.autotoc div.autotoc { border: none; padding: 0; margin-top: 0; margin-bottom: 0.5em; }
+div.autotoc div.autotoc div.autotoc { margin-bottom: 0; }
+
+
+span.bibliolabel {
+  color: #3f3f3f;
+}
+
+
+div.admonition {
+  padding: 0.5em 6px 0.5em 6px;
+  border: solid 1px #e0e0df;
+  background-color: #fffff0;
+}
+div.caution-inner, div.important-inner, div.note-inner, div.tip-inner, div.warning-inner {
+  padding-left: 60px;
+  background-position: left top;
+  background-repeat: no-repeat;
+  min-height: 48px;
+}
+div.caution-inner { background-image: url("admon-caution.png"); }
+div.important-inner { background-image: url("admon-important.png"); }
+div.note-inner { background-image: url("admon-note.png"); }
+div.note-bug div.note-inner { background-image: url("admon-bug.png"); }
+div.tip-inner { background-image: url("admon-tip.png"); }
+div.warning-inner { background-image: url("admon-warning.png"); }
+div.blockquote {
+  
+  background-image: url('watermark-blockquote-201C.png');
+  background-repeat: no-repeat;
+  background-position: top left;
+  padding: 0.5em;
+  padding-left: 4em;
+}
+div.attribution {
+  margin-top: 0.5em;
+  color: #3f3f3f;
+}
+div.attribution::before {
+  
+  content: '― ';
+}
+div.epigraph {
+  text-align: right;
+  margin-left: 20%;
+  margin-right: 0;
+  color: #3f3f3f;
+}
+div.figure, div.informalfigure {
+  
+  display: table;
+  padding: 0.5em;
+  background-color: #f9f9f6;
+  border: solid 1px #e0e0df;
+}
+div.figure-inner, div.informalfigure-inner {
+  padding: 0.5em;
+  background-color: #ffffff;
+  border: solid 1px #e0e0df;
+}
+div.caption { margin-top: 0.5em; }
+div.programlisting {
+  padding: 0.5em;
+  
+  background-color: #f9f9f6;
+  border: solid 1px #e0e0df;
+}
+div.screen {
+  padding: 0.5em;
+  
+  background-color: #f9f9f6;
+  border: solid 1px #e0e0df;
+}
+div.screen .prompt {
+  color: #3f3f3f;
+}
+div.screen .userinput {
+  font-weight: bold;
+  color: #3f3f3f;
+}
+div.programlisting .userinput {
+  font-weight: bold;
+  color: #3f3f3f;
+}
+pre.linenumbering {
+  color: #3f3f3f;
+  margin: 0;
+  padding-right: 1em;
+  float: left;
+  text-align: right;
+}
+
+
+
+dl.index dt { margin-top: 0; }
+dl.index dd { margin-top: 0; margin-bottom: 0; }
+dl.indexdiv dt { margin-top: 0; }
+dl.indexdiv dd { margin-top: 0; margin-bottom: 0; }
+dl.setindex dt { margin-top: 0; }
+dl.setindex dd { margin-top: 0; margin-bottom: 0; }
+div.list div.title-formal span.title {
+  border-bottom: solid 1px #e0e0df;
+}
+div.simplelist {
+  margin-left: 1.72em;
+}
+div.simplelist table { margin-left: 0; border: none; }
+div.simplelist td {
+  padding: 0.5em;
+  border-left: solid 1px #e0e0df;
+}
+div.simplelist td.td-first {
+  padding-left: 0;
+  border-left: 0;
+}
+div.synopsis {
+  padding: 0.5em;
+  
+  background-color: #f9f9f6;
+  border-top: solid 2px #c0c9ff;
+  border-bottom: solid 2px #c0c9ff;
+}
+div.synopsis div.synopsis {
+  padding: 0;
+  border: none;
+}
+div.synopsis div.block { margin-top: 0.2em; }
+div.synopsis div.block-first { margin-top: 0; }
+div.cmdsynopsis { font-family: monospace; }
+
+span.accel { text-decoration: underline; }
+span.acronym { font-family: sans-serif; }
+span.application { font-style: italic; }
+span.classname, span.exceptionname, span.interfacename { font-family: monospace; }
+span.code {
+  font-family: monospace;
+  border: solid 1px #e0e0df;
+  padding-left: 0.2em;
+  padding-right: 0.2em;
+}
+pre span.code { border: none; padding: 0; }
+span.command {
+  font-family: monospace;
+  border: solid 1px #e0e0df;
+  padding-left: 0.2em;
+  padding-right: 0.2em;
+}
+pre span.command { border: none; padding: 0; }
+span.computeroutput { font-family: monospace; }
+
+span.constant { font-family: monospace; }
+span.database { font-family: monospace; }
+span.email { font-family: monospace; }
+span.emphasis { font-style: italic; }
+span.emphasis-bold { font-style: normal; font-weight: bold; }
+span.envar { font-family: monospace; }
+
+span.filename { font-family: monospace; }
+span.firstterm { font-style: italic; }
+span.foreignphrase { font-style: italic; }
+span.function { font-family: monospace; }
+
+dt.glossterm span.glossterm { font-style: normal; }
+
+
+span.glossterm { font-style: italic; }
+
+span.guibutton, span.guilabel, span.guimenu, span.guimenuitem, span.guisubmenu, span.interface {
+  font-weight: bold;
+  color: #3f3f3f;
+}
+span.keycap {
+  font-weight: bold;
+  color: #3f3f3f;
+}
+span.lineannotation { font-style: italic; }
+span.literal { font-family: monospace; }
+span.markup  { font-family: monospace; }
+span.medialabel { font-style: italic; }
+span.methodname { font-family: monospace; }
+span.ooclass, span.ooexception, span.oointerface { font-family: monospace; }
+span.option { font-family: monospace; }
+span.parameter { font-family: monospace; }
+span.paramdef span.parameter { font-style: italic; }
+span.prompt { font-family: monospace; }
+span.property { font-family: monospace; }
+span.replaceable  { font-style: italic; }
+span.returnvalue { font-family: monospace; }
+span.sgmltag { font-family: monospace; }
+span.structfield, span.structname { font-family: monospace; }
+span.symbol { font-family: monospace; }
+span.systemitem { font-family: monospace; }
+span.token { font-family: monospace; }
+span.type { font-family: monospace; }
+span.uri { font-family: monospace; }
+span.userinput { font-family: monospace; }
+span.varname { font-family: monospace; }
+span.wordasword { font-style: italic; }
+
+
+
+div.footnotes { font-style: italic; font-size: 0.8em; }
+div.footnote { margin-top: 1.44em; }
+span.footnote-number { display: inline; padding-right: 0.83em; }
+span.footnote-number + p { display: inline; }
+a.footnote { text-decoration: none; font-size: 0.8em; }
+a.footnote-ref { text-decoration: none; }
+
+span.co {
+  margin-left: 0.2em; margin-right: 0.2em;
+  padding-left: 0.4em; padding-right: 0.4em;
+  border: solid 1px #000000;
+  -moz-border-radius: 8px;
+  background-color: #000000;
+  color: #FFFFFF;
+  font-size: 8px;
+}
+span.co:hover {
+  border-color: #333333;
+  background-color: #333333;
+  color: #FFFFFF;
+}
+span.co a { text-decoration: none; }
+span.co a:hover { text-decoration: none; }
+
+dt.question { margin-left: 0em; }
+dt.question div.label { float: left; }
+dd + dt.question { margin-top: 1em; }
+dd.answer {
+  margin-top: 1em;
+  margin-left: 2em;
+  margin-right: 1em;
+}
+dd.answer div.label { float: left; }
+</style>
+</head>
+<body>
+<div class="navbar navbar-top"><table class="navbar"><tr>
+<td class="navbar-prev"><a class="navbar-prev" href="GuideOptionsImage.html" title="Image Options">Image Options</a></td>
+<td class="navbar-next"><a class="navbar-next" href="GuideOptionsWindow.html" title="Window Options">Window Options</a></td>
+</tr></table></div>
+<div class="sidebar"><div class="sidenav"><div class="autotoc"><ul>
+<li><a href="GuideIndex-info.html" title="About This Document">About This Document</a></li>
+<li>
+<a class="xref" href="GuideIndex.html" title="The Geeqie User Manual">The Geeqie User Manual</a><div class="autotoc"><ul>
+<li><a class="xref" href="GuideIntroduction.html" title="Introduction">Introduction</a></li>
+<li><a class="xref" href="GuideMainWindow.html" title="Main Window">Main Window</a></li>
+<li><a class="xref" href="GuideSidebars.html" title="Sidebars">Sidebars</a></li>
+<li><a class="xref" href="GuideOtherWindows.html" title="Stand-alone Windows">Stand-alone Windows</a></li>
+<li><a class="xref" href="GuideImageSearch.html" title="Search and Select">Search and Select</a></li>
+<li><a class="xref" href="GuideImageManagementPlugins.html" title="Plugins">Plugins</a></li>
+<li><a class="xref" href="GuideImageManagement.html" title="File Management">File Management</a></li>
+<li><a class="xref" href="GuideColorManagement.html" title="Color Management">Color Management</a></li>
+<li><a class="xref" href="GuideImagePresentation.html" title="Image Presentation">Image Presentation</a></li>
+<li><a class="xref" href="GuidePrinting.html" title="Printing">Printing</a></li>
+<li>
+<a class="xref" href="GuideOptionsMain.html" title="Preferences">Preferences</a><div class="autotoc"><ul>
+<li><a class="xref" href="GuideOptionsGeneral.html" title="General Options">General Options</a></li>
+<li><a class="xref" href="GuideOptionsImage.html" title="Image Options">Image Options</a></li>
+<li>OverlayScreen Display</li>
+<li><a class="xref" href="GuideOptionsWindow.html" title="Window Options">Window Options</a></li>
+<li><a class="xref" href="GuideOptionsKeyboard.html" title="Keyboard Options">Keyboard Options</a></li>
+<li><a class="xref" href="GuideOptionsFiltering.html" title="Files Options">Files Options</a></li>
+<li><a class="xref" href="GuideOptionsMetadata.html" title="Metadata">Metadata</a></li>
+<li><a class="xref" href="GuideOptionsKeywords.html" title="Keywords">Keywords</a></li>
+<li><a class="xref" href="GuideOptionsColor.html" title="Color management options">Color management options</a></li>
+<li><a class="xref" href="GuideOptionsStereo.html" title="Stereo image management">Stereo image management</a></li>
+<li><a class="xref" href="GuideOptionsBehavior.html" title="Behavior Options">Behavior Options</a></li>
+<li><a class="xref" href="GuideOptionsToolbar.html" title="Toolbar">Toolbar</a></li>
+</ul></div>
+</li>
+<li><a class="xref" href="GuideOptionsAdditional.html" title="Additional Preferences">Additional Preferences</a></li>
+<li><a class="xref" href="GuideReference.html" title="Reference">Reference</a></li>
+<li><a class="xref" href="GuideFaq.html" title="Frequently Asked Questions">Frequently Asked Questions</a></li>
+<li><a class="xref" href="GuideLicence.html" title="Licence">Licence</a></li>
+<li><a class="xref" href="GuideCredits.html" title="Credits">Credits</a></li>
+<li><a class="xref" href="GuideGnuFdl.html" title="GNU Free Documentation License">GNU Free Documentation License</a></li>
+</ul></div>
+</li>
+</ul></div></div></div>
+<div class="body body-sidebar"><div class="division section">
+<a name="GuideOptionsOSD"></a><div class="header"><h1 class="section title"><span class="title">OverlayScreen Display</span></h1></div>
+<ul class="linktrail">
+<li class="linktrail linktrail-first"><a class="linktrail" href="GuideIndex.html" title="The Geeqie User Manual">The Geeqie User Manual</a></li>
+<li class="linktrail linktrail-last"><a class="linktrail" href="GuideOptionsMain.html" title="Preferences">Preferences</a></li>
+</ul>
+<p class="para block block-first">This section describes the options presented under the OSD Tab of the preferences dialog.</p>
+<div class="autotoc"><ul><li>
+<span class="label">11.3.1. </span><a class="xref" href="GuideOptionsOSD.html#OverlayScreenDisplay" title="Overlay Screen Display">Overlay Screen Display</a>
+</li></ul></div>
+<div class="division section">
+<a name="OverlayScreenDisplay"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.3.1. </span>Overlay Screen Display</span></h2></div>
+<p class="para block block-first">The contents of the Overlay Screen Display is defined by the Image Overlay Template. This template is easily customised to  display a wide range of data.</p>
+<p class="para block">
+      The format of each entry is:
+      <div dir="ltr" class=" block programlisting block-indent block-first"><pre class="programlisting">%tag[:max_length][:extra]%</pre></div>
+    </p>
+<div class="table block block-indent"><table style="border: solid 1px;"><tbody>
+<tr>
+<td class="td-colsep td-rowsep">
+              <span class="emphasis emphasis-bold">Tag</span>
+            </td>
+<td class="td-rowsep">
+              <span class="emphasis emphasis-bold">Replaced by</span>
+            </td>
+</tr>
+<tr class="tr-shade">
+<td class="td-colsep td-rowsep">name</td>
+<td class="td-rowsep">Filename of the picture</td>
+</tr>
+<tr>
+<td class="td-colsep td-rowsep">collection</td>
+<td class="td-rowsep">Name of the collection</td>
+</tr>
+<tr class="tr-shade">
+<td class="td-colsep td-rowsep">number</td>
+<td class="td-rowsep">Current number of image in the list</td>
+</tr>
+<tr>
+<td class="td-colsep td-rowsep">total</td>
+<td class="td-rowsep">Total number of images</td>
+</tr>
+<tr class="tr-shade">
+<td class="td-colsep td-rowsep">date</td>
+<td class="td-rowsep">File date</td>
+</tr>
+<tr>
+<td class="td-colsep td-rowsep">size</td>
+<td class="td-rowsep">File size</td>
+</tr>
+<tr class="tr-shade">
+<td class="td-colsep td-rowsep">width</td>
+<td class="td-rowsep">Image width</td>
+</tr>
+<tr>
+<td class="td-colsep td-rowsep">height</td>
+<td class="td-rowsep">Image height</td>
+</tr>
+<tr class="tr-shade">
+<td class="td-colsep td-rowsep">res</td>
+<td class="td-rowsep">Image resolution</td>
+</tr>
+<tr>
+<td class="td-colsep td-rowsep">keywords</td>
+<td class="td-rowsep">Image keywords from metadata</td>
+</tr>
+<tr class="tr-shade">
+<td class="td-colsep td-rowsep">comment</td>
+<td class="td-rowsep">Image comment from XMP metadata</td>
+</tr>
+<tr>
+<td class="td-colsep td-rowsep">imagecomment</td>
+<td class="td-rowsep">JPEG image comment</td>
+</tr>
+<tr class="tr-shade">
+<td class="td-colsep td-rowsep">rating</td>
+<td class="td-rowsep">Image rating</td>
+</tr>
+<tr>
+<td class="td-colsep td-rowsep">&lt;meta_tag&gt;</td>
+<td class="td-rowsep">The Exif, XMP, or IPTC tag from metadata</td>
+</tr>
+<tr class="tr-shade">
+<td class="td-colsep td-rowsep">lua/&lt;lua_script&gt;/</td>
+<td class="td-rowsep">The output of a Lua script file</td>
+</tr>
+<tr>
+<td class="td-colsep">lua//&lt;lua_command&gt;</td>
+<td>The output of a Lua command</td>
+</tr>
+</tbody></table></div>
+<p class="para block">
+      As an aide, in addition to standard metadata tags, Geeqie provides a number of
+      <a class="link" href="GuideSidebarsInfo.html#formatted_exif" title="">pre-formatted tags</a>
+      .
+    </p>
+<p class="para block">Examples of usage are:</p>
+<p class="para block">
+      <div dir="ltr" class=" block programlisting block-indent block-first"><pre class="programlisting">        %keywords%
+        %Exif.Photo.DateTimeOriginal%
+        %lua/jpeg_comment.lua/:12%
+        %lua//return(os.date())%
+      </pre></div>
+    </p>
+<p class="para block">
+      Refer to
+      <a class="link" href="GuideReferenceLua.html" title="Lua Extensions">Lua Extensions</a>
+      for further information.
+    </p>
+<p class="para block">
+      The length of displayed data can be limited by using the
+      <span class="emphasis">:max_length</span>
+      parameter. The following example will truncate the displayed data to 20 characters and will add 3 dots at the end to denote the truncation.
+      <div dir="ltr" class=" block programlisting block-indent"><pre class="programlisting">%formatted.Camera:20%</pre></div>
+    </p>
+<p class="para block">
+      If two or more variables are connected with the
+      <span class="code" dir="ltr">|</span>
+      character, the variables are displayed with a separator. For example::
+      <div dir="ltr" class=" block programlisting block-indent"><pre class="programlisting">%formatted.ShutterSpeed%|%formatted.ISOSpeedRating%|%formatted.FocalLength%</pre></div>
+      could show:
+      <div dir="ltr" class=" block programlisting block-indent"><pre class="programlisting">"1/20s - 400 - 80 mm"</pre></div>
+      Or, if there is no ISO information in the Exif data:
+      <div dir="ltr" class=" block programlisting block-indent"><pre class="programlisting">"1/200 - 80 mm"</pre></div>
+    </p>
+<p class="para block">If there is no data for a requested tag, the line is not displayed.</p>
+<p class="para block">
+      The
+      <span class="emphasis">:extra</span>
+      parameter may be used to format the output by prepending and appending a text string to the displayed item.
+    </p>
+<p class="para block">
+      The special character
+      <span class="code" dir="ltr">*</span>
+      is used to mark the position of the Tag data item. If no
+      <span class="code" dir="ltr">*</span>
+      is present, the extra string is just appended to the standard data displayed. Any "\n" is replaced by a newline on display.
+      <a class="link" href="GuideReferenceStandards.html" title="Standards">Pango mark up</a>
+      is accepted in both left and right parts. If the data item is empty, nothing will be displayed.
+    </p>
+<p class="para block">Examples:</p>
+<div class="table block block-indent"><table style="border: solid 1px;"><tbody>
+<tr>
+<td class="td-colsep td-rowsep">
+              <span class="emphasis emphasis-bold">Template</span>
+            </td>
+<td class="td-rowsep">
+              <span class="emphasis emphasis-bold">Example display</span>
+            </td>
+</tr>
+<tr class="tr-shade">
+<td class="td-colsep td-rowsep">
+              %name:
+              &lt;i&gt;*&lt;/i&gt;\n%
+            </td>
+<td class="td-rowsep">
+              <span class="emphasis">filename001.jpg</span>
+            </td>
+</tr>
+<tr>
+<td class="td-colsep td-rowsep">%size:\n%</td>
+<td class="td-rowsep">123456</td>
+</tr>
+<tr class="tr-shade">
+<td class="td-colsep td-rowsep">%formatted.ISOSpeedRating:ISO *%</td>
+<td class="td-rowsep">ISO 100</td>
+</tr>
+<tr>
+<td class="td-colsep">
+              %collection:Collection:
+              &lt;b&gt;*&lt;/b&gt;
+              \n%
+            </td>
+<td>
+              Collection:
+              <span class="emphasis emphasis-bold">my_new_collection</span>
+            </td>
+</tr>
+</tbody></table></div>
+<p class="para block"></p>
+<div class="block list variablelist"><dl class="variablelist">
+<dt class="term dt-first">
+          <span class="guibutton">
+            <span class="guiicon">
+              <span class="inlinegraphic"><img src="preferences-desktop-font.png"></span>
+            </span>
+          </span>
+          <span class="guilabel">Font</span>
+          ,
+          <span class="guibutton">
+            <span class="guiicon">
+              <span class="inlinegraphic"><img src="gtk-color-picker.png"></span>
+            </span>
+          </span>
+          <span class="guilabel">Text</span>
+          ,
+          <span class="guibutton">
+            <span class="guiicon">
+              <span class="inlinegraphic"><img src="gtk-color-picker.png"></span>
+            </span>
+          </span>
+          <span class="guilabel">Background</span>
+        </dt>
+<dd>The font used for the Overlay Screen Display, as well as the font colour and background colour, may be set via these buttons. Colour transparency can also be set.</dd>
+</dl></div>
+<div class="block list variablelist"><dl class="variablelist">
+<dt class="term dt-first">
+          <span class="guibutton">
+            <span class="guiicon">
+              <span class="inlinegraphic"><img src="help-contents.png"></span>
+            </span>
+          </span>
+          <span class="guilabel">Help</span>
+        </dt>
+<dd>
+          <p class="para block block-first">Show syntax help</p>
+        </dd>
+</dl></div>
+<div class="block list variablelist"><dl class="variablelist">
+<dt class="term dt-first">
+          <span class="guilabel">Defaults</span>
+        </dt>
+<dd>
+          <p class="para block block-first">Restore default image overlay template</p>
+        </dd>
+</dl></div>
+</div>
+</div></div>
+<div class="navbar navbar-bottom"><table class="navbar"><tr>
+<td class="navbar-prev"><a class="navbar-prev" href="GuideOptionsImage.html" title="Image Options">Image Options</a></td>
+<td class="navbar-next"><a class="navbar-next" href="GuideOptionsWindow.html" title="Window Options">Window Options</a></td>
+</tr></table></div>
+</body>
+</html>
index fd4876a..284756c 100644 (file)
@@ -431,6 +431,7 @@ dd.answer div.label { float: left; }
 <a class="xref" href="GuideOptionsMain.html" title="Preferences">Preferences</a><div class="autotoc"><ul>
 <li><a class="xref" href="GuideOptionsGeneral.html" title="General Options">General Options</a></li>
 <li><a class="xref" href="GuideOptionsImage.html" title="Image Options">Image Options</a></li>
+<li><a class="xref" href="GuideOptionsOSD.html" title="OverlayScreen Display">OverlayScreen Display</a></li>
 <li><a class="xref" href="GuideOptionsWindow.html" title="Window Options">Window Options</a></li>
 <li><a class="xref" href="GuideOptionsKeyboard.html" title="Keyboard Options">Keyboard Options</a></li>
 <li><a class="xref" href="GuideOptionsFiltering.html" title="Files Options">Files Options</a></li>
index b9b167c..39324a6 100644 (file)
@@ -431,6 +431,7 @@ dd.answer div.label { float: left; }
 <a class="xref" href="GuideOptionsMain.html" title="Preferences">Preferences</a><div class="autotoc"><ul>
 <li><a class="xref" href="GuideOptionsGeneral.html" title="General Options">General Options</a></li>
 <li><a class="xref" href="GuideOptionsImage.html" title="Image Options">Image Options</a></li>
+<li><a class="xref" href="GuideOptionsOSD.html" title="OverlayScreen Display">OverlayScreen Display</a></li>
 <li><a class="xref" href="GuideOptionsWindow.html" title="Window Options">Window Options</a></li>
 <li><a class="xref" href="GuideOptionsKeyboard.html" title="Keyboard Options">Keyboard Options</a></li>
 <li><a class="xref" href="GuideOptionsFiltering.html" title="Files Options">Files Options</a></li>
index ee5984e..36b5ab6 100644 (file)
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <title>Window Options</title>
-<link rel="previous" href="GuideOptionsImage.html" title="Image Options">
+<link rel="previous" href="GuideOptionsOSD.html" title="OverlayScreen Display">
 <link rel="next" href="GuideOptionsKeyboard.html" title="Keyboard Options">
 <link rel="top" href="GuideIndex.html" title="The Geeqie User Manual">
 <style type="text/css">
@@ -410,7 +410,7 @@ dd.answer div.label { float: left; }
 </head>
 <body>
 <div class="navbar navbar-top"><table class="navbar"><tr>
-<td class="navbar-prev"><a class="navbar-prev" href="GuideOptionsImage.html" title="Image Options">Image Options</a></td>
+<td class="navbar-prev"><a class="navbar-prev" href="GuideOptionsOSD.html" title="OverlayScreen Display">OverlayScreen Display</a></td>
 <td class="navbar-next"><a class="navbar-next" href="GuideOptionsKeyboard.html" title="Keyboard Options">Keyboard Options</a></td>
 </tr></table></div>
 <div class="sidebar"><div class="sidenav"><div class="autotoc"><ul>
@@ -431,6 +431,7 @@ dd.answer div.label { float: left; }
 <a class="xref" href="GuideOptionsMain.html" title="Preferences">Preferences</a><div class="autotoc"><ul>
 <li><a class="xref" href="GuideOptionsGeneral.html" title="General Options">General Options</a></li>
 <li><a class="xref" href="GuideOptionsImage.html" title="Image Options">Image Options</a></li>
+<li><a class="xref" href="GuideOptionsOSD.html" title="OverlayScreen Display">OverlayScreen Display</a></li>
 <li>Window Options</li>
 <li><a class="xref" href="GuideOptionsKeyboard.html" title="Keyboard Options">Keyboard Options</a></li>
 <li><a class="xref" href="GuideOptionsFiltering.html" title="Files Options">Files Options</a></li>
@@ -460,20 +461,17 @@ dd.answer div.label { float: left; }
 <p class="para block block-first">This section describes the options presented under the Windows Tab of the preferences dialog.</p>
 <div class="autotoc"><ul>
 <li>
-<span class="label">11.3.1. </span><a class="xref" href="GuideOptionsWindow.html#State" title="State">State</a>
+<span class="label">11.4.1. </span><a class="xref" href="GuideOptionsWindow.html#State" title="State">State</a>
 </li>
 <li>
-<span class="label">11.3.2. </span><a class="xref" href="GuideOptionsWindow.html#Size" title="Size">Size</a>
+<span class="label">11.4.2. </span><a class="xref" href="GuideOptionsWindow.html#Size" title="Size">Size</a>
 </li>
 <li>
-<span class="label">11.3.3. </span><a class="xref" href="GuideOptionsWindow.html#FullScreen" title="Full Screen">Full Screen</a>
-</li>
-<li>
-<span class="label">11.3.4. </span><a class="xref" href="GuideOptionsWindow.html#OverlayScreenDisplay" title="Overlay Screen Display">Overlay Screen Display</a>
+<span class="label">11.4.3. </span><a class="xref" href="GuideOptionsWindow.html#FullScreen" title="Full Screen">Full Screen</a>
 </li>
 </ul></div>
 <div class="division section">
-<a name="State"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.3.1. </span>State</span></h2></div>
+<a name="State"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.4.1. </span>State</span></h2></div>
 <div class="block list variablelist"><dl class="variablelist">
 <dt class="term dt-first">
           <span class="guilabel">Remember window positions</span>
@@ -532,7 +530,7 @@ dd.answer div.label { float: left; }
 </dl></div>
 </div>
 <div class="division section">
-<a name="Size"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.3.2. </span>Size</span></h2></div>
+<a name="Size"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.4.2. </span>Size</span></h2></div>
 <div class="block list variablelist"><dl class="variablelist">
 <dt class="term dt-first">
           <span class="guilabel">Fit window to image when tools are hidden/floating</span>
@@ -551,7 +549,7 @@ dd.answer div.label { float: left; }
 </dl></div>
 </div>
 <div class="division section">
-<a name="FullScreen"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.3.3. </span>Full Screen</span></h2></div>
+<a name="FullScreen"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.4.3. </span>Full Screen</span></h2></div>
 <div class="block list variablelist"><dl class="variablelist">
 <dt class="term dt-first">
           <span class="guilabel">Location</span>
@@ -581,226 +579,9 @@ dd.answer div.label { float: left; }
         </dd>
 </dl></div>
 </div>
-<div class="division section">
-<a name="OverlayScreenDisplay"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.3.4. </span>Overlay Screen Display</span></h2></div>
-<p class="para block block-first">The contents of the Overlay Screen Display is defined by the Image Overlay Template. This template is easily customised to  display a wide range of data.</p>
-<p class="para block">
-      The format of each entry is:
-      <div dir="ltr" class=" block programlisting block-indent block-first"><pre class="programlisting">%tag[:max_length][:extra]%</pre></div>
-    </p>
-<div class="table block block-indent"><table style="border: solid 1px;"><tbody>
-<tr>
-<td class="td-colsep td-rowsep">
-              <span class="emphasis emphasis-bold">Tag</span>
-            </td>
-<td class="td-rowsep">
-              <span class="emphasis emphasis-bold">Replaced by</span>
-            </td>
-</tr>
-<tr class="tr-shade">
-<td class="td-colsep td-rowsep">name</td>
-<td class="td-rowsep">Filename of the picture</td>
-</tr>
-<tr>
-<td class="td-colsep td-rowsep">collection</td>
-<td class="td-rowsep">Name of the collection</td>
-</tr>
-<tr class="tr-shade">
-<td class="td-colsep td-rowsep">number</td>
-<td class="td-rowsep">Current number of image in the list</td>
-</tr>
-<tr>
-<td class="td-colsep td-rowsep">total</td>
-<td class="td-rowsep">Total number of images</td>
-</tr>
-<tr class="tr-shade">
-<td class="td-colsep td-rowsep">date</td>
-<td class="td-rowsep">File date</td>
-</tr>
-<tr>
-<td class="td-colsep td-rowsep">size</td>
-<td class="td-rowsep">File size</td>
-</tr>
-<tr class="tr-shade">
-<td class="td-colsep td-rowsep">width</td>
-<td class="td-rowsep">Image width</td>
-</tr>
-<tr>
-<td class="td-colsep td-rowsep">height</td>
-<td class="td-rowsep">Image height</td>
-</tr>
-<tr class="tr-shade">
-<td class="td-colsep td-rowsep">res</td>
-<td class="td-rowsep">Image resolution</td>
-</tr>
-<tr>
-<td class="td-colsep td-rowsep">keywords</td>
-<td class="td-rowsep">Image keywords from metadata</td>
-</tr>
-<tr class="tr-shade">
-<td class="td-colsep td-rowsep">comment</td>
-<td class="td-rowsep">Image comment from XMP metadata</td>
-</tr>
-<tr>
-<td class="td-colsep td-rowsep">imagecomment</td>
-<td class="td-rowsep">JPEG image comment</td>
-</tr>
-<tr class="tr-shade">
-<td class="td-colsep td-rowsep">rating</td>
-<td class="td-rowsep">Image rating</td>
-</tr>
-<tr>
-<td class="td-colsep td-rowsep">&lt;meta_tag&gt;</td>
-<td class="td-rowsep">The Exif, XMP, or IPTC tag from metadata</td>
-</tr>
-<tr class="tr-shade">
-<td class="td-colsep td-rowsep">lua/&lt;lua_script&gt;/</td>
-<td class="td-rowsep">The output of a Lua script file</td>
-</tr>
-<tr>
-<td class="td-colsep">lua//&lt;lua_command&gt;</td>
-<td>The output of a Lua command</td>
-</tr>
-</tbody></table></div>
-<p class="para block">
-      As an aide, in addition to standard metadata tags, Geeqie provides a number of
-      <a class="link" href="GuideSidebarsInfo.html#formatted_exif" title="">pre-formatted tags</a>
-      .
-    </p>
-<p class="para block">Examples of usage are:</p>
-<p class="para block">
-      <div dir="ltr" class=" block programlisting block-indent block-first"><pre class="programlisting">        %keywords%
-        %Exif.Photo.DateTimeOriginal%
-        %lua/jpeg_comment.lua/:12%
-        %lua//return(os.date())%
-      </pre></div>
-    </p>
-<p class="para block">
-      Refer to
-      <a class="link" href="GuideReferenceLua.html" title="Lua Extensions">Lua Extensions</a>
-      for further information.
-    </p>
-<p class="para block">
-      The length of displayed data can be limited by using the
-      <span class="emphasis">:max_length</span>
-      parameter. The following example will truncate the displayed data to 20 characters and will add 3 dots at the end to denote the truncation.
-      <div dir="ltr" class=" block programlisting block-indent"><pre class="programlisting">%formatted.Camera:20%</pre></div>
-    </p>
-<p class="para block">
-      If two or more variables are connected with the
-      <span class="code" dir="ltr">|</span>
-      character, the variables are displayed with a separator. For example::
-      <div dir="ltr" class=" block programlisting block-indent"><pre class="programlisting">%formatted.ShutterSpeed%|%formatted.ISOSpeedRating%|%formatted.FocalLength%</pre></div>
-      could show:
-      <div dir="ltr" class=" block programlisting block-indent"><pre class="programlisting">"1/20s - 400 - 80 mm"</pre></div>
-      Or, if there is no ISO information in the Exif data:
-      <div dir="ltr" class=" block programlisting block-indent"><pre class="programlisting">"1/200 - 80 mm"</pre></div>
-    </p>
-<p class="para block">If there is no data for a requested tag, the line is not displayed.</p>
-<p class="para block">
-      The
-      <span class="emphasis">:extra</span>
-      parameter may be used to format the output by prepending and appending a text string to the displayed item.
-    </p>
-<p class="para block">
-      The special character
-      <span class="code" dir="ltr">*</span>
-      is used to mark the position of the Tag data item. If no
-      <span class="code" dir="ltr">*</span>
-      is present, the extra string is just appended to the standard data displayed. Any "\n" is replaced by a newline on display.
-      <a class="link" href="GuideReferenceStandards.html" title="Standards">Pango mark up</a>
-      is accepted in both left and right parts. If the data item is empty, nothing will be displayed.
-    </p>
-<p class="para block">Examples:</p>
-<div class="table block block-indent"><table style="border: solid 1px;"><tbody>
-<tr>
-<td class="td-colsep td-rowsep">
-              <span class="emphasis emphasis-bold">Template</span>
-            </td>
-<td class="td-rowsep">
-              <span class="emphasis emphasis-bold">Example display</span>
-            </td>
-</tr>
-<tr class="tr-shade">
-<td class="td-colsep td-rowsep">
-              %name:
-              &lt;i&gt;*&lt;/i&gt;\n%
-            </td>
-<td class="td-rowsep">
-              <span class="emphasis">filename001.jpg</span>
-            </td>
-</tr>
-<tr>
-<td class="td-colsep td-rowsep">%size:\n%</td>
-<td class="td-rowsep">123456</td>
-</tr>
-<tr class="tr-shade">
-<td class="td-colsep td-rowsep">%formatted.ISOSpeedRating:ISO *%</td>
-<td class="td-rowsep">ISO 100</td>
-</tr>
-<tr>
-<td class="td-colsep">
-              %collection:Collection:
-              &lt;b&gt;*&lt;/b&gt;
-              \n%
-            </td>
-<td>
-              Collection:
-              <span class="emphasis emphasis-bold">my_new_collection</span>
-            </td>
-</tr>
-</tbody></table></div>
-<p class="para block"></p>
-<div class="block list variablelist"><dl class="variablelist">
-<dt class="term dt-first">
-          <span class="guibutton">
-            <span class="guiicon">
-              <span class="inlinegraphic"><img src="preferences-desktop-font.png"></span>
-            </span>
-          </span>
-          <span class="guilabel">Font</span>
-          ,
-          <span class="guibutton">
-            <span class="guiicon">
-              <span class="inlinegraphic"><img src="gtk-color-picker.png"></span>
-            </span>
-          </span>
-          <span class="guilabel">Text</span>
-          ,
-          <span class="guibutton">
-            <span class="guiicon">
-              <span class="inlinegraphic"><img src="gtk-color-picker.png"></span>
-            </span>
-          </span>
-          <span class="guilabel">Background</span>
-        </dt>
-<dd>The font used for the Overlay Screen Display, as well as the font colour and background colour, may be set via these buttons. Colour transparency can also be set.</dd>
-</dl></div>
-<div class="block list variablelist"><dl class="variablelist">
-<dt class="term dt-first">
-          <span class="guibutton">
-            <span class="guiicon">
-              <span class="inlinegraphic"><img src="help-contents.png"></span>
-            </span>
-          </span>
-          <span class="guilabel">Help</span>
-        </dt>
-<dd>
-          <p class="para block block-first">Show syntax help</p>
-        </dd>
-</dl></div>
-<div class="block list variablelist"><dl class="variablelist">
-<dt class="term dt-first">
-          <span class="guilabel">Defaults</span>
-        </dt>
-<dd>
-          <p class="para block block-first">Restore default image overlay template</p>
-        </dd>
-</dl></div>
-</div>
 </div></div>
 <div class="navbar navbar-bottom"><table class="navbar"><tr>
-<td class="navbar-prev"><a class="navbar-prev" href="GuideOptionsImage.html" title="Image Options">Image Options</a></td>
+<td class="navbar-prev"><a class="navbar-prev" href="GuideOptionsOSD.html" title="OverlayScreen Display">OverlayScreen Display</a></td>
 <td class="navbar-next"><a class="navbar-next" href="GuideOptionsKeyboard.html" title="Keyboard Options">Keyboard Options</a></td>
 </tr></table></div>
 </body>
index 56d7887..838aa91 100644 (file)
@@ -462,7 +462,7 @@ dd.answer div.label { float: left; }
 </ul>
 <p class="para block block-first">The following data lists the locations Geeqie uses for various actions. The uppercase symbols are environment variables. If they are not set on your system the fallback locations are listed in parentheses.</p>
 <p class="para block">
-    Geqqie will first attempt to load a configuration file from:
+    Geeqie will first attempt to load a configuration file from:
     <div dir="ltr" class=" block programlisting block-indent block-first"><pre class="programlisting">/etc/geeqie/geeqierc.xml</pre></div>
   </p>
 <p class="para block">It will then continue with the following locations.</p>
index b2bd6d0..80084ab 100644 (file)
@@ -462,7 +462,7 @@ dd.answer div.label { float: left; }
 </ul>
 <p class="para block block-first">
     Lua scripts allow the functionality of Geeqie to be extended. Lua scripts may only be used in conjunction with the
-    <a class="link" href="GuideOptionsWindow.html#OverlayScreenDisplay" title="Overlay Screen Display">Overlay Screen Display</a>
+    <a class="link" href="GuideOptionsOSD.html#OverlayScreenDisplay" title="Overlay Screen Display">Overlay Screen Display</a>
     and the
     <div dir="ltr" class=" block programlisting block-indent"><pre class="programlisting">geeqie --remote --lua:</pre></div>
     command line option.
@@ -500,7 +500,7 @@ dd.answer div.label { float: left; }
     </p>
 <p class="para block">
       A link to a Lua script must be inserted into the overlay template. Refer to the
-      <a class="link" href="GuideOptionsWindow.html#OverlayScreenDisplay" title="Overlay Screen Display">Overlay Screen Display</a>
+      <a class="link" href="GuideOptionsOSD.html#OverlayScreenDisplay" title="Overlay Screen Display">Overlay Screen Display</a>
       section of Window Options.
     </p>
 <p class="para block">The full extent of the Lua language is available.</p>