Menu
BifrOSt-Apps
publicLatest 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())