Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <gtk/gtk.h>
- #include <libappindicator/app-indicator.h>
- void
- cb_appindicator(GtkWidget* widget,
- gpointer data)
- {
- printf("CB!\n");
- AppIndicator* indicator = data;
- app_indicator_set_status(indicator, APP_INDICATOR_STATUS_ATTENTION);
- printf("CB done!\n");
- }
- GtkWidget*
- get_menu(AppIndicator* indicator)
- {
- GtkWidget* menu = gtk_menu_new();
- GtkWidget* item = gtk_menu_item_new_with_label("MENU");
- gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), menu);
- GtkWidget* subitem = gtk_menu_item_new_with_label("SUBMENU");
- g_signal_connect(subitem,
- "activate",
- G_CALLBACK(cb_appindicator),
- indicator);
- gtk_menu_shell_append(GTK_MENU_SHELL(menu),
- subitem);
- gtk_widget_show_all(menu);
- return menu;
- }
- int
- main(int argc, char** argv)
- {
- gtk_init (&argc, &argv);
- GtkWidget* window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
- AppIndicator* indicator
- = app_indicator_new("TESTINDICATOR",
- "gnome-monitor",
- APP_INDICATOR_CATEGORY_APPLICATION_STATUS);
- GtkWidget* indicatormenu = get_menu(indicator);
- app_indicator_set_status(indicator, APP_INDICATOR_STATUS_ACTIVE);
- app_indicator_set_attention_icon(indicator, "dialog-warning");
- app_indicator_set_menu(indicator, GTK_MENU (indicatormenu));
- gtk_widget_show(window);
- gtk_main ();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement