Fix #1184: Put main menu items into one hamburger menu
authorColin Clark <colin.clark@cclark.uk>
Sat, 20 Jan 2024 16:02:25 +0000 (16:02 +0000)
committerColin Clark <colin.clark@cclark.uk>
Sat, 20 Jan 2024 16:02:25 +0000 (16:02 +0000)
https://github.com/BestImageViewer/geeqie/issues/1184

A "hamburger" style menu icon is located to the left of the path entry
box.

Key F10 activates the menu.

doc/docbook/GuideOptionsGeneral.xml
src/layout-util.cc
src/layout.cc
src/preferences.cc
src/ui/menu.ui

index 9d2a1a6..d401cc7 100644 (file)
       </varlistentry>
     </variablelist>
   </section>
-  <section id="ExpandMenuToolbar">
-    <title>Expand menu and toolbar</title>
-    <para>Expand the menu and toolbar to the full width of the window.</para>
+  <section id="ExpandToolbar">
+    <title>Expand toolbar</title>
+    <para>Expand the toolbar to the full width of the window.</para>
     <note>
       <para>Geeqie must be restarted for changes to take effect.</para>
     </note>
index 4e0118c..38a9a03 100644 (file)
@@ -2036,7 +2036,7 @@ static void layout_menu_collection_recent_update(LayoutWindow *lw)
                menu_item_add(menu, _("Empty"), nullptr, nullptr);
                }
 
-       recent = gtk_ui_manager_get_widget(lw->ui_manager, "/MainMenu/FileMenu/OpenRecent");
+       recent = gtk_ui_manager_get_widget(lw->ui_manager, "/MainMenu/OpenMenu/FileMenu/OpenRecent");
        gtk_menu_item_set_submenu(GTK_MENU_ITEM(recent), menu);
        gtk_widget_set_sensitive(recent, (n != 0));
 }
@@ -2092,7 +2092,7 @@ static void layout_menu_collection_open_update(LayoutWindow *lw)
                menu_item_add(menu, _("Empty"), nullptr, nullptr);
                }
 
-       recent = gtk_ui_manager_get_widget(lw->ui_manager, "/MainMenu/FileMenu/OpenCollection");
+       recent = gtk_ui_manager_get_widget(lw->ui_manager, "/MainMenu/OpenMenu/FileMenu/OpenCollection");
        gtk_menu_item_set_submenu(GTK_MENU_ITEM(recent), menu);
        gtk_widget_set_sensitive(recent, (n != 0));
 }
@@ -2251,7 +2251,7 @@ static void layout_menu_new_window_update(LayoutWindow *lw)
 
        list = layout_window_menu_list(list);
 
-       menu = gtk_ui_manager_get_widget(lw->ui_manager, "/MainMenu/WindowsMenu/NewWindow");
+       menu = gtk_ui_manager_get_widget(lw->ui_manager, "/MainMenu/OpenMenu/WindowsMenu/NewWindow");
        sub_menu = gtk_menu_item_get_submenu(GTK_MENU_ITEM(menu));
 
        children = gtk_container_get_children(GTK_CONTAINER(sub_menu));
@@ -2396,7 +2396,7 @@ static void layout_menu_windows_menu_cb(GtkWidget *, gpointer data)
        GList *children, *iter;
        gint i;
 
-       menu = gtk_ui_manager_get_widget(lw->ui_manager, "/MainMenu/WindowsMenu/");
+       menu = gtk_ui_manager_get_widget(lw->ui_manager, "/MainMenu/OpenMenu/WindowsMenu/");
        sub_menu = gtk_menu_item_get_submenu(GTK_MENU_ITEM(menu));
 
        /* disable Delete for temporary windows */
@@ -2427,7 +2427,7 @@ static void layout_menu_view_menu_cb(GtkWidget *, gpointer data)
        gint i;
        FileData *fd;
 
-       menu = gtk_ui_manager_get_widget(lw->ui_manager, "/MainMenu/ViewMenu/");
+       menu = gtk_ui_manager_get_widget(lw->ui_manager, "/MainMenu/OpenMenu/ViewMenu/");
        sub_menu = gtk_menu_item_get_submenu(GTK_MENU_ITEM(menu));
 
        fd = layout_image_get_fd(lw);
