Browse Source

feat: improve portability – fix spec entry point, add hicolor icons, force Adwaita theme on KDE

master
Matteo Benedetto 2 weeks ago
parent
commit
f8ea2fc514
  1. 11
      cellar-gtk.py
  2. 4
      cellar.spec

11
cellar-gtk.py

@ -3,12 +3,23 @@
from __future__ import annotations
import json
import os
import sys
import threading
import urllib.error
from dataclasses import asdict, dataclass
from pathlib import Path
from typing import Any, Callable
# When running as a frozen binary (PyInstaller) on non-GNOME desktops (e.g. KDE),
# no GTK theme is configured by default. Force Adwaita so the bundled theme is
# used and the UI renders correctly.
if getattr(sys, "frozen", False):
os.environ.setdefault("GTK_THEME", "Adwaita")
# Allow GTK4 to fall back from Wayland to X11 if the Wayland compositor
# does not support the required protocols (common on some KDE setups).
os.environ.setdefault("GDK_BACKEND", "wayland,x11")
try:
import gi # type: ignore[import-not-found]
except ImportError as exc:

4
cellar.spec

@ -2,7 +2,7 @@
"""PyInstaller spec for Cellar GTK – portable all-in-one executable."""
a = Analysis(
["gtk_client.py"],
["cellar-gtk.py"],
pathex=[],
binaries=[],
datas=[],
@ -32,7 +32,7 @@ a = Analysis(
"Gdk": "4.0",
"Gsk": "4.0",
},
"icons": ["Adwaita"],
"icons": ["Adwaita", "hicolor"],
"themes": ["Adwaita"],
"languages": [],
},

Loading…
Cancel
Save