From 26804eb123986910cb70bc615a70c423ba048146 Mon Sep 17 00:00:00 2001 From: Dom Date: Wed, 22 Apr 2026 17:09:38 +0200 Subject: [PATCH] fix(ORA): Alt+Tab au lieu de windowminimize pour le recovery overlay MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit windowminimize minimisait en boucle toutes les fenêtres (VM incluse). Alt+Tab bascule juste le focus sans rien fermer/minimiser. Co-Authored-By: Claude Opus 4.6 (1M context) --- core/execution/observe_reason_act.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/core/execution/observe_reason_act.py b/core/execution/observe_reason_act.py index 99d5b0afe..ec3e5a084 100644 --- a/core/execution/observe_reason_act.py +++ b/core/execution/observe_reason_act.py @@ -918,16 +918,16 @@ Règles: print(f"✅ [ORA/recovery/overlay] Dialogue fermé") time.sleep(0.5) else: - print(f"⚠️ [ORA/recovery/overlay] Pattern non géré, minimisation fenêtre") - subprocess.run(['xdotool', 'getactivewindow', 'windowminimize'], - capture_output=True, timeout=2) - time.sleep(0.5) + print(f"⚠️ [ORA/recovery/overlay] Pattern non géré, essai Alt+Tab") + if PYAUTOGUI_AVAILABLE: + pyautogui.hotkey('alt', 'tab') + time.sleep(1.0) else: - # Pas de dialogue connu → fenêtre quelconque devant → minimiser - print(f"🔧 [ORA/recovery/overlay] Aucun dialogue connu — minimisation de la fenêtre active") - subprocess.run(['xdotool', 'getactivewindow', 'windowminimize'], - capture_output=True, timeout=2) - time.sleep(0.5) + # Pas de dialogue connu → fenêtre devant → Alt+Tab pour basculer + print(f"🔧 [ORA/recovery/overlay] Fenêtre devant — Alt+Tab pour basculer") + if PYAUTOGUI_AVAILABLE: + pyautogui.hotkey('alt', 'tab') + time.sleep(1.0) # --- Étape 3 : Retry l'action originale --- act_ok = self.act(decision, step_params)