Créez une commande pour concentrer une fenêtre spécifique de n'importe où dans le système d'exploitation


10

Lors du développement pour le Web, j'ai tendance à faire des allers-retours entre mon éditeur de texte et le navigateur. Je voudrais définir un raccourci clavier au niveau du système d'exploitation qui me permette de passer à une fenêtre spécifique et définissable à chaque fois. Encore mieux serait la possibilité d'émettre un tell cette application pour exécuter quelque chose, mais je l'enregistrerai pour plus tard.

Existe-t-il des technologies qui me permettront de le faire? Il doit y avoir quelque chose entre C et AppleScript qui me permet de créer ce genre d'interaction. Quelqu'un sait-il par où commencer?

Merci.

Réponses:


2

Vous devriez essayer Automator. Vous pouvez «enregistrer» un nouveau service (que vous pourrez ensuite publier pour toutes les applications et attribuer un raccourci clavier), qui clique sur l'application depuis le Dock. En fait, vous pouvez ajouter plus d'actions et effectuer votre "dire à cette application d'exécuter quelque chose".

J'ai essayé d'en créer un (qui est relativement inutile mais qui fonctionne) qui clique sur Mail dans mon Dock, puis clique sur l' icône Get new mail dans la barre d'outils. Amusement ;)

Ci-joint le plan du résultat Automator:

Automator

J'ai utilisé le bouton Enregistrer dans le coin supérieur droit, puis j'ai fait les actions moi-même (en cliquant sur l'icône du Dock de Mail, puis en cliquant sur l'icône Get New Mail de Mail dans la barre d'outils, puis sur "Arrêter l'enregistrement"). Veuillez noter que j'ai sélectionné "Le service ne reçoit [aucune entrée]" dans la première zone de liste déroulante, car je n'étais intéressé par aucune entrée.

Cela vous donne plusieurs possibilités d'avoir quelques services qui vont et viennent votre TextEditor et votre navigateur.

Automator est localisé à l'aide de Spotlight et en tapant Automator (également situé dans /Applications/Automator.app)

Dans ce cas, j'ai créé un nouveau "Service" mais vous pourriez probablement vous en sortir en créant des "scripts". Je ne sais pas lequel serait le plus rapide. Expérience. Automator est votre ami.


5

Vous pourriez faire quelque chose comme ça avec AppleScript:

tell application "Terminal"
    activate
    windows where name contains "bash"
    if result is not {} then set index of item 1 of result to 1
end tell

Ou en utilisant les événements système:

tell application "System Events" to tell process "Terminal"
    set frontmost to true
    windows where title contains "bash"
    if result is not {} then perform action "AXRaise" of item 1 of result
end tell

1

J'utilise BetterTouchTool pour définir différents raccourcis clavier ou gestes du pavé tactile sur Mac OS X. L'une des actions qu'il peut lancer est Exécuter la commande de terminal

Donc, dans les paramètres de la commande, je fournis ce qui suit:

osascript -e 'tell application "NameOfTheApplicationHere" to activate'

Voici un exemple des préférences de BetterTouchTool:

entrez la description de l'image ici


1

J'ai eu beaucoup de mal à faire fonctionner cela avec iTerm2. Voici une solution à commande unique:

  osascript -e 'tell application "System Events" to tell process "iTerm2"' \
            -e 'set frontmost to true' \
            -e 'if windows is not {} then perform action "AXRaise" of item 1 of windows' \
            -e 'end tell'
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.