1 votes

Applescript pour déplacer le focus sur la fenêtre active ou suivante

Je tente de mettre en place une configuration de style "Command-tab" qui fonctionne uniquement dans un espace spécifique. Pour la plupart des applications, "Ctrl-F4", qui correspond à "déplacer le focus vers la fenêtre active ou suivante", fonctionne correctement, mais pour emacs/aquamacs, ça ne fonctionne pas (car la touche est absorbée par l'application). (Préférences Système->Clavier->Raccourcis->Clavier répertorie cette option). Je veux que cela fonctionne entre les fenêtres que j'ai organisées dans un espace pertinent, c'est-à-dire mon script R, les tracés en X11 et aux formats png/pdf.

Je peux exécuter un script Apple arbitraire avec fastscripts ou d'autres applications sur une pression de touche. Je vois donc deux options :

  1. Dire directement au gestionnaire de fenêtres d'effectuer le déplacement du focus, SANS passer par une pression de touche
  2. Utiliser une pression de touche mais vérifier si aquamacs est la fenêtre active. En trouvant aquamacs, obtenir une liste des processus dans l'espace actuel et passer au suivant. (vérifier aquamacs semble judicieux car le comportement par défaut est probablement plus rapide que cette recherche)

La recherche de ces comportements est difficile et la documentation des scripts Apple est byzantine pour un débutant, donc je ne vois pas comment accomplir l'un ou l'autre de ces choix.

1voto

Johnsyweb Points 45395

Vérifiez si l'invocation avec System Events ne remplace pas la portée de emacs/aquamacs.

tell application "System Events" to key code 48 using {command down}

Si cela ne fonctionne toujours pas, vous pouvez effectuer une vérification :

tell application "System Events"
    set theName to name of the first process whose frontmost is true
    if theName contains "emacs" then
        set frontmost of item -2 of (every process whose visible is true) to true
    else
        key code 48 using {command down}
    end if
end tell

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X