|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
diff -up gnome-settings-daemon-2.24.0/plugins/background/gsd-background-manager.c.fade gnome-settings-daemon-2.24.0/plugins/background/gsd-background-manager.c
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
--- gnome-settings-daemon-2.24.0/plugins/background/gsd-background-manager.c.fade 2008-08-04 10:25:52.000000000 -0400
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
d55b97e |
+++ gnome-settings-daemon-2.24.0/plugins/background/gsd-background-manager.c 2008-10-14 15:50:08.000000000 -0400
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
@@ -155,7 +155,8 @@ nautilus_is_running (void)
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
}
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
static void
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
-draw_background (GsdBackgroundManager *manager)
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
+draw_background (GsdBackgroundManager *manager,
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
+ gboolean use_crossfade)
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
{
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
GdkDisplay *display;
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
int n_screens;
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
@@ -185,7 +186,15 @@ draw_background (GsdBackgroundManager *m
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
gdk_screen_get_height (screen),
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
TRUE);
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
- gnome_bg_set_pixmap_as_root (screen, pixmap);
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
+ if (use_crossfade) {
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
+ GnomeBGCrossfade *fade;
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
+
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
+ fade = gnome_bg_set_pixmap_as_root_with_crossfade (screen, pixmap, NULL);
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
+ g_signal_connect (fade, "finished",
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
+ G_CALLBACK (g_object_unref), NULL);
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
+ } else {
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
+ gnome_bg_set_pixmap_as_root (screen, pixmap);
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
g_object_unref (pixmap);
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
}
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
@@ -197,7 +206,7 @@ static gboolean
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
queue_draw_background (GsdBackgroundManager *manager)
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
{
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
manager->priv->timeout_id = 0;
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
- draw_background (manager);
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
+ draw_background (manager, TRUE);
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
return FALSE;
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
}
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
@@ -205,7 +214,14 @@ static void
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
on_bg_changed (GnomeBG *bg,
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
GsdBackgroundManager *manager)
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
{
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
- draw_background (manager);
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
+ draw_background (manager, TRUE);
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
+}
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
+
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
+static void
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
+on_bg_transitioned (GnomeBG *bg,
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
+ GsdBackgroundManager *manager)
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
+{
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
+ draw_background (manager, FALSE);
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
}
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
static void
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
d55b97e |
@@ -252,9 +268,12 @@ gsd_background_manager_start (GsdBackgro
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
G_CALLBACK (on_bg_changed),
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
manager);
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
+ g_signal_connect (manager->priv->bg,
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
+ "transitioned",
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
+ G_CALLBACK (on_bg_transitioned),
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
+ manager);
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
+
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
watch_bg_preferences (manager);
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
d55b97e |
- gnome_bg_load_from_preferences (manager->priv->bg,
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
d55b97e |
- manager->priv->client);
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
d55b97e |
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
d55b97e |
/* If this is set, nautilus will draw the background and is
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
d55b97e |
* almost definitely in our session. however, it may not be
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
d55b97e |
@@ -266,14 +285,22 @@ gsd_background_manager_start (GsdBackgro
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
d55b97e |
nautilus_show_desktop = gconf_client_get_bool (manager->priv->client,
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
"/apps/nautilus/preferences/show_desktop",
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
NULL);
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
d55b97e |
+ if (nautilus_show_desktop) {
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
d55b97e |
+
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
d55b97e |
+ gnome_bg_ignore_changes (manager->priv->bg, TRUE);
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
d55b97e |
+
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
d55b97e |
+ gnome_bg_load_from_preferences (manager->priv->bg,
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
d55b97e |
+ manager->priv->client);
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
d55b97e |
+
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
d55b97e |
+ gnome_bg_ignore_changes (manager->priv->bg, FALSE);
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
- if (!nautilus_show_desktop) {
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
- draw_background (manager);
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
- } else {
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
/* even when nautilus is supposedly handling the
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
* background, apply the settings eventually to make
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
1dee568 |
* people running a nautilus-less session happy */
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
d55b97e |
manager->priv->timeout_id = g_timeout_add_seconds (8, (GSourceFunc)queue_draw_background, manager);
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
d55b97e |
+ } else {
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
d55b97e |
+ gnome_bg_load_from_preferences (manager->priv->bg,
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
d55b97e |
+ manager->priv->client);
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
d55b97e |
}
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
d55b97e |
|
|
![](https://seccdn.libravatar.org/avatar/d13caac2dfd3ba477db2e3e0ad01ad443cf2cd9d160e6f3d7a7a82345ed68676?s=16&d=retro) |
d55b97e |
gnome_settings_profile_end (NULL);
|