summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xpython-gnome-app25
1 files changed, 22 insertions, 3 deletions
diff --git a/python-gnome-app b/python-gnome-app
index 440e95f..a69f801 100755
--- a/python-gnome-app
+++ b/python-gnome-app
@@ -1,7 +1,7 @@
#!/usr/bin/python3
import sys
-from gi.repository import Gtk
+from gi.repository import Gio, Gtk
class PythonApp(Gtk.Application):
@@ -11,10 +11,29 @@ class PythonApp(Gtk.Application):
self, application_id="org.example.PythonGnome")
self.connect("activate", self.on_activate)
+ self.connect("startup", self.on_startup)
+
+ def on_startup(self, app):
+ self.window = Gtk.ApplicationWindow(application=app)
+
+ hello_world = Gio.SimpleAction(name="hello-world", parameter_type=None)
+ self.add_action(hello_world)
+ self.add_accelerator("<Primary>h", "app.hello-world", None)
+ hello_world.connect("activate", self.on_hello_world)
+
+ quit = Gio.SimpleAction(name="quit", parameter_type=None)
+ self.add_action(quit)
+ self.add_accelerator("<Primary>q", "app.quit", None)
+ quit.connect("activate", self.on_quit)
def on_activate(self, app):
- window = Gtk.ApplicationWindow(application=app)
- window.show_all()
+ self.window.show_all()
+
+ def on_hello_world(self, action=None, param=None):
+ print("Hello world!")
+
+ def on_quit(self, action=None, param=None):
+ self.quit()
app = PythonApp()
exit_status = app.run(None)