from __future__ import annotations from pathlib import Path from gi.repository import Gdk, Gtk from .main_window import MainWindow from .thumbnailer import Thumbnailer __all__ = ["Application"] class Application(Gtk.Application): def __init__(self, thumbnailer: Thumbnailer): super().__init__() self.thumbnailer = thumbnailer # Load CSS css_provider = Gtk.CssProvider() css_file = Path(__file__).parent / "style.css" css_provider.load_from_path(str(css_file)) display = Gdk.Display.get_default() if display is None: raise RuntimeError("No display available") Gtk.StyleContext.add_provider_for_display( display, css_provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION, ) def do_activate(self): win = MainWindow(application=self, thumbnailer=self.thumbnailer) win.present()