diff options
Diffstat (limited to 'examples/simple.py')
-rw-r--r-- | examples/simple.py | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/examples/simple.py b/examples/simple.py new file mode 100644 index 0000000..bc2d37c --- /dev/null +++ b/examples/simple.py @@ -0,0 +1,42 @@ +# creates this menu: +# +# Menu Item +# ---------------- +# One +# Two +# Three +# ---------------- +# Submenu > | One +# | Two +# | Three + +from gi.repository import GLib, Gio + +def action_activated (action, parameter): + print action.get_name () + +actions = Gio.SimpleActionGroup () +for i in ['one', 'two', 'three']: + action = Gio.SimpleAction.new (i, None) + action.connect ('activate', action_activated) + actions.insert (action) + +numbers = Gio.Menu () +numbers.append ('One', 'one') +numbers.append ('Two', 'two') +numbers.append ('Three', 'three') + +menu = Gio.Menu () +menu.append ('Menu item', 'one') +menu.append_section ('Numbers', numbers) +menu.append_submenu ('Submenu', numbers) + +# export the menu and action group on d-bus +bus = Gio.bus_get_sync (Gio.BusType.SESSION, None) +bus.export_menu_model ('/menu', menu) +bus.export_action_group ('/menu', actions) +print bus.get_unique_name () + +loop = GLib.MainLoop () +loop.run () + |