AkurAI Build
Menu

BifrOSt-Apps

public

Latest change a5b8f241ab7e08ba2740e980a5d90870a34b32fd - Add first-party Flatpak app template by Ólafur Búi Ólafsson

#!/usr/bin/python3
"""Minimal, sandboxed BifrOSt desktop application."""

from __future__ import annotations

import gettext
import sys

import gi

gi.require_version("Adw", "1")
gi.require_version("Gtk", "4.0")
from gi.repository import Adw, Gio, GLib, Gtk

APP_ID = @@PY_APP_ID@@
APP_NAME = @@PY_APP_NAME@@
_ = gettext.translation(APP_ID, "/app/share/locale", fallback=True).gettext


class Application(Adw.Application):
    def __init__(self) -> None:
        super().__init__(application_id=APP_ID, flags=Gio.ApplicationFlags.DEFAULT_FLAGS)
        GLib.set_application_name(APP_NAME)
        self.connect("activate", self.on_activate)

    def on_activate(self, _application: Adw.Application) -> None:
        window = self.props.active_window
        if window is None:
            page = Adw.StatusPage(
                icon_name=APP_ID,
                title=_("Ready to use"),
                description=_("A secure starting point for a BifrOSt application."),
            )
            header = Adw.HeaderBar()
            toolbar = Adw.ToolbarView()
            toolbar.add_top_bar(header)
            toolbar.set_content(page)
            window = Adw.ApplicationWindow(
                application=self,
                default_width=720,
                default_height=480,
                title=APP_NAME,
                content=toolbar,
            )
        window.present()


def main() -> int:
    return Application().run(sys.argv)


if __name__ == "__main__":
    raise SystemExit(main())