mirror of
https://github.com/aclist/dztui.git
synced 2026-08-26 09:47:36 +02:00
34 lines
861 B
Python
34 lines
861 B
Python
from importlib import resources
|
|
|
|
from dzgui.const.constants import APP_NAME_LOWER, CSS_PATH
|
|
|
|
import gi
|
|
|
|
gi.require_version("Gtk", "3.0")
|
|
from gi.repository import Gtk, Gdk # noqa E402
|
|
|
|
|
|
def add_class(widget: Gtk.Widget, label: str) -> None:
|
|
"""
|
|
Sets the classname of a widget, used
|
|
to apply CSS styling later
|
|
"""
|
|
context = widget.get_style_context()
|
|
context.add_class(label)
|
|
|
|
|
|
def remove_class(widget: Gtk.Widget, label: str) -> None:
|
|
context = widget.get_style_context()
|
|
context.remove_class(label)
|
|
|
|
|
|
def load_css() -> None:
|
|
css = resources.read_text(APP_NAME_LOWER, CSS_PATH)
|
|
prov = Gtk.CssProvider()
|
|
prov.load_from_data(css.encode("ascii"))
|
|
screen = Gdk.Screen.get_default()
|
|
if screen:
|
|
Gtk.StyleContext.add_provider_for_screen(
|
|
screen, prov, Gtk.STYLE_PROVIDER_PRIORITY_USER
|
|
)
|