8 votes

Y a-t-il un moyen de minimiser les fenêtres ouvertes à partir de la ligne de commande dans OS X Lion?

Je me demandais s'il y a un moyen de récupérer les fenêtres ouvertes et de les minimiser depuis la ligne de commande dans Lion?

J'ai un AppleScript qui fait cela, mais c'est un peu lent, alors je voulais savoir s'il y avait quelque chose

Merci

MODIFIER: Je n'ai pas encore complètement compris comment le faire, mais il y a la commande en ligne de commande osascript qui vous permet d'exécuter des scripts Apple à partir de la ligne de commande. Donc, vous pouvez utiliser:

osascript -e "commande applescript ici"

RÉSOLU: Oui, vous pouvez le faire... voici comment j'ai réussi à le faire:

/usr/bin/osascript -e 'tell application "System Events" to click (first button of (every window of (application process "firefox")) whose role description is "minimize button")'

Certains autres processus d'application que j'ai sont "Skype", "Finder", "thunderbird-bin", AppleScript Editor"

1 votes

Toute solution en ligne de commande devrait utiliser les mêmes Apple Events que le script (les Apple Events sont utilisés pour communiquer avec les applications pour leur dire de réduire votre fenêtre), donc il est probable que ce soit tout aussi lent...

1 votes

Pourquoi ne pas utiliser les raccourcis clavier ?

0 votes

J'ai d'autres processus "Événements du système", "Finder", "Préférences Système", "Terminal" pour lesquels cela fonctionne parfaitement. Mais cela ne fonctionne pas pour aucun des navigateurs, j'ai essayé toutes les combinaisons "Firefox", "Mozilla Firefox", "firefox", "Firefox.app", "Mozilla Firefox.app", "firebox-bin"

3voto

Boro Points 496

Je suis d'accord que pratiquement toute solution que vous pouvez obtenir pour la ligne de commande devrait s'appuyer sur AppleScript. Et votre solution fonctionnera. Cependant, au lieu de scripter les Événements du Système, qui dépendent des événements de l'interface utilisateur (en fait, déplacer votre souris et cliquer), il est beaucoup plus propre de scripter directement la fenêtre de l'application.

De cette façon, si vous déplacez votre souris pendant l'exécution du script, cela n'affectera pas son fonctionnement. Pour minimiser toutes les fenêtres de Firefox, vous pourriez faire quelque chose comme :

dire à l'application "Firefox" de régler la propriété miniaturisée de chaque fenêtre sur vrai

La propriété s'appelle miniaturisée pour Firefox et la plupart des applications OS X, mais certaines applications tierces, comme Google Chrome, appellent la propriété réduite, donc si l'une ne fonctionne pas, l'autre devrait. Cette fonctionnalité fait partie de la Standard Suite que pratiquement toutes les applications AppleScript-able ont.

Pour les applications qui ne prennent pas du tout en charge AppleScript, vous pouvez revenir à votre approche et utiliser les Événements du Système pour accéder aux fenêtres appartenant au processus spécifique de l'application s'exécutant sur votre machine.

Si j'étais vous, cependant, j'essaierais de faire en sorte que l'application se réduise d'elle-même plutôt que par le biais des Événements du Système lorsque c'est possible, car cela sera beaucoup plus fiable.

0 votes

Ne fonctionne pas. génère une erreur 33:36: erreur de syntaxe : Fin de ligne attendue mais trouvé "set". (-2741)

1 votes

Je veux réduire au minimum Spotify mais ni miniaturisé ni minimisé ne fonctionne. Les deux renvoient une erreur 30:67: erreur d'exécution : Spotify a rencontré une erreur : Impossible de faire de minimisé de chaque fenêtre dans le spécificateur de type. (-1700)

0 votes

Cela fonctionne pour minimiser spotify osascript -e "tell application \"Finder\" to set visible of process \"Spotify\" to false"

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