2 votes

Le dock OS X permet de passer d'une fenêtre ouverte d'une application à une autre en cliquant sur l'icône du dock ?

Disons que j'ai Safari actif et que je veux passer d'une fenêtre ouverte à l'autre en appuyant sur l'icône du dock de Safari (au lieu d'appuyer sur cmd+>).

Est-il possible d'y parvenir d'une manière ou d'une autre ?

1voto

chris Points 10694

Il n'y a pas de code dans Dock.app pour faire cela. command + ` est la façon normale de parcourir les fenêtres ouvertes d'une application. Si vous voulez faire défiler les fenêtres en cliquant sur une icône du dock, vous pouvez écrire un AppleScript qui déclenche cette touche et la place dans le dock, juste à côté de Safari.

tell application "System Events"
    keystroke "`" using {command down}
end tell

Mettez ce qui précède dans l'éditeur AppleScript, et enregistrez-le comme une application. Cela ne fonctionnera pas si nous ne l'empêchons pas de voler le focus, ce qui peut être réalisé en cliquant avec le bouton droit de la souris sur le paquet d'applications et en affichant le contenu du paquet, ouvrez Contents/Info.plist, puis ajoutez la clé LSBackgroundOnly (l'application est en arrière-plan uniquement) avec une valeur booléenne de 1. Ajoutez-la au dock et cliquez dessus pour exécuter cette touche. Cela fonctionnera pour n'importe quelle application.

Je trouve un peu étrange que vous pensiez que c'est nécessaire ou possible tout à coup. Y a-t-il quelque chose de plus important que vous essayez d'accomplir avec ça ?

1voto

Mak Points 173

Le comportement souhaité peut être obtenu en remplaçant l'icône de Safari dans le dock par l'AppleScript suivant (selon l'exemple de NReilingh) enregistré comme une application :

tell application "Safari"
    activate
end tell

tell application "System Events"
    keystroke "`" using {command down}
end tell

Safari se met alors en marche et passe en revue ses fenêtres actives. Si Safari n'est pas ouvert, il sera ouvert la première fois, ce qui fonctionne également comme l'icône normale de Safari.

Pour compléter les choses, vous devez modifier les propriétés du script - cliquez avec le bouton droit de la souris sur l'application script dans le Finder et sélectionnez Show Package Contents, puis ouvrez Info.plist dans Contents.

  • Vous devez ajouter la clé LSBackgroundOnly (Application is background only) avec la valeur Checked (car sans cette clé, le cycle ne fonctionne pas correctement et l'icône ne fera que basculer deux des fenêtres les plus récentes).
  • Pour obtenir l'icône authentique de Safari, vous pouvez copier/coller compass.icns depuis Contents | Resources de Safari.app à l'endroit correspondant des nouveaux script. Après cela, modifiez la propriété Icon file pour qu'elle pointe vers la nouvelle icône.
  • Après les modifications, enregistrez le fichier de la liste des propriétés.
  • Il peut être nécessaire de sauvegarder à nouveau le script également.

Maintenant, vous devriez avoir une icône dans le dock qui ressemble à celle de Safari mais avec un cycle de fenêtre ajouté lors des clics suivants - si vous avez nommé le script comme Safari, personne ne devrait remarquer de différence avec l'original.

0voto

Justin Love Points 3073

Vous pouvez cliquer avec le bouton droit de la souris sur l'icône du dock et le menu affichera la liste de toutes les applications ouvertes de Windows.

0voto

Daniel Von Fange Points 123

"Cmd >" ?

Pourquoi ne pas utiliser "Cmd `" (backtick, la touche au-dessus de la tabulation), qui est la touche standard pour passer d'une fenêtre à l'autre pour n'importe quelle application ? Si ce n'est pas le cas, alors vous voulez vous "lier" à quelque chose que vous pouvez cliquer en un seul clic ?

Edit : une approche facile, intégrée uniquement à la souris, consiste à définir un "Hot Corner" dans les préférences système pour afficher toutes les fenêtres d'application, puis vous pouvez cliquer sur celle que vous voulez. Mais cela ne fait pas de "cycle".

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X