Linux: Move to Ayatana's AppIndicator

The reference AppIndicator implementation has been deprecated/abandoned in newer distros.

Co-Authored-By: Guilherme Silva <626206+guihkx@users.noreply.github.com>
This commit is contained in:
biast12andGuilherme Silva authored and DevilXD committed 2024-12-31 21:05:35 +01:00
1 parent c2aa283c68
commit 82654680f6
3 files changed
+9 -6

No files matched your search

+6 -3
View File
@@ -4,6 +4,7 @@ from __future__ import annotations
import sys
from pathlib import Path
from typing import Any, TYPE_CHECKING
import platform
SELF_PATH = str(Path(".").resolve())
if SELF_PATH not in sys.path:
@@ -31,7 +32,7 @@ for lang_filepath in WORKING_DIR.joinpath("lang").glob("*.json"):
if lang_filepath.stem != DEFAULT_LANG:
to_add.append((lang_filepath, "lang", True))
# ensure the required to-be-added data exists
# Ensure the required to-be-added data exists
datas: list[tuple[Path, str]] = []
for source_path, dest_path, required in to_add:
if source_path.exists():
@@ -51,8 +52,10 @@ hiddenimports: list[str] = [
if sys.platform == "linux":
# Needed files for better system tray support on Linux via pystray (AppIndicator backend).
datas.append((Path("/usr/lib/girepository-1.0/AppIndicator3-0.1.typelib"), "gi_typelibs"))
binaries.append((Path("/lib/x86_64-linux-gnu/libappindicator3.so.1"), "."))
arch = platform.machine()
datas.append((Path(f"/usr/lib/{arch}-linux-gnu/girepository-1.0/AyatanaAppIndicator3-0.1.typelib"), "gi_typelibs"))
binaries.append((Path(f"/usr/lib/{arch}-linux-gnu/libayatana-appindicator3.so.1"), "."))
hiddenimports.extend([
"gi.repository.Gtk",
"gi.repository.GObject",