From 1ea5fd710c5303ea975148df52a66f7c4aef8d2b Mon Sep 17 00:00:00 2001 From: Boris Yumankulov Date: Sun, 8 Jun 2025 09:07:18 +0500 Subject: [PATCH] feat: added --fullscreen cli argument Signed-off-by: Boris Yumankulov --- 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()