fix autohide panel interaction
This commit is contained in:
parent
cf075a625b
commit
20cf74d5ea
109
metacity-struts.patch
Normal file
109
metacity-struts.patch
Normal file
@ -0,0 +1,109 @@
|
||||
--- trunk/src/core/window-props.c 2009/03/11 14:21:33 4190
|
||||
+++ trunk/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)
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
Summary: Unobtrusive window manager
|
||||
Name: metacity
|
||||
Version: 2.25.144
|
||||
Release: 5%{?dist}
|
||||
Release: 6%{?dist}
|
||||
URL: http://download.gnome.org/sources/metacity/
|
||||
Source0: http://download.gnome.org/sources/metacity/2.25/metacity-%{version}.tar.bz2
|
||||
Patch0: default-theme.patch
|
||||
@ -11,6 +11,8 @@ Patch4: stop-spamming-xsession-errors.patch
|
||||
Patch5: metacity-canberra.patch
|
||||
# fixed upstream
|
||||
Patch6: metacity-dont-force-bell.patch
|
||||
# fixed upstream
|
||||
Patch7: metacity-struts.patch
|
||||
|
||||
License: GPLv2+
|
||||
Group: User Interface/Desktops
|
||||
@ -51,8 +53,8 @@ Requires(pre): GConf2 >= 2.14
|
||||
Requires(preun): GConf2 >= 2.14
|
||||
|
||||
%description
|
||||
Metacity is a window manager that integrates nicely with the GNOME desktop.
|
||||
It strives to be quiet, small, stable, get on with its job, and stay out of
|
||||
Metacity is a window manager that integrates nicely with the GNOME desktop.
|
||||
It strives to be quiet, small, stable, get on with its job, and stay out of
|
||||
your attention.
|
||||
|
||||
%package devel
|
||||
@ -69,11 +71,12 @@ programs using the metacity-private library, since it is a private
|
||||
API. This package exists purely for technical reasons.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%setup -q
|
||||
%patch0 -p1 -b .default-theme
|
||||
%patch4 -p1 -b .stop-spamming-xsession-errors
|
||||
%patch5 -p1 -b .canberra
|
||||
%patch6 -p1 -b .dont-force-bell
|
||||
%patch7 -p1 -b .struts
|
||||
|
||||
autoreconf -i -f
|
||||
|
||||
@ -179,6 +182,9 @@ fi
|
||||
%{_mandir}/man1/metacity-window-demo.1.gz
|
||||
|
||||
%changelog
|
||||
* Wed Mar 11 2009 Matthias Clasen <mclasen@redhat.com> - 2.25.144-6
|
||||
- Fix interaction with autohide panels
|
||||
|
||||
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.25.144-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user