diff options
author | Ted Gould <ted@gould.cx> | 2010-02-06 09:58:46 -0800 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2010-02-06 09:58:46 -0800 |
commit | 5b943016a4de4f75eb48f70779b84daac29604a2 (patch) | |
tree | 34d3b369687b0fecfb5af985f1fc745e9afb4ddf /example | |
parent | 982498c637c6afc0eefca913d3fc875b93ec22cc (diff) | |
download | libayatana-appindicator-5b943016a4de4f75eb48f70779b84daac29604a2.tar.gz libayatana-appindicator-5b943016a4de4f75eb48f70779b84daac29604a2.tar.bz2 libayatana-appindicator-5b943016a4de4f75eb48f70779b84daac29604a2.zip |
Adding a menu item to toggle the attention state.
Diffstat (limited to 'example')
-rw-r--r-- | example/simple-client.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/example/simple-client.c b/example/simple-client.c index 6dcf5d1..f1b8d37 100644 --- a/example/simple-client.c +++ b/example/simple-client.c @@ -25,6 +25,24 @@ with this program. If not, see <http://www.gnu.org/licenses/>. #include "libdbusmenu-glib/menuitem.h" GMainLoop * mainloop = NULL; +static gboolean active = TRUE; + +static void +activate_clicked_cb (GtkWidget *widget, gpointer data) +{ + AppIndicator * ci = APP_INDICATOR(data); + + if (active) { + app_indicator_set_status (ci, APP_INDICATOR_STATUS_ATTENTION); + gtk_menu_item_set_label(GTK_MENU_ITEM(widget), "I'm okay now"); + active = FALSE; + } else { + app_indicator_set_status (ci, APP_INDICATOR_STATUS_ACTIVE); + gtk_menu_item_set_label(GTK_MENU_ITEM(widget), "Get Attention"); + active = TRUE; + } + +} static void item_clicked_cb (GtkWidget *widget, gpointer data) @@ -99,6 +117,12 @@ main (int argc, char ** argv) gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); gtk_widget_show(item); + item = gtk_menu_item_new_with_label ("Get Attention"); + g_signal_connect (item, "activate", + G_CALLBACK (activate_clicked_cb), ci); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); + gtk_widget_show(item); + app_indicator_set_menu (ci, GTK_MENU (menu)); mainloop = g_main_loop_new(NULL, FALSE); |