125
122
awn_icon_update_effects (GtkWidget *widget, gpointer data)
127
124
AwnIconPrivate *priv = AWN_ICON (widget)->priv;
125
DesktopAgnosticConfigClient *client =
126
awn_config_get_default (AWN_PANEL_ID_DEFAULT, NULL);
127
GObject *fx = G_OBJECT (priv->effects);
129
129
if (gtk_widget_is_composited (widget))
131
131
/* optimize the render speed for GTK+ <2.17.3.*/
134
Once https://bugzilla.gnome.org/show_bug.cgi?id=597301 is resolve
135
we will need to set it back to FALSE for the fixed gtk versions
133
* We need to fix various image operations in awn-effects-ops to be able
134
* to use indirect painting for Gtk's CSW.
135
* See https://bugzilla.gnome.org/show_bug.cgi?id=597301.
137
137
#if GTK_CHECK_VERSION(2,17,3)
138
138
g_object_set (priv->effects, "indirect-paint", TRUE, NULL);
140
140
g_object_set (priv->effects, "indirect-paint", FALSE, NULL);
143
if (priv->effects_backup_set)
143
if (priv->bind_effects)
145
g_object_set (priv->effects, "effects", priv->effects_backup, NULL);
145
desktop_agnostic_config_client_bind (
146
client, "effects", "icon_effect",
148
DESKTOP_AGNOSTIC_CONFIG_BIND_METHOD_FALLBACK, NULL
150
/* remember which effects did we use */
151
g_object_get (priv->effects, "effects", &priv->effects_backup, NULL);
152
priv->effects_backup_set = TRUE;
154
if (priv->bind_effects)
156
desktop_agnostic_config_client_unbind (
157
client, "effects", "icon_effect",
159
DESKTOP_AGNOSTIC_CONFIG_BIND_METHOD_FALLBACK, NULL
154
163
g_object_set (priv->effects,
344
352
GObject *fx = G_OBJECT (priv->effects);
346
desktop_agnostic_config_client_bind (client, "effects", "icon_effect",
348
DESKTOP_AGNOSTIC_CONFIG_BIND_METHOD_FALLBACK,
354
if (gtk_widget_is_composited (GTK_WIDGET (object)))
356
desktop_agnostic_config_client_bind (client, "effects", "icon_effect",
358
DESKTOP_AGNOSTIC_CONFIG_BIND_METHOD_FALLBACK,
350
361
desktop_agnostic_config_client_bind (client, "effects", "icon_alpha",
351
362
fx, "icon-alpha", TRUE,
352
363
DESKTOP_AGNOSTIC_CONFIG_BIND_METHOD_FALLBACK,