Voici un AppleScript qui atteint les résultats de ce que vous aviez explicitement et spécifiquement demandé à l'origine, avant de modifier la question après qu'il y ait été répondu.
tell application "Safari"
activate
tell application "System Events"
keystroke "h" using {command down, option down}
end tell
set miniaturized of (windows whose index is not 1) to true
end tell
Remarque : L'AppleScript ci-dessus fonctionne pour moi sous OS X 10.8.5 et Safari 6.2.8 mais je ne l'ai pas testé sur une autre version d'OS X. Cela dit, je pense qu'il fonctionnera parfaitement sur d'autres versions d'OS X.
Mise à jour pour répondre à l'édition de la question originale :
J'ai joué un peu avec différentes méthodes et ce que j'ai trouvé, c'est que, parmi les méthodes que j'ai essayées, la plupart des applications fonctionnaient, mais pas toutes. En d'autres termes, je n'ai pas trouvé de méthode universelle qui fonctionne avec toutes les applications que j'utilise normalement. J'ai donc ajouté un bloc de code que vous pouvez essayer et voir si ça peut marcher pour vous.
Idéalement, il suffirait de masquer toutes les autres applications et de réduire les fenêtres non actives de l'application en cours afin d'obtenir une apparence lisse dans l'action, mais le Finder a présenté un défi. Ainsi, dans cet exemple code Le Finder doit d'abord minimiser toutes ses fenêtres et ramener ce qui était le plus en avant, tandis que les autres applications ont un effet de cascade pour minimiser les fenêtres non actives tout en laissant la fenêtre la plus en avant telle quelle.
tell application "System Events"
set frontApp to name of first application process whose frontmost is true
set windowName to name of first window of application process frontApp
end tell
if not frontApp is "Finder" then
tell application frontApp
activate
tell application "System Events"
keystroke "h" using {command down, option down}
end tell
set miniaturized of (windows whose name is not windowName) to true
end tell
else
tell application frontApp
activate
tell application "System Events"
keystroke "h" using {command down, option down}
keystroke "m" using {command down, option down}
tell process frontApp to click menu item windowName of menu 1 of menu bar item "Window" of menu bar 1
end tell
end tell
end if
0 votes
J'ai mis à jour ma réponse avec un bloc supplémentaire de code vous pouvez essayer.