static void window_update (WnckWindow *window, DeskmenuWindow* dmwin) { gchar *name, *ante, *post; if (wnck_window_is_shaded (window)) { ante = "="; post = "="; } else if (wnck_window_is_minimized (window)) { ante = "["; post = "]"; } else { ante = ""; post = ""; } name = g_strconcat (ante, wnck_window_get_name (window), post, NULL); char *markup; if (wnck_window_is_minimized (window)) { markup = g_markup_printf_escaped ("%s", name); gtk_label_set_markup (GTK_LABEL (dmwin->label), markup); g_free (markup); }else gtk_label_set_text (GTK_LABEL (dmwin->label), name); gtk_widget_set_size_request (dmwin->label, wnck_selector_get_width ((dmwin->windowlist->menu), name), -1); g_free (name); GdkPixbuf *pixbuf; gboolean free_pixbuf; pixbuf = wnck_window_get_mini_icon (window); free_pixbuf = FALSE; if (wnck_window_is_minimized (window)) { pixbuf = wnck_selector_dimm_icon (pixbuf); free_pixbuf = TRUE; } gtk_image_set_from_pixbuf (GTK_IMAGE (dmwin->image), pixbuf); if (free_pixbuf) g_object_unref (pixbuf); }