fix(ORA): xdotool windowactivate QEMU + key super+d pour focus VM
Some checks failed
security-audit / Bandit (scan statique) (push) Successful in 13s
security-audit / pip-audit (CVE dépendances) (push) Successful in 11s
security-audit / Scan secrets (grep) (push) Successful in 10s
tests / Lint (ruff + black) (push) Successful in 14s
tests / Tests unitaires (sans GPU) (push) Failing after 15s
tests / Tests sécurité (critique) (push) Has been skipped

pyautogui.click cliquait SUR Chrome. xdotool search --name QEMU
trouve la fenêtre VM et la force au premier plan avant Win+D.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dom
2026-04-22 18:08:10 +02:00
parent c82979e72b
commit a718086140

View File

@@ -926,14 +926,29 @@ Règles:
pyautogui.hotkey('super', 'd')
time.sleep(1.0)
else:
# Pas de dialogue connu → fenêtre devant → clic focus + Win+D
print(f"🔧 [ORA/recovery/overlay] Fenêtre devant — clic focus + Win+D")
if PYAUTOGUI_AVAILABLE:
screen_w, screen_h = pyautogui.size()
pyautogui.click(screen_w // 2, screen_h // 2)
time.sleep(0.3)
pyautogui.hotkey('super', 'd')
time.sleep(1.0)
# Pas de dialogue connu → fenêtre devant → focus VM + Win+D
print(f"🔧 [ORA/recovery/overlay] Fenêtre devant — focus VM + Win+D")
try:
# Trouver la fenêtre QEMU/VM et lui donner le focus
result = subprocess.run(
['xdotool', 'search', '--name', 'QEMU'],
capture_output=True, text=True, timeout=2
)
vm_windows = result.stdout.strip().split('\n')
if vm_windows and vm_windows[0]:
subprocess.run(['xdotool', 'windowactivate', vm_windows[0]], timeout=2)
time.sleep(0.5)
subprocess.run(['xdotool', 'key', 'super+d'], timeout=2)
time.sleep(1.0)
print(f"✅ [ORA/recovery/overlay] Focus VM + Win+D envoyé")
elif PYAUTOGUI_AVAILABLE:
pyautogui.hotkey('super', 'd')
time.sleep(1.0)
except Exception as e:
print(f"⚠️ [ORA/recovery/overlay] Erreur focus VM: {e}")
if PYAUTOGUI_AVAILABLE:
pyautogui.hotkey('super', 'd')
time.sleep(1.0)
# --- Étape 3 : Retry l'action originale ---
act_ok = self.act(decision, step_params)