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)