Anna Schumaker
c899c15c42
This Label supports setting a prefix that is applied to the displayed string and setting a font size in pixels. Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
66 lines
2.6 KiB
Python
66 lines
2.6 KiB
Python
# Copyright 2022 (c) Anna Schumaker.
|
|
"""Set up GObject Introspection, and custom styling, and icons."""
|
|
import pathlib
|
|
import sys
|
|
import sqlite3
|
|
import gi
|
|
import xdg.BaseDirectory
|
|
|
|
gi.require_version("Pango", "1.0")
|
|
gi.require_version("Gdk", "4.0")
|
|
gi.require_version("Gtk", "4.0")
|
|
gi.require_version("Adw", "1")
|
|
gi.require_version("Gst", "1.0")
|
|
|
|
gi.importlib.import_module("gi.repository.Gio")
|
|
gi.importlib.import_module("gi.repository.Gtk")
|
|
gi.importlib.import_module("gi.repository.Gst").init(sys.argv)
|
|
|
|
DEBUG_STR = "-debug" if __debug__ else ""
|
|
APPLICATION_ID = f"com.nowheycreamery.emmental{'-debug' if __debug__ else ''}"
|
|
|
|
CSS_FILE = pathlib.Path(__file__).parent / "emmental.css"
|
|
CSS_PRIORITY = gi.repository.Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION
|
|
CSS_PROVIDER = gi.repository.Gtk.CssProvider()
|
|
CSS_PROVIDER.load_from_path(str(CSS_FILE))
|
|
|
|
DATA_DIR = pathlib.Path(xdg.BaseDirectory.save_data_path("emmental"))
|
|
|
|
RESOURCE_PATH = "/com/nowheycreamery/emmental"
|
|
RESOURCE_ICONS = f"{RESOURCE_PATH}/icons/scalable/apps"
|
|
RESOURCE_FILE = pathlib.Path(__file__).parent.parent / "emmental.gresource"
|
|
RESOURCE = gi.repository.Gio.Resource.load(str(RESOURCE_FILE))
|
|
gi.repository.Gio.resources_register(RESOURCE)
|
|
|
|
|
|
def add_style():
|
|
"""Add our stylesheet to the default display."""
|
|
style = gi.repository.Gtk.StyleContext
|
|
style.add_provider_for_display(gi.repository.Gdk.Display.get_default(),
|
|
CSS_PROVIDER, CSS_PRIORITY)
|
|
|
|
|
|
def __print_version(subsystem, major, minor, micro):
|
|
print(f" ⋅ {subsystem} {major}.{minor}.{micro}")
|
|
|
|
|
|
def print_versions():
|
|
"""Print version information for libraries we use."""
|
|
__print_version("Python", sys.version_info.major, sys.version_info.minor,
|
|
sys.version_info.micro)
|
|
__print_version("Gtk", gi.repository.Gtk.MAJOR_VERSION,
|
|
gi.repository.Gtk.MINOR_VERSION,
|
|
gi.repository.Gtk.MICRO_VERSION)
|
|
__print_version("Libadwaita", gi.repository.Adw.MAJOR_VERSION,
|
|
gi.repository.Adw.MINOR_VERSION,
|
|
gi.repository.Adw.MICRO_VERSION)
|
|
__print_version("GStreamer", gi.repository.Gst.version().major,
|
|
gi.repository.Gst.version().minor,
|
|
gi.repository.Gst.version().micro)
|
|
__print_version("Pango", gi.repository.Pango.VERSION_MAJOR,
|
|
gi.repository.Pango.VERSION_MINOR,
|
|
gi.repository.Pango.VERSION_MICRO)
|
|
__print_version("SQLite", sqlite3.sqlite_version_info[0],
|
|
sqlite3.sqlite_version_info[1],
|
|
sqlite3.sqlite_version_info[2])
|