J'ai beaucoup cherché cela, mais toutes les réponses parlent de la manière de mettre toute une fenêtre (ou dialogue.. qui est toujours une fenêtre en réalité) au premier plan via activate
etc.
Mais je n'ai trouvé aucun moyen de savoir si un élément d'interface utilisateur spécifique était sélectionné, au premier plan, etc.
J'ai écrit un script apple qui saute automatiquement vers la création d'une recherche web personnalisée avec alfred, mais le script a échoué lorsque l'onglet des fonctionnalités n'était pas sélectionné par défaut.. voici à quoi ressemble mon code :
[
tell application "System Events"
keystroke "," using command down
delay delay_time
tell process "Alfred Preferences"
delay delay_time
-- hack: pour s'assurer que le bouton "Résultats par défaut" n'est pas sélectionné
-- par défaut, nous sélectionnons d'abord un autre onglet, puis nous sélectionnons l'onglet "fonctionnalités"
click button "Apparence" de la barre d'outils 1 de la fenêtre 1
click button "Fonctionnalités" de la barre d'outils 1 de la fenêtre 1
delay delay_time
Éléments d'interface utilisateur de la zone de défilement 1 de la fenêtre 1
-- porter d'abord le menu de gauche au premier plan (voir le hack ci-dessus, sans hack cela ne fonctionnerait parfois que)
keystroke tab
Je préférerais ne pas utiliser ce vilain hack (qui fait clignoter rapidement l'application entre les onglets à chaque fois que j'appelle le raccourci).. je préférerais plutôt faire une simple déclaration if else.. des idées?