From ae3cdc27d6265c64510dd65d4fc1d246e799379c Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Wed, 28 May 2014 18:38:39 +0200 Subject: Add an example for client usage from a python script. --- libmessaging-menu/client-example.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100755 libmessaging-menu/client-example.py (limited to 'libmessaging-menu') 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() -- cgit v1.2.3