aboutsummaryrefslogtreecommitdiff
path: root/example/simple-client.c
diff options
context:
space:
mode:
Diffstat (limited to 'example/simple-client.c')
-rw-r--r--example/simple-client.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/example/simple-client.c b/example/simple-client.c
new file mode 100644
index 0000000..8103082
--- /dev/null
+++ b/example/simple-client.c
@@ -0,0 +1,41 @@
+
+#include "libappindicator/app-indicator.h"
+#include "libdbusmenu-glib/server.h"
+#include "libdbusmenu-glib/menuitem.h"
+
+GMainLoop * mainloop = NULL;
+
+int
+main (int argc, char ** argv)
+{
+ g_type_init();
+
+ AppIndicator * ci = APP_INDICATOR(g_object_new(APP_INDICATOR_TYPE, NULL));
+ g_assert(ci != NULL);
+
+ app_indicator_set_id(ci, "example-simple-client");
+ app_indicator_set_category(ci, APP_INDICATOR_CATEGORY_APPLICATION_STATUS);
+ app_indicator_set_status(ci, APP_INDICATOR_STATUS_ACTIVE);
+ app_indicator_set_icon(ci, "indicator-messages");
+ app_indicator_set_attention_icon(ci, "indicator-messages-new");
+
+ DbusmenuMenuitem * root = dbusmenu_menuitem_new();
+
+ DbusmenuMenuitem * item = dbusmenu_menuitem_new();
+ dbusmenu_menuitem_property_set(item, DBUSMENU_MENUITEM_PROP_LABEL, "Item 1");
+ dbusmenu_menuitem_child_append(root, item);
+
+ item = dbusmenu_menuitem_new();
+ dbusmenu_menuitem_property_set(item, DBUSMENU_MENUITEM_PROP_LABEL, "Item 2");
+ dbusmenu_menuitem_child_append(root, item);
+
+ DbusmenuServer * menuservice = dbusmenu_server_new ("/need/a/menu/path");
+ dbusmenu_server_set_root(menuservice, root);
+
+ app_indicator_set_menu(ci, menuservice);
+
+ mainloop = g_main_loop_new(NULL, FALSE);
+ g_main_loop_run(mainloop);
+
+ return 0;
+}