@@ -2696,6 +2696,7 @@ static GtkActionEntry menu_entries[] = {
   { "NextPage",              GQ_ICON_FORWARD_PAGE,              N_("_Next Page"),                                       nullptr,               N_("Next Page of multi-page image"),                   CB(layout_menu_page_next_cb) },
   { "OpenArchive",           GQ_ICON_OPEN,                      N_("Open archive"),                                     nullptr,               N_("Open archive"),                                    CB(layout_menu_open_archive_cb) },
   { "OpenCollection",        GQ_ICON_OPEN,                      N_("_Open collection..."),                              "O",                   N_("Open collection..."),                              nullptr },
+  { "OpenMenu",              nullptr,                           N_("☰"),                                                nullptr,               nullptr,                                               nullptr },
   { "OpenRecent",            nullptr,                           N_("Open recen_t"),                                     nullptr,               N_("Open recent collection"),                          nullptr },
   { "OpenWith",              GQ_ICON_OPEN_WITH,                 N_("Open With..."),                                     nullptr,               N_("Open With..."),                                    CB(layout_menu_open_with_cb) },
   { "OrientationMenu",       nullptr,                           N_("_Orientation"),                                     nullptr,               nullptr,                                               nullptr },
@@ -2881,7 +2882,8 @@ static void layout_actions_setup_marks(LayoutWindow *lw)
        GString *desc = g_string_new(
                                "<ui>"
                                "  <menubar name='MainMenu'>"
-                               "    <menu action='SelectMenu'>");
+                               "    <menu action='OpenMenu'>"
+                               "      <menu action='SelectMenu'>");
 
        for (mark = 1; mark <= FILEDATA_MARKS_SIZE; mark++)
                {
@@ -2916,6 +2918,7 @@ static void layout_actions_setup_marks(LayoutWindow *lw)
                }
 
        g_string_append(desc,
+                               "      </menu>"
                                "    </menu>"
                                "  </menubar>");
        for (mark = 1; mark <= FILEDATA_MARKS_SIZE; mark++)
@@ -3045,7 +3048,8 @@ static void layout_actions_setup_editors(LayoutWindow *lw)
        /* lw->action_group_editors contains translated entries, no translate func is required */
        desc = g_string_new(
                                "<ui>"
-                               "  <menubar name='MainMenu'>");
+                               "  <menubar name='MainMenu'>"
+                               "    <menu action='OpenMenu'>");
 
        editors_list = editor_list_get();
 
@@ -3079,7 +3083,8 @@ static void layout_actions_setup_editors(LayoutWindow *lw)
        layout_actions_editor_add(desc, nullptr, old_path);
        g_list_free_full(old_path, g_free);
 
