summaryrefslogtreecommitdiff
path: root/x11-wm
diff options
context:
space:
mode:
authorGilles Dartiguelongue <eva@gentoo.org>2009-05-14 20:44:38 +0000
committerGilles Dartiguelongue <eva@gentoo.org>2009-05-14 20:44:38 +0000
commita21c83d21babff1c0a42bc523504f8e04d67cc52 (patch)
treed9faf62189ee2d95b7495aef37069776cb5a8346 /x11-wm
parentamd64/x86 stable, bug #269875 (diff)
downloadgentoo-2-a21c83d21babff1c0a42bc523504f8e04d67cc52.tar.gz
gentoo-2-a21c83d21babff1c0a42bc523504f8e04d67cc52.tar.bz2
gentoo-2-a21c83d21babff1c0a42bc523504f8e04d67cc52.zip
Add patch to prevent metacity from maximising windows under panels, bug #268699
(Portage version: 2.2_rc33/cvs/Linux i686)
Diffstat (limited to 'x11-wm')
-rw-r--r--x11-wm/metacity/ChangeLog11
-rw-r--r--x11-wm/metacity/files/metacity-2.26.0-panel-behavior.patch112
-rw-r--r--x11-wm/metacity/metacity-2.26.0-r1.ebuild67
3 files changed, 188 insertions, 2 deletions
diff --git a/x11-wm/metacity/ChangeLog b/x11-wm/metacity/ChangeLog
index ea809e915465..967b85db6cc1 100644
--- a/x11-wm/metacity/ChangeLog
+++ b/x11-wm/metacity/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for x11-wm/metacity
-# Copyright 2002-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-wm/metacity/ChangeLog,v 1.233 2009/05/04 22:46:39 eva Exp $
+# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/x11-wm/metacity/ChangeLog,v 1.234 2009/05/14 20:44:38 eva Exp $
+
+*metacity-2.26.0-r1 (14 May 2009)
+
+ 14 May 2009; Gilles Dartiguelongue <eva@gentoo.org>
+ +metacity-2.26.0-r1.ebuild, +files/metacity-2.26.0-panel-behavior.patch:
+ Add patch to prevent metacity from maximising windows under panels, bug
+ #268699.
*metacity-2.26.0 (04 May 2009)
diff --git a/x11-wm/metacity/files/metacity-2.26.0-panel-behavior.patch b/x11-wm/metacity/files/metacity-2.26.0-panel-behavior.patch
new file mode 100644
index 000000000000..971970b965ef
--- /dev/null
+++ b/x11-wm/metacity/files/metacity-2.26.0-panel-behavior.patch
@@ -0,0 +1,112 @@
+# Upstream : http://bugzilla.gnome.org/show_bug.cgi?id=572573
+# Ubuntu : https://bugs.launchpad.net/ubuntu/+source/metacity/+bug/341487
+# Gentoo : https://bugs.gentoo.org/268699
+--- src/core/window-props.c 2009/03/11 14:21:33 4190
++++ src/core/window-props.c 2009/03/12 01:09:41 4191
+@@ -73,12 +73,6 @@
+ ReloadValueFunc reload_func;
+ } MetaWindowPropHooks;
+
+-static void init_prop_value (MetaDisplay *display,
+- Atom property,
+- MetaPropValue *value);
+-static void reload_prop_value (MetaWindow *window,
+- MetaPropValue *value,
+- gboolean initial);
+ static MetaWindowPropHooks* find_hooks (MetaDisplay *display,
+ Atom property);
+
+@@ -128,23 +122,34 @@
+ g_return_if_fail (n_properties > 0);
+
+ values = g_new0 (MetaPropValue, n_properties);
+-
+- i = 0;
+- while (i < n_properties)
++
++ for (i=0; i<n_properties; i++)
+ {
+- init_prop_value (window->display, properties[i], &values[i]);
+- ++i;
++ MetaWindowPropHooks *hooks = find_hooks (window->display,
++ properties[i]);
++
++ if (!hooks || hooks->type == META_PROP_VALUE_INVALID)
++ {
++ values[i].type = META_PROP_VALUE_INVALID;
++ values[i].atom = None;
++ }
++ else
++ {
++ values[i].type = hooks->type;
++ values[i].atom = properties[i];
++ }
+ }
+
+ meta_prop_get_values (window->display, xwindow,
+ values, n_properties);
+
+- i = 0;
+- while (i < n_properties)
++ for (i=0; i<n_properties; i++)
+ {
+- reload_prop_value (window, &values[i], initial);
+-
+- ++i;
++ MetaWindowPropHooks *hooks = find_hooks (window->display,
++ properties[i]);
++
++ if (hooks && hooks->reload_func != NULL)
++ (* hooks->reload_func) (window, &values[i], initial);
+ }
+
+ meta_prop_free_values (values, n_properties);
+@@ -152,37 +157,6 @@
+ g_free (values);
+ }
+
+-/* Fill in the MetaPropValue used to get the value of "property" */
+-static void
+-init_prop_value (MetaDisplay *display,
+- Atom property,
+- MetaPropValue *value)
+-{
+- MetaWindowPropHooks *hooks = find_hooks (display, property);
+-
+- if (!hooks || hooks->type == META_PROP_VALUE_INVALID)
+- {
+- value->type = META_PROP_VALUE_INVALID;
+- value->atom = None;
+- }
+- else
+- {
+- value->type = hooks->type;
+- value->atom = property;
+- }
+-}
+-
+-static void
+-reload_prop_value (MetaWindow *window,
+- MetaPropValue *value,
+- gboolean initial)
+-{
+- MetaWindowPropHooks *hooks = find_hooks (window->display, value->atom);
+-
+- if (hooks && hooks->reload_func != NULL)
+- (* hooks->reload_func) (window, value, initial);
+-}
+-
+ static void
+ reload_wm_client_machine (MetaWindow *window,
+ MetaPropValue *value,
+@@ -1566,6 +1540,9 @@
+ display->prop_hooks_table = NULL;
+ }
+
++/**
++ * Finds the hooks for a particular property.
++ */
+ static MetaWindowPropHooks*
+ find_hooks (MetaDisplay *display,
+ Atom property)
+
diff --git a/x11-wm/metacity/metacity-2.26.0-r1.ebuild b/x11-wm/metacity/metacity-2.26.0-r1.ebuild
new file mode 100644
index 000000000000..40dae57ab559
--- /dev/null
+++ b/x11-wm/metacity/metacity-2.26.0-r1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-wm/metacity/metacity-2.26.0-r1.ebuild,v 1.1 2009/05/14 20:44:38 eva Exp $
+
+EAPI="2"
+
+inherit eutils gnome2
+
+DESCRIPTION="GNOME default window manager"
+HOMEPAGE="http://blogs.gnome.org/metacity/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="test xinerama"
+
+RDEPEND=">=x11-libs/gtk+-2.10
+ >=x11-libs/pango-1.2[X]
+ >=gnome-base/gconf-2
+ >=dev-libs/glib-2.6
+ >=x11-libs/startup-notification-0.7
+ >=x11-libs/libXcomposite-0.2
+ x11-libs/libXfixes
+ x11-libs/libXrender
+ x11-libs/libXdamage
+ x11-libs/libXcursor
+ x11-libs/libX11
+ xinerama? ( x11-libs/libXinerama )
+ x11-libs/libXext
+ x11-libs/libXrandr
+ x11-libs/libSM
+ x11-libs/libICE
+ gnome-extra/zenity
+ !x11-misc/expocity"
+DEPEND="${RDEPEND}
+ >=app-text/gnome-doc-utils-0.8
+ sys-devel/gettext
+ >=dev-util/pkgconfig-0.9
+ >=dev-util/intltool-0.35
+ test? ( app-text/docbook-xml-dtd:4.5 )
+ xinerama? ( x11-proto/xineramaproto )
+ x11-proto/xextproto
+ x11-proto/xproto"
+
+DOCS="AUTHORS ChangeLog HACKING NEWS README *.txt doc/*.txt"
+
+pkg_setup() {
+ G2CONF="${G2CONF}
+ --enable-compositor
+ --enable-gconf
+ --enable-render
+ --enable-shape
+ --enable-sm
+ --enable-startup-notification
+ --enable-xsync
+ $(use_enable xinerama)"
+}
+
+src_prepare() {
+ gnome2_src_prepare
+
+ # Remove stupid CFLAGS, bug #259179
+ sed "s:-Werror::g" -i configure.in configure || die "sed failed"
+
+ # Fix behavior wrt. panel overlap, bug #268699
+ epatch "${FILESDIR}/${P}-panel-behavior.patch"
+}