}
return result;
}
-
-void
-change_billboard(Actor * actor, AWallpaperPlugin *desktop_plugin)
+void read_notification(AWallpaperPlugin *desktop_plugin)
{
- GtkWidget *label;
- gchar *message = NULL, *mes = NULL;
- PangoFontDescription *pfd = NULL;
+ gchar *message = NULL;
gint count = 0;
- label = actor->image;
+ fprintf(stderr, "read notification \n");
count = get_notify_count("missed");
if (count > 0){
message = g_strdup_printf("%s: %d", _("Missed calls"), count);
message = g_strdup_printf("%s: %d", _("Missed mail"), count);
}
}
+ desktop_plugin->priv->scene->notification = g_strdup(message);
+ g_free(message);
+}
- //fprintf(stderr, "message = %s", message);
- if (message){
- mes = g_markup_printf_escaped("<span bgcolor=\"%s\" foreground=\"%s\">%s</span>", "#FFFFFF", "#000000", message);
+void
+change_billboard(Actor * actor, AWallpaperPlugin *desktop_plugin)
+{
+ GtkWidget *label;
+ gchar *mes = NULL;
+ PangoFontDescription *pfd = NULL;
+
+
+ if (desktop_plugin->priv->scene->notification){
+ label = actor->image;
+ mes = g_markup_printf_escaped("<span bgcolor=\"%s\" foreground=\"%s\">%s</span>", "#FFFFFF", "#000000",
+ desktop_plugin->priv->scene->notification);
gtk_label_set_markup(GTK_LABEL(label), mes);
- g_free(message);
- pfd = pango_font_description_from_string("Sans 14");
+ pfd = pango_font_description_from_string("Sans 16");
gtk_widget_modify_font(GTK_WIDGET(label), NULL);
gtk_widget_modify_font(GTK_WIDGET(label), pfd);
pango_font_description_free(pfd);
- actor->time_start_animation = time(NULL) + 20;
}
+ actor->time_start_animation = time(NULL) + 20;
}
GPtrArray *child
);
void destroy_actor(Actor *actor);
+void read_notification(AWallpaperPlugin *desktop_plugin);
void set_actor_position(Actor *actor, gint x, gint y, gint z, AWallpaperPlugin *desktop_plugin);
void set_actor_scale(Actor *actor, double scalex, double scaley);
void set_actor_visible(Actor *actor, gboolean visible);
gint
fast_rnd(gint max)
{
-/* guint offset = 12923; */
-/* guint multiplier = 4079; */
-
- //*seed = *seed * multiplier + offset;
- //return (gint)(*seed % max);
- guint seed = time(NULL);
+ guint offset = 12923;
+ guint multiplier = 4079;
+ static guint seed = 123;
+
+ seed = seed * multiplier + offset;
return (gint)(seed % max);
}
void
scene->wind_angle = 0.3;
/* init value for random */
scene->seed = time(NULL);
+ scene->notification = NULL;
desktop_plugin->priv->scene = scene;
+ read_notification(desktop_plugin);
actor = init_object(desktop_plugin, "sky", "sky0.png",
0, 0, 5, 800, 480,