0.9.7 use a new menu bar from gtk_ui_manager, so need a translation here to enable owl menu Signed-off-by: Zhai Edwin Upstream-Status: Inappropriate [enable feature] Index: pcmanfm-0.9.9/configure.ac =================================================================== --- pcmanfm-0.9.9.orig/configure.ac 2011-08-10 05:28:31.000000000 +0800 +++ pcmanfm-0.9.9/configure.ac 2011-10-10 15:47:33.000000000 +0800 @@ -70,6 +70,8 @@ gtk_modules="gtk+-2.0 >= 2.16.0" PKG_CHECK_MODULES(GTK, [$gtk_modules]) +OWL_LIBS="-lowl" +GTK_LIBS="$GTK_LIBS $OWL_LIBS" AC_SUBST(GTK_CFLAGS) AC_SUBST(GTK_LIBS) Index: pcmanfm-0.9.9/src/main-win.c =================================================================== --- pcmanfm-0.9.9.orig/src/main-win.c 2011-08-10 05:28:32.000000000 +0800 +++ pcmanfm-0.9.9/src/main-win.c 2011-10-10 15:50:48.000000000 +0800 @@ -37,6 +37,8 @@ #include "pref.h" #include "tab-page.h" +#include "libowl/owlwindowmenu.h" + static void fm_main_win_finalize (GObject *object); G_DEFINE_TYPE(FmMainWin, fm_main_win, GTK_TYPE_WINDOW); @@ -400,9 +402,27 @@ } } +/* Transfer gtk_ui_manager menubar to gtk menubar */ +static GtkWidget * ui_menubar_to_menu(GtkWidget *menubar) +{ + GtkWidget *main_menu; + GList *iter; + + main_menu = gtk_menu_new(); + + for ( iter = gtk_container_get_children(GTK_CONTAINER(menubar)); + iter; + iter = g_list_next(iter) ) + { + GtkWidget *menu = GTK_WIDGET(iter->data); + gtk_widget_reparent(menu, main_menu); + } + return main_menu; +} + static void fm_main_win_init(FmMainWin *win) { - GtkWidget *vbox, *menubar, *toolitem, *btn; + GtkWidget *vbox, *menubar, *owl_menubar, *toolitem, *btn; GtkUIManager* ui; GtkActionGroup* act_grp; GtkAction* act; @@ -456,7 +476,6 @@ win->popup = gtk_ui_manager_get_widget(ui, "/popup"); gtk_menu_attach_to_widget(GTK_WIDGET(win->popup), win, NULL); - gtk_box_pack_start( (GtkBox*)vbox, menubar, FALSE, TRUE, 0 ); gtk_box_pack_start( (GtkBox*)vbox, win->toolbar, FALSE, TRUE, 0 ); /* load bookmarks menu */ @@ -517,6 +536,10 @@ gtk_container_add( (GtkContainer*)win, vbox ); gtk_widget_show_all(vbox); + + owl_menubar = ui_menubar_to_menu(menubar); + gtk_widget_show_all(owl_menubar); + owl_set_window_menu(GTK_WINDOW(win), GTK_MENU(owl_menubar)); }