fix: activer la fenêtre cible après minimisation du navigateur VWB
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 8s
tests / Lint (ruff + black) (push) Successful in 13s
tests / Tests unitaires (sans GPU) (push) Failing after 14s
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 8s
tests / Lint (ruff + black) (push) Successful in 13s
tests / Tests unitaires (sans GPU) (push) Failing after 14s
tests / Tests sécurité (critique) (push) Has been skipped
Après minimisation du navigateur, xdotool active la fenêtre suivante (VM QEMU, app cible). Avant, le terminal restait au premier plan → mss capturait le terminal au lieu de la VM. Cause racine de tous les échecs de matching. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -39,18 +39,28 @@ _handle_detected_pattern = _shared_handle_pattern
|
||||
|
||||
|
||||
def minimize_active_window():
|
||||
"""Minimise la fenêtre active (Linux avec xdotool)"""
|
||||
"""Minimise le navigateur VWB et active la fenêtre suivante (VM, app cible)."""
|
||||
try:
|
||||
# Attendre un court instant pour que la requête HTTP soit traitée
|
||||
time.sleep(0.3)
|
||||
# Minimiser la fenêtre active
|
||||
# Minimiser la fenêtre active (navigateur VWB)
|
||||
subprocess.run(['xdotool', 'getactivewindow', 'windowminimize'],
|
||||
capture_output=True, timeout=2)
|
||||
time.sleep(1.5)
|
||||
print("📦 [Execute] Fenêtre du navigateur minimisée (+ 1.5s d'attente)")
|
||||
time.sleep(0.5)
|
||||
|
||||
# Activer la fenêtre qui est maintenant au premier plan
|
||||
# (la VM QEMU, virt-manager, ou l'app cible)
|
||||
subprocess.run(['xdotool', 'getactivewindow', 'windowfocus', '--sync'],
|
||||
capture_output=True, timeout=2)
|
||||
time.sleep(1.0)
|
||||
|
||||
# Vérifier quelle fenêtre a le focus
|
||||
result = subprocess.run(['xdotool', 'getactivewindow', 'getwindowname'],
|
||||
capture_output=True, text=True, timeout=2)
|
||||
active_title = result.stdout.strip() if result.returncode == 0 else "?"
|
||||
print(f"📦 [Execute] Navigateur minimisé — fenêtre active: '{active_title}'")
|
||||
return True
|
||||
except FileNotFoundError:
|
||||
print("⚠️ [Execute] xdotool non installé - impossible de minimiser")
|
||||
print("⚠️ [Execute] xdotool non installé")
|
||||
return False
|
||||
except Exception as e:
|
||||
print(f"⚠️ [Execute] Erreur minimisation: {e}")
|
||||
|
||||
Reference in New Issue
Block a user