diff --git a/winehelper_gui.py b/winehelper_gui.py index 7c5584b..7015e4f 100644 --- a/winehelper_gui.py +++ b/winehelper_gui.py @@ -1664,6 +1664,11 @@ class WineHelperGUI(QMainWindow): # Создаем и сохраняем меню как атрибут класса, чтобы оно не удалялось self.tray_menu = QMenu(self) + + toggle_visibility_action = self.tray_menu.addAction("Показать/Скрыть") + toggle_visibility_action.triggered.connect(self.toggle_visibility) + self.tray_menu.addSeparator() + quit_action = self.tray_menu.addAction("Выход") quit_action.triggered.connect(self.quit_application) @@ -1679,7 +1684,13 @@ class WineHelperGUI(QMainWindow): def toggle_visibility(self): """Переключает видимость главного окна.""" - self.setVisible(not self.isVisible()) + if self.isVisible() and self.isActiveWindow(): + self.hide() + else: + # Сначала скрываем, чтобы "сбросить" состояние, затем активируем. + # Это помогает обойти проблемы с фокусом и переключением рабочих столов. + self.hide() + self.activate() def add_tab(self, widget, title): """Добавляет вкладку в кастомный TabBar и страницу в StackedWidget."""