-       g_string_append(desc,   "  </menubar>"
+       g_string_append(desc,   "</menu>"
+                               "  </menubar>"
                                "</ui>" );
 
        error = nullptr;
@@ -3268,18 +3273,14 @@ GtkWidget *layout_actions_toolbar(LayoutWindow *lw, ToolbarType type)
 
 GtkWidget *layout_actions_menu_tool_bar(LayoutWindow *lw)
 {
-       GtkWidget *menu_bar;
        GtkWidget *toolbar;
 
        if (lw->menu_tool_bar) return lw->menu_tool_bar;
 
-       menu_bar = layout_actions_menu_bar(lw);
-       DEBUG_NAME(menu_bar);
        toolbar = layout_actions_toolbar(lw, TOOLBAR_MAIN);
        DEBUG_NAME(toolbar);
        lw->menu_tool_bar = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
 
-       gq_gtk_box_pack_start(GTK_BOX(lw->menu_tool_bar), menu_bar, FALSE, FALSE, 0);
        gq_gtk_box_pack_start(GTK_BOX(lw->menu_tool_bar), toolbar, FALSE, FALSE, 0);
 
        g_object_ref(lw->menu_tool_bar);
index 380905c..2245f94 100644 (file)
@@ -323,8 +323,9 @@ static GtkWidget *layout_tool_setup(LayoutWindow *lw)
 {
        GtkWidget *box;
        GtkWidget *box_folders;
-       GtkWidget *menu_bar;
+       GtkWidget *box_menu_tabcomp;
        GtkWidget *menu_tool_bar;
+       GtkWidget *open_menu;
        GtkWidget *scd;
        GtkWidget *tabcomp;
        GtkWidget *toolbar;
@@ -333,12 +334,7 @@ static GtkWidget *layout_tool_setup(LayoutWindow *lw)
 
        if (!options->expand_menu_toolbar)
                {
-               menu_bar = layout_actions_menu_bar(lw);
-
                toolbar = layout_actions_toolbar(lw, TOOLBAR_MAIN);
-               gtk_widget_show(menu_bar);
-
-               gq_gtk_box_pack_start(GTK_BOX(box), menu_bar, FALSE, FALSE, 0);
                gq_gtk_box_pack_start(GTK_BOX(box), toolbar, FALSE, FALSE, 0);
                }
        else
@@ -349,18 +345,24 @@ static GtkWidget *layout_tool_setup(LayoutWindow *lw)
                gq_gtk_box_pack_start(GTK_BOX(lw->main_box), lw->menu_tool_bar, FALSE, FALSE, 0);
                }
 
-       tabcomp = tab_completion_new_with_history(&lw->path_entry, nullptr, "path_list", -1,
-                                                 layout_path_entry_cb, lw);
+       box_menu_tabcomp = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
+       gtk_widget_show(box_menu_tabcomp);
+
+       open_menu = layout_actions_menu_bar(lw);
+       gtk_widget_set_tooltip_text(open_menu, "Open application menu");
+
+       tabcomp = tab_completion_new_with_history(&lw->path_entry, nullptr, "path_list", -1, layout_path_entry_cb, lw);
        DEBUG_NAME(tabcomp);
        tab_completion_add_tab_func(lw->path_entry, layout_path_entry_tab_cb, lw);
        tab_completion_add_append_func(lw->path_entry, layout_path_entry_tab_append_cb, lw);
-       gq_gtk_box_pack_start(GTK_BOX(box), tabcomp, FALSE, FALSE, 0);
+       gq_gtk_box_pack_start(GTK_BOX(box_menu_tabcomp), open_menu, FALSE, FALSE, 0);
+       gq_gtk_box_pack_start(GTK_BOX(box_menu_tabcomp), tabcomp, TRUE, TRUE, 0);
+       gq_gtk_box_pack_start(GTK_BOX(box), box_menu_tabcomp, FALSE, FALSE, 0);
        gtk_widget_show(tabcomp);
        gtk_widget_set_has_tooltip(GTK_WIDGET(tabcomp), TRUE);
        g_signal_connect(G_OBJECT(tabcomp), "query_tooltip", G_CALLBACK(path_entry_tooltip_cb), lw);
 
-       g_signal_connect(G_OBJECT(gtk_widget_get_parent(gtk_widget_get_parent(lw->path_entry))), "changed",
-                        G_CALLBACK(layout_path_entry_changed_cb), lw);
+       g_signal_connect(G_OBJECT(gtk_widget_get_parent(gtk_widget_get_parent(lw->path_entry))), "changed", G_CALLBACK(layout_path_entry_changed_cb), lw);
 
        box_folders = GTK_WIDGET(gtk_paned_new(GTK_ORIENTATION_HORIZONTAL));
        DEBUG_NAME(box_folders);
@@ -382,8 +384,7 @@ static GtkWidget *layout_tool_setup(LayoutWindow *lw)
 
        gtk_widget_show(box_folders);
 
-       g_signal_connect(G_OBJECT(box_folders), "notify::position",
-                        G_CALLBACK(layout_box_folders_changed_cb), lw);
+       g_signal_connect(G_OBJECT(box_folders), "notify::position", G_CALLBACK(layout_box_folders_changed_cb), lw);
 
        gtk_widget_show(box);
 
index 080613b..0ef13c9 100644 (file)
@@ -2143,11 +2143,11 @@ static void config_tab_general(GtkWidget *notebook)
 
        pref_spacer(group, PREF_PAD_GROUP);
 
-       group = pref_group_new(vbox, FALSE, _("Expand menu and toolbar"), GTK_ORIENTATION_VERTICAL);
+       group = pref_group_new(vbox, FALSE, _("Expand toolbar"), GTK_ORIENTATION_VERTICAL);
 
-       pref_checkbox_new_int(group, _("Expand menu and toolbar (NOTE! Geeqie must be restarted for change to take effect)"),
+       pref_checkbox_new_int(group, _("Expand toolbar (NOTE! Geeqie must be restarted for change to take effect)"),
                                options->expand_menu_toolbar, &c_options->expand_menu_toolbar);
-       gtk_widget_set_tooltip_text(group, _("Expand the menu and toolbar to the full width of the window"));
+       gtk_widget_set_tooltip_text(group, _("Expand the toolbar to the full width of the window"));
 
        pref_spacer(group, PREF_PAD_GROUP);
 
index a0f081b..b8d1fc9 100644 (file)
 <ui>
   <menubar name="MainMenu">
-    <menu action="FileMenu">
-      <menuitem action="NewCollection"/>
-      <menuitem action="OpenCollection"/>
-      <menuitem action="OpenRecent"/>
-      <placeholder name="OpenSection"/>
-      <separator/>
-      <menuitem action="Search"/>
-      <menuitem action="FindDupes"/>
-      <placeholder name="SearchSection"/>
-      <separator/>
-      <menuitem action="Print"/>
-      <placeholder name="PrintSection"/>
-      <separator/>
-      <menuitem action="NewFolder"/>
-      <menuitem action="Copy"/>
-      <menuitem action="Move"/>
-      <menuitem action="Rename"/>
-      <menuitem action="OpenWith"/>
-      <separator/>
-      <menuitem action="Delete"/>
-      <menuitem action="PermanentDelete"/>
-      <separator/>
-      <placeholder name="FileOpsSection"/>
-      <separator/>
-      <placeholder name="QuitSection"/>
-      <menuitem action="Quit"/>
-      <separator/>
-    </menu>
-    <menu action="GoMenu">
-      <menuitem action="FirstImage"/>
-      <menuitem action="PrevImage"/>
-      <menuitem action="NextImage"/>
-      <menuitem action="LastImage"/>
-      <menuitem action="ImageBack"/>
-      <menuitem action="ImageForward"/>
-      <separator/>
-      <menuitem action="Back"/>
-      <menuitem action="Forward"/>
-      <menuitem action="Up"/>
-      <menuitem action="Home"/>
-      <separator/>
-      <menuitem action="FirstPage"/>
-      <menuitem action="LastPage"/>
-      <menuitem action="NextPage"/>
-      <menuitem action="PrevPage"/>
-    </menu>
-    <menu action="SelectMenu">
-      <menuitem action="SelectAll"/>
-      <menuitem action="SelectNone"/>
-      <menuitem action="SelectInvert"/>
-      <menuitem action="RectangularSelection"/>
-      <menuitem action="ShowFileFilter"/>
-      <placeholder name="SelectSection"/>
-      <separator/>
-      <menuitem action="CopyPath"/>
-      <menuitem action="CopyPathUnquoted"/>
-      <placeholder name="ClipboardSection"/>
-      <separator/>
-      <menuitem action="ShowMarks"/>
-      <menuitem action="ClearMarks"/>
-      <placeholder name="MarksSection"/>
-      <separator/>
-    </menu>
-    <menu action="EditMenu">
-      <placeholder name="EditSection"/>
-      <separator/>
-      <menu action="OrientationMenu">
-        <menuitem action="RotateCW"/>
-        <menuitem action="RotateCCW"/>
-        <menuitem action="Rotate180"/>
-        <menuitem action="Mirror"/>
-        <menuitem action="Flip"/>
-        <menuitem action="AlterNone"/>
+    <menu action="OpenMenu">
+      <menu action="FileMenu">
+        <menuitem action="NewCollection"/>
+        <menuitem action="OpenCollection"/>
+        <menuitem action="OpenRecent"/>
+        <placeholder name="OpenSection"/>
+        <separator/>
+        <menuitem action="Search"/>
+        <menuitem action="FindDupes"/>
+        <placeholder name="SearchSection"/>
         <separator/>
-        <menuitem action="ExifRotate"/>
+        <menuitem action="Print"/>
+        <placeholder name="PrintSection"/>
         <separator/>
-        <menuitem action="WriteRotation"/>
-        <menuitem action="WriteRotationKeepDate"/>
+        <menuitem action="NewFolder"/>
+        <menuitem action="Copy"/>
+        <menuitem action="Move"/>
+        <menuitem action="Rename"/>
+        <menuitem action="OpenWith"/>
+        <separator/>
+        <menuitem action="Delete"/>
+        <menuitem action="PermanentDelete"/>
+        <separator/>
+        <placeholder name="FileOpsSection"/>
+        <separator/>
+        <placeholder name="QuitSection"/>
+        <menuitem action="Quit"/>
         <separator/>
       </menu>
-      <menu action="RatingMenu">
-        <menuitem action="Rating0"/>
-        <menuitem action="Rating1"/>
-        <menuitem action="Rating2"/>
-        <menuitem action="Rating3"/>
-        <menuitem action="Rating4"/>
-        <menuitem action="Rating5"/>
-        <menuitem action="RatingM1"/>
+      <menu action="GoMenu">
+        <menuitem action="FirstImage"/>
+        <menuitem action="PrevImage"/>
+        <menuitem action="NextImage"/>
+        <menuitem action="LastImage"/>
+        <menuitem action="ImageBack"/>
+        <menuitem action="ImageForward"/>
+        <separator/>
+        <menuitem action="Back"/>
+        <menuitem action="Forward"/>
+        <menuitem action="Up"/>
+        <menuitem action="Home"/>
         <separator/>
+        <menuitem action="FirstPage"/>
+        <menuitem action="LastPage"/>
+        <menuitem action="NextPage"/>
+        <menuitem action="PrevPage"/>
       </menu>
-      <menuitem action="SaveMetadata"/>
-      <menuitem action="KeywordAutocomplete"/>
-      <placeholder name="PropertiesSection"/>
-      <separator/>
-      <menuitem action="DrawRectangle"/>
-      <separator/>
-      <menuitem action="Preferences"/>
-      <menuitem action="Plugins"/>
-      <menuitem action="LayoutConfig"/>
-      <menuitem action="Maintenance"/>
-      <placeholder name="PreferencesSection"/>
-      <separator/>
-      <separator/>
-    </menu>
-    <menu action="PluginsMenu"/>
-    <menu action="ViewMenu">
-      <menuitem action="ViewInNewWindow"/>
-      <menuitem action="PanView"/>
-      <menuitem action="ExifWin"/>
-      <menuitem action="OpenArchive"/>
-      <placeholder name="WindowSection"/>
-      <separator/>
-      <menu action="FileDirMenu">
-        <menuitem action="FolderTree"/>
-        <placeholder name="FolderSection"/>
+      <menu action="SelectMenu">
+        <menuitem action="SelectAll"/>
+        <menuitem action="SelectNone"/>
+        <menuitem action="SelectInvert"/>
+        <menuitem action="RectangularSelection"/>
+        <menuitem action="ShowFileFilter"/>
+        <placeholder name="SelectSection"/>
+        <separator/>
+        <menuitem action="CopyPath"/>
+        <menuitem action="CopyPathUnquoted"/>
+        <placeholder name="ClipboardSection"/>
         <separator/>
-        <menuitem action="ViewList"/>
-        <menuitem action="ViewIcons"/>
-        <menuitem action="Thumbnails"/>
-        <placeholder name="ListSection"/>
+        <menuitem action="ShowMarks"/>
+        <menuitem action="ClearMarks"/>
+        <placeholder name="MarksSection"/>
         <separator/>
-        <menuitem action="FloatTools"/>
-        <menuitem action="HideTools"/>
       </menu>
-      <placeholder name="DirSection"/>
-      <separator/>
-      <menu action="ZoomMenu">
-        <menu action="ConnectZoomMenu">
-          <menuitem action="ConnectZoomIn"/>
-          <menuitem action="ConnectZoomOut"/>
-          <menuitem action="ConnectZoomFit"/>
-          <menuitem action="ConnectZoomFillHor"/>
-          <menuitem action="ConnectZoomFillVert"/>
-          <menuitem action="ConnectZoom100"/>
-          <menuitem action="ConnectZoom200"/>
-          <menuitem action="ConnectZoom300"/>
-          <menuitem action="ConnectZoom400"/>
-          <menuitem action="ConnectZoom50"/>
-          <menuitem action="ConnectZoom33"/>
-          <menuitem action="ConnectZoom25"/>
+      <menu action="EditMenu">
+        <placeholder name="EditSection"/>
+        <separator/>
+        <menu action="OrientationMenu">
+          <menuitem action="RotateCW"/>
+          <menuitem action="RotateCCW"/>
+          <menuitem action="Rotate180"/>
+          <menuitem action="Mirror"/>
+          <menuitem action="Flip"/>
+          <menuitem action="AlterNone"/>
+          <separator/>
+          <menuitem action="ExifRotate"/>
+          <separator/>
+          <menuitem action="WriteRotation"/>
+          <menuitem action="WriteRotationKeepDate"/>
+          <separator/>
         </menu>
-        <menuitem action="ZoomIn"/>
-        <menuitem action="ZoomOut"/>
-        <menuitem action="ZoomFit"/>
-        <menuitem action="ZoomFillHor"/>
-        <menuitem action="ZoomFillVert"/>
-        <menuitem action="Zoom100"/>
-        <menuitem action="Zoom200"/>
-        <menuitem action="Zoom300"/>
-        <menuitem action="Zoom400"/>
-        <menuitem action="Zoom50"/>
-        <menuitem action="Zoom33"/>
-        <menuitem action="Zoom25"/>
-      </menu>
-      <menu action="SplitMenu">
-        <menuitem action="SplitHorizontal"/>
-        <menuitem action="SplitVertical"/>
-        <menuitem action="SplitTriple"/>
-        <menuitem action="SplitQuad"/>
-        <menuitem action="SplitSingle"/>
+        <menu action="RatingMenu">
+          <menuitem action="Rating0"/>
+          <menuitem action="Rating1"/>
+          <menuitem action="Rating2"/>
+          <menuitem action="Rating3"/>
+          <menuitem action="Rating4"/>
+          <menuitem action="Rating5"/>
+          <menuitem action="RatingM1"/>
+          <separator/>
+        </menu>
+        <menuitem action="SaveMetadata"/>
+        <menuitem action="KeywordAutocomplete"/>
+        <placeholder name="PropertiesSection"/>
         <separator/>
-        <menuitem action="SplitNextPane"/>
-        <menuitem action="SplitPreviousPane"/>
-        <menuitem action="SplitUpPane"/>
-        <menuitem action="SplitDownPane"/>
+        <menuitem action="DrawRectangle"/>
         <separator/>
-        <menuitem action="SplitPaneSync"/>
-      </menu>
-      <menu action="StereoMenu">
-        <menuitem action="StereoAuto"/>
-        <menuitem action="StereoSBS"/>
-        <menuitem action="StereoCross"/>
-        <menuitem action="StereoOff"/>
+        <menuitem action="Preferences"/>
+        <menuitem action="Plugins"/>
+        <menuitem action="LayoutConfig"/>
+        <menuitem action="Maintenance"/>
+        <placeholder name="PreferencesSection"/>
         <separator/>
-        <menuitem action="StereoCycle"/>
-      </menu>
-      <menu action="ColorMenu">
-        <menuitem action="UseColorProfiles"/>
-        <menuitem action="UseImageProfile"/>
-        <menuitem action="ColorProfile0"/>
-        <menuitem action="ColorProfile1"/>
-        <menuitem action="ColorProfile2"/>
-        <menuitem action="ColorProfile3"/>
-        <menuitem action="ColorProfile4"/>
-        <menuitem action="ColorProfile5"/>
         <separator/>
-        <menuitem action="Grayscale"/>
       </menu>
-      <menu action="OverlayMenu">
-        <menuitem action="ImageOverlay"/>
-        <menuitem action="ImageHistogram"/>
-        <menuitem action="ImageOverlayCycle"/>
+      <menu action="PluginsMenu"/>
+      <menu action="ViewMenu">
+        <menuitem action="ViewInNewWindow"/>
+        <menuitem action="PanView"/>
+        <menuitem action="ExifWin"/>
+        <menuitem action="OpenArchive"/>
+        <placeholder name="WindowSection"/>
+        <separator/>
+        <menu action="FileDirMenu">
+          <menuitem action="FolderTree"/>
+          <placeholder name="FolderSection"/>
+          <separator/>
+          <menuitem action="ViewList"/>
+          <menuitem action="ViewIcons"/>
+          <menuitem action="Thumbnails"/>
+          <placeholder name="ListSection"/>
+          <separator/>
+          <menuitem action="FloatTools"/>
+          <menuitem action="HideTools"/>
+        </menu>
+        <placeholder name="DirSection"/>
+        <separator/>
+        <menu action="ZoomMenu">
+          <menu action="ConnectZoomMenu">
+            <menuitem action="ConnectZoomIn"/>
+            <menuitem action="ConnectZoomOut"/>
+            <menuitem action="ConnectZoomFit"/>
+            <menuitem action="ConnectZoomFillHor"/>
+            <menuitem action="ConnectZoomFillVert"/>
+            <menuitem action="ConnectZoom100"/>
+            <menuitem action="ConnectZoom200"/>
+            <menuitem action="ConnectZoom300"/>
+            <menuitem action="ConnectZoom400"/>
+            <menuitem action="ConnectZoom50"/>
+            <menuitem action="ConnectZoom33"/>
+            <menuitem action="ConnectZoom25"/>
+          </menu>
+          <menuitem action="ZoomIn"/>
+          <menuitem action="ZoomOut"/>
+          <menuitem action="ZoomFit"/>
+          <menuitem action="ZoomFillHor"/>
+          <menuitem action="ZoomFillVert"/>
+          <menuitem action="Zoom100"/>
+          <menuitem action="Zoom200"/>
+          <menuitem action="Zoom300"/>
+          <menuitem action="Zoom400"/>
+          <menuitem action="Zoom50"/>
+          <menuitem action="Zoom33"/>
+          <menuitem action="Zoom25"/>
+        </menu>
+        <menu action="SplitMenu">
+          <menuitem action="SplitHorizontal"/>
+          <menuitem action="SplitVertical"/>
+          <menuitem action="SplitTriple"/>
+          <menuitem action="SplitQuad"/>
+          <menuitem action="SplitSingle"/>
+          <separator/>
+          <menuitem action="SplitNextPane"/>
+          <menuitem action="SplitPreviousPane"/>
+          <menuitem action="SplitUpPane"/>
+          <menuitem action="SplitDownPane"/>
+          <separator/>
+          <menuitem action="SplitPaneSync"/>
+        </menu>
+        <menu action="StereoMenu">
+          <menuitem action="StereoAuto"/>
+          <menuitem action="StereoSBS"/>
+          <menuitem action="StereoCross"/>
+          <menuitem action="StereoOff"/>
+          <separator/>
+          <menuitem action="StereoCycle"/>
+        </menu>
+        <menu action="ColorMenu">
+          <menuitem action="UseColorProfiles"/>
+          <menuitem action="UseImageProfile"/>
+          <menuitem action="ColorProfile0"/>
+          <menuitem action="ColorProfile1"/>
+          <menuitem action="ColorProfile2"/>
+          <menuitem action="ColorProfile3"/>
+          <menuitem action="ColorProfile4"/>
+          <menuitem action="ColorProfile5"/>
+          <separator/>
+          <menuitem action="Grayscale"/>
+        </menu>
+        <menu action="OverlayMenu">
+          <menuitem action="ImageOverlay"/>
+          <menuitem action="ImageHistogram"/>
+          <menuitem action="ImageOverlayCycle"/>
+          <separator/>
+          <menuitem action="HistogramChanR"/>
+          <menuitem action="HistogramChanG"/>
+          <menuitem action="HistogramChanB"/>
+          <menuitem action="HistogramChanRGB"/>
+          <menuitem action="HistogramChanV"/>
+          <menuitem action="HistogramChanCycle"/>
+          <separator/>
+          <menuitem action="HistogramModeLin"/>
+          <menuitem action="HistogramModeLog"/>
+          <menuitem action="HistogramModeCycle"/>
+        </menu>
+        <menuitem action="OverUnderExposed"/>
+        <menuitem action="FullScreen"/>
+        <placeholder name="ViewSection"/>
+        <separator/>
+        <menuitem action="SBar"/>
+        <menuitem action="SBarSort"/>
+        <menuitem action="HideBars"/>
+        <menuitem action="HideSelectableToolbars"/>
+        <menuitem action="ShowInfoPixel"/>
+        <menuitem action="IgnoreAlpha"/>
+        <placeholder name="ToolsSection"/>
         <separator/>
-        <menuitem action="HistogramChanR"/>
-        <menuitem action="HistogramChanG"/>
-        <menuitem action="HistogramChanB"/>
-        <menuitem action="HistogramChanRGB"/>
-        <menuitem action="HistogramChanV"/>
-        <menuitem action="HistogramChanCycle"/>
+        <menuitem action="Animate"/>
+        <menuitem action="SlideShow"/>
+        <menuitem action="SlideShowPause"/>
+        <menuitem action="SlideShowFaster"/>
+        <menuitem action="SlideShowSlower"/>
+        <separator/>
+        <menuitem action="Refresh"/>
+        <placeholder name="SlideShowSection"/>
         <separator/>
-        <menuitem action="HistogramModeLin"/>
-        <menuitem action="HistogramModeLog"/>
-        <menuitem action="HistogramModeCycle"/>
       </menu>
-      <menuitem action="OverUnderExposed"/>
-      <menuitem action="FullScreen"/>
-      <placeholder name="ViewSection"/>
-      <separator/>
-      <menuitem action="SBar"/>
-      <menuitem action="SBarSort"/>
-      <menuitem action="HideBars"/>
-      <menuitem action="HideSelectableToolbars"/>
-      <menuitem action="ShowInfoPixel"/>
-      <menuitem action="IgnoreAlpha"/>
-      <placeholder name="ToolsSection"/>
-      <separator/>
-      <menuitem action="Animate"/>
-      <menuitem action="SlideShow"/>
-      <menuitem action="SlideShowPause"/>
-      <menuitem action="SlideShowFaster"/>
-      <menuitem action="SlideShowSlower"/>
-      <separator/>
-      <menuitem action="Refresh"/>
-      <placeholder name="SlideShowSection"/>
-      <separator/>
-    </menu>
-    <menu action="WindowsMenu">
-      <menu action="NewWindow">
-        <menuitem action="NewWindowDefault"/>
-        <menuitem action="NewWindowFromCurrent"/>
+      <menu action="WindowsMenu">
+        <menu action="NewWindow">
+          <menuitem action="NewWindowDefault"/>
+          <menuitem action="NewWindowFromCurrent"/>
+          <separator/>
+        </menu>
+        <menuitem action="RenameWindow"/>
+        <menuitem action="DeleteWindow"/>
+        <menuitem action="CloseWindow"/>
+      </menu>
+      <menu action="HelpMenu">
+        <separator/>
+        <menuitem action="HelpContents"/>
+        <menuitem action="SearchAndRunCommand"/>
+        <menuitem action="HelpSearch"/>
+        <menuitem action="HelpShortcuts"/>
+        <menuitem action="HelpKbd"/>
+        <menuitem action="HelpNotes"/>
+        <menuitem action="HelpChangeLog"/>
+        <placeholder name="HelpSection"/>
+        <separator/>
+        <menuitem action="About"/>
+        <separator/>
+        <menuitem action="LogWindow"/>
         <separator/>
       </menu>
-      <menuitem action="RenameWindow"/>
-      <menuitem action="DeleteWindow"/>
-      <menuitem action="CloseWindow"/>
-    </menu>
-    <menu action="HelpMenu">
-      <separator/>
-      <menuitem action="HelpContents"/>
-      <menuitem action="SearchAndRunCommand"/>
-      <menuitem action="HelpSearch"/>
-      <menuitem action="HelpShortcuts"/>
-      <menuitem action="HelpKbd"/>
-      <menuitem action="HelpNotes"/>
-      <menuitem action="HelpChangeLog"/>
-      <placeholder name="HelpSection"/>
-      <separator/>
-      <menuitem action="About"/>
-      <separator/>
-      <menuitem action="LogWindow"/>
-      <separator/>
     </menu>
   </menubar>