Updating branch refs/heads/xfce-4.8
to a9105314b1b40856795c8339a85718ca4b33c7a3 (commit)
from a092b2bc1e4a4e227e6e82bf9635c96266197afd (commit)
commit a9105314b1b40856795c8339a85718ca4b33c7a3
Author: Nick Schermer <[email protected]>
Date: Wed Jan 19 12:14:53 2011 +0100
Make sure the background is reloaded on compositing changes.
When enabling or disabling the compositor in xfwm4, the
background was grey most of the time, so make sure the
background is reloaded when compositing changes by triggering
a screen size changed signal (which does all we want).
src/xfce-desktop.c | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/src/xfce-desktop.c b/src/xfce-desktop.c
index 0dab00d..f507132 100644
--- a/src/xfce-desktop.c
+++ b/src/xfce-desktop.c
@@ -400,6 +400,14 @@ screen_size_changed_cb(GdkScreen *gscreen, gpointer
user_data)
}
static void
+screen_composited_changed_cb(GdkScreen *gscreen,
+ gpointer user_data)
+{
+ /* fake a screen size changed, so the background is properly set */
+ screen_size_changed_cb(gscreen, user_data);
+}
+
+static void
xfce_desktop_monitors_changed(GdkScreen *gscreen,
gpointer user_data)
{
@@ -757,6 +765,8 @@ xfce_desktop_realize(GtkWidget *widget)
g_signal_connect(G_OBJECT(desktop->priv->gscreen), "size-changed",
G_CALLBACK(screen_size_changed_cb), desktop);
+ g_signal_connect(G_OBJECT(desktop->priv->gscreen), "composited-changed",
+ G_CALLBACK(screen_composited_changed_cb), desktop);
gtk_widget_add_events(GTK_WIDGET(desktop), GDK_EXPOSURE_MASK);
@@ -795,6 +805,8 @@ xfce_desktop_unrealize(GtkWidget *widget)
g_signal_handlers_disconnect_by_func(G_OBJECT(desktop->priv->gscreen),
G_CALLBACK(screen_size_changed_cb), desktop);
+ g_signal_handlers_disconnect_by_func(G_OBJECT(desktop->priv->gscreen),
+ G_CALLBACK(screen_composited_changed_cb), desktop);
groot = gdk_screen_get_root_window(desktop->priv->gscreen);
gdk_property_delete(groot, gdk_atom_intern("XFCE_DESKTOP_WINDOW", FALSE));
_______________________________________________
Xfce4-commits mailing list
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits