From 1ea5fd710c5303ea975148df52a66f7c4aef8d2b Mon Sep 17 00:00:00 2001
From: Boris Yumankulov <boria138@altlinux.org>
Date: Sun, 8 Jun 2025 09:07:18 +0500
Subject: [PATCH] feat: added --fullscreen cli argument

Signed-off-by: Boris Yumankulov <boria138@altlinux.org>
---
 portprotonqt/app.py | 15 ++++++++++++++-
 portprotonqt/cli.py | 16 ++++++++++++++++
 2 files changed, 30 insertions(+), 1 deletion(-)
 create mode 100644 portprotonqt/cli.py

diff --git a/portprotonqt/app.py b/portprotonqt/app.py
index fdd2bbf..d215643 100644
--- a/portprotonqt/app.py
+++ b/portprotonqt/app.py
@@ -4,8 +4,9 @@ from PySide6.QtWidgets import QApplication
 from PySide6.QtGui import QIcon
 from portprotonqt.main_window import MainWindow
 from portprotonqt.tray import SystemTray
-from portprotonqt.config_utils import read_theme_from_config
+from portprotonqt.config_utils import read_theme_from_config, save_fullscreen_config
 from portprotonqt.logger import get_logger
+from portprotonqt.cli import parse_args
 
 logger = get_logger(__name__)
 
@@ -28,7 +29,17 @@ def main():
     else:
         logger.error(f"Qt translations for {system_locale.name()} not found in {translations_path}")
 
+    # Парсинг аргументов командной строки
+    args = parse_args()
+
     window = MainWindow()
+
+    # Обработка флага --fullscreen
+    if args.fullscreen:
+        logger.info("Запуск в полноэкранном режиме по флагу --fullscreen")
+        save_fullscreen_config(True)
+        window.showFullScreen()
+
     current_theme_name = read_theme_from_config()
     tray = SystemTray(app, current_theme_name)
     tray.show_action.triggered.connect(window.show)
@@ -43,7 +54,9 @@ def main():
         tray.hide_action.triggered.connect(window.hide)
 
     window.settings_saved.connect(recreate_tray)
+
     window.show()
+
     sys.exit(app.exec())
 
 if __name__ == '__main__':
diff --git a/portprotonqt/cli.py b/portprotonqt/cli.py
new file mode 100644
index 0000000..ed7d096
--- /dev/null
+++ b/portprotonqt/cli.py
@@ -0,0 +1,16 @@
+import argparse
+from portprotonqt.logger import get_logger
+
+logger = get_logger(__name__)
+
+def parse_args():
+    """
+    Парсит аргументы командной строки.
+    """
+    parser = argparse.ArgumentParser(description="PortProtonQT CLI")
+    parser.add_argument(
+        "--fullscreen",
+        action="store_true",
+        help="Запустить приложение в полноэкранном режиме и сохранить эту настройку"
+    )
+    return parser.parse_args()