wongyiekheng 547e8e8665 Third Commit
Add Ubuntu 22.04/24.04 compatibility and Linux packaging script.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 14:32:08 +08:00

48 lines
1.3 KiB
Python

import os
import sys
from pathlib import Path
def _bootstrap_path() -> None:
root = Path(__file__).resolve().parent.parent
if getattr(sys, "frozen", False):
root = Path(sys._MEIPASS) if hasattr(sys, "_MEIPASS") else root # type: ignore[attr-defined]
if str(root) not in sys.path:
sys.path.insert(0, str(root))
def _setup_linux_platform() -> None:
"""Set Qt platform plugin for Linux X11/Wayland compatibility."""
if sys.platform != "linux" or os.environ.get("QT_QPA_PLATFORM"):
return
if os.environ.get("WAYLAND_DISPLAY"):
os.environ["QT_QPA_PLATFORM"] = "wayland;xcb"
elif os.environ.get("DISPLAY"):
os.environ["QT_QPA_PLATFORM"] = "xcb"
_bootstrap_path()
_setup_linux_platform()
from ameba_control_panel.app import main # noqa: E402
if __name__ == "__main__":
if "--profile" in sys.argv:
sys.argv.remove("--profile")
import cProfile
import pstats
profiler = cProfile.Profile()
profiler.enable()
try:
main()
finally:
profiler.disable()
stats = pstats.Stats(profiler)
stats.sort_stats("cumulative")
stats.print_stats(40)
stats.dump_stats("profile_output.prof")
print("Profile saved to profile_output.prof")
else:
main()