aboutsummaryrefslogtreecommitdiff
path: root/libmessaging-menu/client-example.py
diff options
context:
space:
mode:
Diffstat (limited to 'libmessaging-menu/client-example.py')
-rwxr-xr-xlibmessaging-menu/client-example.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/libmessaging-menu/client-example.py b/libmessaging-menu/client-example.py
new file mode 100755
index 0000000..76cb326
--- /dev/null
+++ b/libmessaging-menu/client-example.py
@@ -0,0 +1,21 @@
+#!/usr/bin/env python
+
+from gi.repository import GLib, Gio, MessagingMenu
+
+mmapp = MessagingMenu.App(desktop_id='evolution.desktop')
+
+# make the application appear in the messaging menu. The name and icon are taken from the desktop file above
+mmapp.register()
+
+def source_activated(mmapp, source_id):
+ print('source {} activated'.format(source_id))
+
+# do something when the user clicks on a source. The source will be removed automatically
+mmapp.connect('activate-source', source_activated)
+
+# add a 'source' (a menu item below the application's name) with the name 'Inbox' and a count of 7
+icon = Gio.ThemedIcon.new_with_default_fallbacks('my-source-icon')
+mmapp.append_source_with_count('inbox', icon, 'Inbox', 7)
+
+# this is not necessary for gtk applications, which start a mainloop in gtk_main()
+GLib.MainLoop().run()