"""AR Display Manager entry point.""" from __future__ import annotations import signal import sys from pathlib import Path REPO_ROOT = Path(__file__).resolve().parents[1] def run(argv: list[str] | None = None) -> int: """Launch the AR Display Manager daemon.""" try: from PySide6.QtWidgets import QApplication except ImportError: sys.stderr.write( "PySide6 is not installed. Run:\n\n" " pip install PySide6\n" ) return 2 signal.signal(signal.SIGINT, signal.SIG_DFL) # Ctrl+C kills the process app = QApplication(argv if argv is not None else sys.argv) app.setApplicationName("AR Display Manager") app.setQuitOnLastWindowClosed(False) # keep running when popup closes # Brand icon from PySide6.QtGui import QIcon _logo = REPO_ROOT / "display" / "assets" / "images" / "ar_logo_full.png" if _logo.exists(): app.setWindowIcon(QIcon(str(_logo))) # Apply brand stylesheet from arautopilot.studio.ar_style import apply_ar_style apply_ar_style(app) from display_manager.display_manager import DisplayManager _mgr = DisplayManager(app) # noqa: F841 — kept alive via QObject parent=None return app.exec() if __name__ == "__main__": sys.exit(run())