import os
import subprocess
-from typing import Any
+from typing import Any, Callable
import gi
gi.require_version("Gtk", "4.0")
os.execvp(command[0], command)
+def make_button(label: str, action: Callable[[Any], None]) -> Gtk.Button:
+ button = Gtk.Button(label=label)
+ button.connect('clicked', action)
+ return button
+
+
def on_activate(app: Gtk.Application) -> None:
win = Gtk.ApplicationWindow(application=app)
box = Gtk.Box()
box.set_orientation(Gtk.Orientation.VERTICAL)
- edit = Gtk.Button(label="Edit Configuration")
- apply = Gtk.Button(label="Apply Configuration")
- edit.connect('clicked', on_edit)
- apply.connect('clicked', on_apply)
+ edit = make_button("Edit Configuration", on_edit)
+ apply = make_button("Apply Configuration", on_apply)
box.append(edit)
box.append(apply)
win.set_child(box)