diff -Nru evince-3.22.1/debian/changelog evince-3.22.1/debian/changelog --- evince-3.22.1/debian/changelog 2016-10-31 01:09:10.000000000 +0000 +++ evince-3.22.1/debian/changelog 2017-03-04 22:01:14.000000000 +0000 @@ -1,3 +1,10 @@ +evince (3.22.1-2ubuntu2) zesty; urgency=medium + + * Revise traditional and unity patches to simplify the logic + - CSD used in all GNOME based desktops such as budgie-desktop + + -- David Mohammed Sat, 04 Mar 2017 22:01:14 +0000 + evince (3.22.1-2ubuntu1) zesty; urgency=medium * Merge with Debian. Remaining changes: diff -Nru evince-3.22.1/debian/patches/traditional_menu_bar.patch evince-3.22.1/debian/patches/traditional_menu_bar.patch --- evince-3.22.1/debian/patches/traditional_menu_bar.patch 2016-10-31 01:09:10.000000000 +0000 +++ evince-3.22.1/debian/patches/traditional_menu_bar.patch 2017-03-04 21:51:48.000000000 +0000 @@ -10,11 +10,19 @@ https://bugzilla.gnome.org/show_bug.cgi?id=736419 -Index: evince-3.20.1/shell/ev-application.c +Index: evince-3.22.1/shell/ev-application.c =================================================================== ---- evince-3.20.1.orig/shell/ev-application.c -+++ evince-3.20.1/shell/ev-application.c -@@ -50,6 +50,7 @@ struct _EvApplication { +--- evince-3.22.1.orig/shell/ev-application.c ++++ evince-3.22.1/shell/ev-application.c +@@ -44,12 +44,15 @@ + #include "ev-media-player-keys.h" + #endif /* ENABLE_DBUS */ + ++extern gboolean in_desktop (const gchar *name); ++ + struct _EvApplication { + GtkApplication base_instance; + gchar *uri; gchar *dot_dir; @@ -22,7 +30,7 @@ #ifdef ENABLE_DBUS EvEvinceApplication *skeleton; -@@ -1038,6 +1039,26 @@ app_about_cb (GSimpleAction *action, +@@ -1040,6 +1043,26 @@ app_about_cb (GSimpleAction *action, } static void @@ -49,11 +57,11 @@ ev_application_startup (GApplication *gapplication) { const GActionEntry app_menu_actions[] = { -@@ -1097,6 +1118,25 @@ ev_application_startup (GApplication *ga +@@ -1099,6 +1122,25 @@ ev_application_startup (GApplication *ga app_menu_actions, G_N_ELEMENTS (app_menu_actions), application); -+ if (ev_application_has_traditional_menus (application)) { ++ if (!in_desktop ("GNOME")) { + GtkBuilder *builder; + GError *error = NULL; + @@ -75,35 +83,10 @@ for (it = action_accels; it[0]; it += g_strv_length ((gchar **)it) + 1) gtk_application_set_accels_for_action (GTK_APPLICATION (application), it[0], &it[1]); } -@@ -1320,3 +1360,24 @@ ev_application_show_help (EvApplication - gtk_show_uri (screen, uri, gtk_get_current_event_time (), NULL); - g_free (uri); - } -+ -+gboolean -+ev_application_has_traditional_menus (EvApplication *application) -+{ -+ GdkDisplay *display; -+ GdkScreen *screen; -+ GtkSettings *settings; -+ gboolean show_app_menu; -+ gboolean show_menubar; -+ -+ g_return_val_if_fail (EV_IS_APPLICATION (application), FALSE); -+ -+ display = gdk_display_get_default (); -+ screen = gdk_display_get_default_screen (display); -+ settings = gtk_settings_get_for_screen (screen); -+ g_object_get (G_OBJECT (settings), -+ "gtk-shell-shows-app-menu", &show_app_menu, -+ "gtk-shell-shows-menubar", &show_menubar, NULL); -+ -+ return !show_app_menu || show_menubar; -+} -Index: evince-3.20.1/shell/ev-application.h +Index: evince-3.22.1/shell/ev-application.h =================================================================== ---- evince-3.20.1.orig/shell/ev-application.h -+++ evince-3.20.1/shell/ev-application.h +--- evince-3.22.1.orig/shell/ev-application.h ++++ evince-3.22.1/shell/ev-application.h @@ -75,6 +75,8 @@ void ev_application_show_he GdkScreen *screen, const char *topic); @@ -113,10 +96,10 @@ G_END_DECLS #endif /* !EV_APPLICATION_H */ -Index: evince-3.20.1/shell/evince.gresource.xml.in +Index: evince-3.22.1/shell/evince.gresource.xml.in =================================================================== ---- evince-3.20.1.orig/shell/evince.gresource.xml.in -+++ evince-3.20.1/shell/evince.gresource.xml.in +--- evince-3.22.1.orig/shell/evince.gresource.xml.in ++++ evince-3.22.1/shell/evince.gresource.xml.in @@ -21,5 +21,6 @@ @EVINCE_CSS@ thumbnail-frame.png @@ -124,11 +107,11 @@ + traditional-menus.ui -Index: evince-3.20.1/shell/ev-window.c +Index: evince-3.22.1/shell/ev-window.c =================================================================== ---- evince-3.20.1.orig/shell/ev-window.c -+++ evince-3.20.1/shell/ev-window.c -@@ -637,6 +637,8 @@ update_chrome_visibility (EvWindow *wind +--- evince-3.22.1.orig/shell/ev-window.c ++++ evince-3.22.1/shell/ev-window.c +@@ -634,6 +634,8 @@ update_chrome_visibility (EvWindow *wind set_widget_visibility (priv->toolbar, toolbar); set_widget_visibility (priv->sidebar, sidebar); @@ -137,7 +120,7 @@ } static void -@@ -7141,7 +7143,6 @@ ev_window_new (void) +@@ -7075,7 +7077,6 @@ ev_window_new (void) ev_window = GTK_WIDGET (g_object_new (EV_TYPE_WINDOW, "type", GTK_WINDOW_TOPLEVEL, "application", g_application_get_default (), @@ -145,10 +128,10 @@ NULL)); return ev_window; -Index: evince-3.20.1/shell/Makefile.am +Index: evince-3.22.1/shell/Makefile.am =================================================================== ---- evince-3.20.1.orig/shell/Makefile.am -+++ evince-3.20.1/shell/Makefile.am +--- evince-3.22.1.orig/shell/Makefile.am ++++ evince-3.22.1/shell/Makefile.am @@ -174,7 +174,8 @@ EXTRA_DIST = \ evince-icon.rc \ evince.gresource.xml.in \ @@ -159,10 +142,10 @@ GRESOURCE_XML_IN_FILES = evince.gresource.xml.in GRESOURCE_XML_FILE = $(GRESOURCE_XML_IN_FILES:.xml.in=.xml) -Index: evince-3.20.1/shell/traditional-menus.ui +Index: evince-3.22.1/shell/traditional-menus.ui =================================================================== --- /dev/null -+++ evince-3.20.1/shell/traditional-menus.ui ++++ evince-3.22.1/shell/traditional-menus.ui @@ -0,0 +1,234 @@ + +