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
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:
@@ -926,14 +926,29 @@ Règles:
|
|||||||
pyautogui.hotkey('super', 'd')
|
pyautogui.hotkey('super', 'd')
|
||||||
time.sleep(1.0)
|
time.sleep(1.0)
|
||||||
else:
|
else:
|
||||||
# Pas de dialogue connu → fenêtre devant → clic focus + Win+D
|
# Pas de dialogue connu → fenêtre devant → focus VM + Win+D
|
||||||
print(f"🔧 [ORA/recovery/overlay] Fenêtre devant — clic focus + Win+D")
|
print(f"🔧 [ORA/recovery/overlay] Fenêtre devant — focus VM + Win+D")
|
||||||
if PYAUTOGUI_AVAILABLE:
|
try:
|
||||||
screen_w, screen_h = pyautogui.size()
|
# Trouver la fenêtre QEMU/VM et lui donner le focus
|
||||||
pyautogui.click(screen_w // 2, screen_h // 2)
|
result = subprocess.run(
|
||||||
time.sleep(0.3)
|
['xdotool', 'search', '--name', 'QEMU'],
|
||||||
pyautogui.hotkey('super', 'd')
|
capture_output=True, text=True, timeout=2
|
||||||
time.sleep(1.0)
|
)
|
||||||
|
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 ---
|
# --- Étape 3 : Retry l'action originale ---
|
||||||
act_ok = self.act(decision, step_params)
|
act_ok = self.act(decision, step_params)
|
||||||
|
|||||||
Reference in New Issue
Block a user