#include #include static void source_activated (MessagingMenuApp *mmapp, const gchar *source_id, gpointer user_data) { g_print ("source '%s' was activated\n", source_id); } static void inbox_activated (MessagingMenuApp *mmapp, const gchar *source_id, gpointer user_data) { g_print ("inbox was activated!\n"); } static void status_changed (MessagingMenuApp *mmapp, MessagingMenuStatus status, gpointer user_data) { g_print ("status changed to %d\n", status); messaging_menu_app_set_status (mmapp, MESSAGING_MENU_STATUS_AWAY); } int main (int argc, char *argv[]) { GMainLoop *loop; MessagingMenuApp *mmapp; g_type_init (); mmapp = messaging_menu_app_new ("thunderbird.desktop"); messaging_menu_app_register (mmapp); messaging_menu_app_append_source_with_count (mmapp, "inbox", NULL, "Inbox", 2); messaging_menu_app_append_source_with_count (mmapp, "archive", NULL, "Archive", 5); messaging_menu_app_append_source_with_count (mmapp, "work", NULL, "Work", 279); g_signal_connect (mmapp, "activate-source", G_CALLBACK (source_activated), NULL); g_signal_connect (mmapp, "activate-source::inbox", G_CALLBACK (inbox_activated), NULL); g_signal_connect (mmapp, "status-changed", G_CALLBACK (status_changed), NULL); messaging_menu_app_set_source_count (mmapp, "archive", 8); // messaging_menu_app_remove_source (mmapp, "inbox"); messaging_menu_app_draw_attention (mmapp, "archive"); loop = g_main_loop_new (NULL, FALSE); g_main_loop_run (loop); g_object_unref (mmapp); g_object_unref (loop); return 0; }