diff options
author | Gilles Dartiguelongue <eva@gentoo.org> | 2009-05-14 20:44:38 +0000 |
---|---|---|
committer | Gilles Dartiguelongue <eva@gentoo.org> | 2009-05-14 20:44:38 +0000 |
commit | a21c83d21babff1c0a42bc523504f8e04d67cc52 (patch) | |
tree | d9faf62189ee2d95b7495aef37069776cb5a8346 /x11-wm | |
parent | amd64/x86 stable, bug #269875 (diff) | |
download | gentoo-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/ChangeLog | 11 | ||||
-rw-r--r-- | x11-wm/metacity/files/metacity-2.26.0-panel-behavior.patch | 112 | ||||
-rw-r--r-- | x11-wm/metacity/metacity-2.26.0-r1.ebuild | 67 |
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" +} |