namespace MunchMate { public class Application : Adw.Application { private Window win; private static bool print_version = false; private const GLib.OptionEntry[] options = { { "version", 'V', OptionFlags.NONE, OptionArg.NONE, ref print_version, "Display version number", null }, { null } // terminator }; private const GLib.ActionEntry[] action_entries = { { "quit", on_quit_activate }, }; public override int handle_local_options(VariantDict _) { if (print_version) { print("%s version %s\n", Config.APP_ID, Config.VERSION); return 0; } return -1; } public override void activate() { win = new Window(this); win.present(); } public override void startup() { base.startup(); set_accels_for_action("app.quit", { "q" }); } public Application() { // why doesnt service binding work in flatpak Object(application_id: Config.APP_ID, flags: ApplicationFlags.NON_UNIQUE); set_resource_base_path("/im/gzr/munchmate/"); add_main_option_entries(options); add_action_entries(action_entries, this); } void on_quit_activate() { quit(); } } }