summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Wijsman <tomwij@gentoo.org>2014-04-03 14:05:41 +0000
committerTom Wijsman <tomwij@gentoo.org>2014-04-03 14:05:41 +0000
commit89085d74f8df69b141bf2692a0497dbfed58bd13 (patch)
treeb5ec349bc1d8eeebc30f326d11779f481a510162 /mate-base
parentadd fetch restriction and fix LICENSE wrt #465986 (diff)
downloadgentoo-2-89085d74f8df69b141bf2692a0497dbfed58bd13.tar.gz
gentoo-2-89085d74f8df69b141bf2692a0497dbfed58bd13.tar.bz2
gentoo-2-89085d74f8df69b141bf2692a0497dbfed58bd13.zip
Revision bump. Backported x-caja-desktop issue solution to fix unnecessary multiple windows popping up. Fixes bug #506660, reported by Joakim Tjernlund; backport inspired by infirit.
(Portage version: HEAD/cvs/Linux x86_64, signed Manifest commit with key 6D34E57D)
Diffstat (limited to 'mate-base')
-rw-r--r--mate-base/mate-file-manager/ChangeLog11
-rw-r--r--mate-base/mate-file-manager/files/mate-file-manager-1.6.3-r1-fix-x-caja-desktop-multiple-windows-issue.patch103
-rw-r--r--mate-base/mate-file-manager/mate-file-manager-1.6.3-r1.ebuild99
3 files changed, 212 insertions, 1 deletions
diff --git a/mate-base/mate-file-manager/ChangeLog b/mate-base/mate-file-manager/ChangeLog
index 60b3f6808fbd..1365226eebd6 100644
--- a/mate-base/mate-file-manager/ChangeLog
+++ b/mate-base/mate-file-manager/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for mate-base/mate-file-manager
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/mate-base/mate-file-manager/ChangeLog,v 1.5 2014/03/10 22:55:54 tomwij Exp $
+# $Header: /var/cvsroot/gentoo-x86/mate-base/mate-file-manager/ChangeLog,v 1.6 2014/04/03 14:05:41 tomwij Exp $
+
+*mate-file-manager-1.6.3-r1 (03 Apr 2014)
+
+ 03 Apr 2014; Tom Wijsman <TomWij@gentoo.org> +files/mate-file-manager-1.6.3-r1
+ -fix-x-caja-desktop-multiple-windows-issue.patch,
+ +mate-file-manager-1.6.3-r1.ebuild:
+ Revision bump. Backported x-caja-desktop issue solution to fix unnecessary
+ multiple windows popping up. Fixes bug #506660, reported by Joakim Tjernlund;
+ backport inspired by infirit.
10 Mar 2014; Tom Wijsman <TomWij@gentoo.org> mate-file-manager-1.6.3.ebuild:
Update dependencies per the consensus formed with ssuominen.
diff --git a/mate-base/mate-file-manager/files/mate-file-manager-1.6.3-r1-fix-x-caja-desktop-multiple-windows-issue.patch b/mate-base/mate-file-manager/files/mate-file-manager-1.6.3-r1-fix-x-caja-desktop-multiple-windows-issue.patch
new file mode 100644
index 000000000000..b818ebdd96db
--- /dev/null
+++ b/mate-base/mate-file-manager/files/mate-file-manager-1.6.3-r1-fix-x-caja-desktop-multiple-windows-issue.patch
@@ -0,0 +1,103 @@
+Adjusted to build against 1.6.3 by removing the is_navigation boolean.
+
+From 4f1e756e08e61840eb9a52de4debee30006ea31e Mon Sep 17 00:00:00 2001
+From: Stefano Karapetsas <stefano@karapetsas.com>
+Date: Tue, 18 Mar 2014 18:16:45 +0100
+Subject: [PATCH] Possible solution for x-caja-desktop issue
+
+---
+ src/caja-application.c | 14 +++++++++++---
+ src/caja-window-manage-views.c | 18 +++++++++++++-----
+ 2 files changed, 24 insertions(+), 8 deletions(-)
+
+diff --git a/src/caja-application.c b/src/caja-application.c
+index 3f4282c..47c86c8 100644
+--- a/src/caja-application.c
++++ b/src/caja-application.c
+@@ -961,6 +961,15 @@ static void drive_listen_for_eject_button (GDrive *drive,
+ }
+ }
+
++static gboolean
++desktop_changed_callback_connect (CajaApplication *application)
++{
++ g_signal_connect_swapped (caja_preferences, "changed::" CAJA_PREFERENCES_DESKTOP_IS_HOME_DIR,
++ G_CALLBACK(desktop_location_changed_callback),
++ G_OBJECT (application));
++ return FALSE;
++}
++
+ void
+ caja_application_startup (CajaApplication *application,
+ gboolean kill_shell,
+@@ -1029,9 +1038,8 @@ static void drive_listen_for_eject_button (GDrive *drive,
+
+ /* Monitor the preference to have the desktop */
+ /* point to the Unix home folder */
+- g_signal_connect_swapped (caja_preferences, "changed::" CAJA_PREFERENCES_DESKTOP_IS_HOME_DIR,
+- G_CALLBACK(desktop_location_changed_callback),
+- G_OBJECT (application));
++ g_timeout_add_seconds (30, (GSourceFunc) desktop_changed_callback_connect, application);
++
+ /* Create the other windows. */
+ if (urls != NULL || !no_default_window)
+ {
+diff --git a/src/caja-window-manage-views.c b/src/caja-window-manage-views.c
+index c7918e6..616e85b 100644
+--- a/src/caja-window-manage-views.c
++++ b/src/caja-window-manage-views.c
+@@ -49,6 +49,7 @@
+ #include <eel/eel-gtk-macros.h>
+ #include <eel/eel-stock-dialogs.h>
+ #include <eel/eel-string.h>
++#include <eel/eel-vfs-extensions.h>
+ #include <gtk/gtk.h>
+ #include <gdk/gdkx.h>
+ #include <glib/gi18n.h>
+@@ -527,8 +528,9 @@ static void load_new_location (CajaWindowSlot *s
+ char *old_uri, *new_uri;
+ int new_slot_position;
+ GList *l;
+- gboolean target_navigation = FALSE, target_same = FALSE;
+- gboolean is_desktop;
++ gboolean target_navigation = FALSE;
++ gboolean target_same = FALSE;
++ gboolean is_desktop = FALSE;
+
+ window = slot->pane->window;
+
+@@ -567,7 +570,12 @@ static void load_new_location (CajaWindowSlot *s
+ * otherwise it's the same window.
+ */
+ if (is_desktop) {
+- target_navigation = TRUE;
++ new_uri = g_file_get_uri (location);
++ if (g_str_has_prefix (new_uri, EEL_DESKTOP_URI))
++ target_same = TRUE;
++ else
++ target_navigation = TRUE;
++ g_free (new_uri);
+ } else {
+ target_same = TRUE;
+ }
+@@ -676,7 +684,7 @@ static void load_new_location (CajaWindowSlot *s
+ }
+ }
+
+- if ((target_window == window && target_slot == slot &&
++ if (!(is_desktop && target_same) && (target_window == window && target_slot == slot &&
+ old_location && g_file_equal (old_location, location))) {
+
+ if (callback != NULL) {
+@@ -688,7 +696,7 @@ static void load_new_location (CajaWindowSlot *s
+ }
+
+ begin_location_change (target_slot, location, old_location, new_selection,
+- CAJA_LOCATION_CHANGE_STANDARD, 0, NULL, callback, user_data);
++ (is_desktop && target_same) ? CAJA_LOCATION_CHANGE_RELOAD : CAJA_LOCATION_CHANGE_STANDARD, 0, NULL, callback, user_data);
+
+ /* Additionally, load this in all slots that have no location, this means
+ we load both panes in e.g. a newly opened dual pane window. */
+--
+1.9.1
+
diff --git a/mate-base/mate-file-manager/mate-file-manager-1.6.3-r1.ebuild b/mate-base/mate-file-manager/mate-file-manager-1.6.3-r1.ebuild
new file mode 100644
index 000000000000..fb2c0e1ded2f
--- /dev/null
+++ b/mate-base/mate-file-manager/mate-file-manager-1.6.3-r1.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/mate-base/mate-file-manager/mate-file-manager-1.6.3-r1.ebuild,v 1.1 2014/04/03 14:05:41 tomwij Exp $
+
+EAPI="5"
+
+GCONF_DEBUG="yes"
+GNOME2_LA_PUNT="yes"
+
+inherit eutils gnome2 versionator virtualx
+
+MATE_BRANCH="$(get_version_component_range 1-2)"
+
+SRC_URI="http://pub.mate-desktop.org/releases/${MATE_BRANCH}/${P}.tar.xz"
+DESCRIPTION="Caja file manager for the MATE desktop"
+HOMEPAGE="http://mate-desktop.org"
+
+LICENSE="GPL-2 LGPL-2 FDL-1.1"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE="X +mate +introspection +unique xmp"
+
+RDEPEND="dev-libs/atk:0
+ >=dev-libs/glib-2.28:2
+ >=dev-libs/libxml2-2.4.7:2
+ || (
+ >=gnome-base/gvfs-1.10.1:0[gdu]
+ >=gnome-base/gvfs-1.10.1:0[udisks]
+ )
+ >=mate-base/mate-desktop-1.6:0
+ >=media-libs/libexif-0.5.12:0
+ >=x11-libs/gtk+-2.24:2[introspection?]
+ x11-libs/cairo:0
+ x11-libs/gdk-pixbuf:2
+ x11-libs/libICE:0
+ x11-libs/libSM:0
+ x11-libs/libX11:0
+ x11-libs/libXext:0
+ x11-libs/libXft:0
+ x11-libs/libXrender:0
+ >=x11-libs/pango-1.1.2:0
+ virtual/libintl:0
+ introspection? ( >=dev-libs/gobject-introspection-0.6.4:0 )
+ unique? ( >=dev-libs/libunique-1:1 )
+ xmp? ( >=media-libs/exempi-1.99.2:2 )"
+
+DEPEND="${RDEPEND}
+ >=dev-lang/perl-5:0=
+ dev-util/gdbus-codegen:0
+ >=dev-util/intltool-0.40.1:*
+ >=mate-base/mate-common-1.6:0
+ sys-devel/gettext:*
+ virtual/pkgconfig:*"
+
+PDEPEND="mate? ( >=x11-themes/mate-icon-theme-1.6:0 )"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-r1-fix-x-caja-desktop-multiple-windows-issue.patch
+
+ gnome2_src_prepare
+
+ # Remove -n parameter.
+ sed -i -e 's:Exec=caja -n:Exec=caja:g' \
+ data/caja.desktop || die
+
+ # Remove crazy CFLAGS.
+ sed -i -e 's:-DG.*DISABLE_DEPRECATED::g' \
+ configure{,.ac} eel/Makefile.{am,in} || die
+}
+
+src_configure() {
+ gnome2_src_configure \
+ --enable-unique \
+ --disable-packagekit \
+ --disable-update-mimedb \
+ --with-gtk=2.0 \
+ $(use_enable introspection) \
+ $(use_enable unique) \
+ $(use_enable xmp) \
+ $(use_with X x)
+}
+
+DOCS="AUTHORS ChangeLog* HACKING MAINTAINERS NEWS README THANKS TODO"
+
+src_test() {
+ unset SESSION_MANAGER
+ unset DBUS_SESSION_BUS_ADDRESS
+
+ Xemake check || die "Test phase failed"
+}
+
+pkg_postinst() {
+ gnome2_pkg_postinst
+
+ elog "caja can use gstreamer to preview audio files. Just make sure"
+ elog "to have the necessary plugins available to play the media type you"
+ elog "want to preview."
+}