Comment puis-je placer une fenêtre au premier plan sans la focaliser à l'aide d'Applescript sous OS X 10.8

9

Je souhaite placer une fenêtre (QuickTime par exemple) au premier plan, sans la focaliser . Je peux le faire dans OS X 10.7 en utilisant le code suivant dans Applescript.

tell application "System Events"
    set visible of process "QuickTime Player" to true
end tell

Ceci est un équivalent de Python.

from ScriptingBridge import *
process = SBApplication.applicationWithBundleIdentifier_('com.apple.systemevents').processes().objectWithName_('QuickTime Player')
process.setVisible_(True)

Mais cela ne fonctionne pas après la mise à niveau vers OS X 10.8. Y a-t-il un moyen de le faire fonctionner?

Yuxiao Zeng
la source

Réponses:

12

Si une application a des fenêtres ouvertes, cela devrait les élever au-dessus des fenêtres d'autres applications, mais les garder au-dessous de celles de l'application en cours.

tell application "System Events"
    perform action "AXRaise" of window 1 of process "QuickTime Player"
end tell
Lri
la source
C'est ce que je veux. Merci. Au fait, où puis-je trouver les documentations des actions?
Yuxiao Zeng
1
Référence des rôles et attributs d’accessibilité: Actions . Vous pouvez voir quelles actions les éléments d'interface utilisateur prennent en charge avec actions ofou en utilisant l'inspecteur d'accessibilité.
Lri
1
AXRaise n'est pas autorisé dans OS X 10.10 (Yosemite) et 10.11 (El-Capitan), sauf si vous avez ajouté l'application appelante (celle qui exécute AppleScript) à la section "Accessibilité" de l'onglet "Confidentialité" de l'onglet "Sécurité et confidentialité. "Panneau des préférences système. Cela signifie que la première fois que vous essayerez de le faire, l'interface utilisateur du système vous proposera de vous diriger vers les préférences. Je ne peux pas l'utiliser à cause du détour dans l'expérience utilisateur. Existe-t-il un autre moyen de faire apparaître la fenêtre sans utiliser AX (API d'accessibilité) ???
Motti Shneor
-1

Donc, d'après ce que je comprends de votre message, vous essayez de mettre en évidence une application à l'aide d'Applescript? Si c'est le cas, le code pour cela dans Mountain Lion est en fait assez simple! C'est ici:

tell application "Quicktime Player"
activate
end tell

J'espère que ça marche! Si ce n'est pas ce que vous vouliez, faites le moi savoir et je le mettrai à jour pour vous. :)

Benson475
la source
2
Eh bien, activer se concentrera sur Quicktime, donc ce n’est pas ce que je veux. Je veux dire, si vous ouvrez l'application Applescript, tapez votre code et exécutez-le, le focus de la fenêtre sera déplacé vers Quicktime. Par conséquent, vous ne pouvez saisir aucun code avant de cliquer sur la fenêtre Applescript, par exemple.
Yuxiao Zeng