1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| gboolean MAJ(gpointer d)
{
Tcb *P=(Tcb *) d;
gchar min[5];
(P->nb_min)++;
g_sprintf(min,"%2d min",P->nb_min);
gtk_status_icon_set_tooltip(P->icon,min);
if ( P->nb_min >= 45 && P->pause==FALSE )
{
P->pause=TRUE;
P->nb_min=0;
printf("STOP !\n");
}
else
{
if (P->pause!=TRUE && P->nb_min==15)
{
P->pause=FALSE;
P->nb_min=0;
printf("Au BOULOT !\n");
}
else
{
printf("Tout est normal : %d min\n",P->nb_min);
}
}
return TRUE;
}
int main (int argc, char ** argv)
{
Tcb P;
int id_thread;
gchar min[5];
P.nb_min=0;
P.pause=FALSE;
gtk_init (&argc, &argv);
// Creation de l'icone et d'une info-bulle.
P.icon = gtk_status_icon_new_from_file (ICONE);
g_sprintf(min,"%2d min",P.nb_min);
gtk_status_icon_set_tooltip (GTK_STATUS_ICON (P.icon),min);
// On attache un callback sur le widget GtkStatusIcon.
g_signal_connect (G_OBJECT(P.icon),"popup-menu",G_CALLBACK(popup_menu_function),NULL);
id_thread=g_timeout_add(1000,(GSourceFunc)MAJ,&P);
gtk_main ();/*g_timer_destroy (timer);*/
return 0;
} |
Partager