19 votes

Ouvrir une application en plein écran via le terminal

Je me demande s'il est possible d'ouvrir un programme en mode plein écran dans Lion via le Terminal. Je veux écrire un script court qui lance plusieurs programmes en mode plein écran, de sorte que je n'ai qu'à cliquer une fois pour démarrer mon environnement de travail.

0 votes

Est-ce le mode plein écran du Lion / MTN Lion, ou une fenêtre "zoomée" ?

0 votes

Le lion en plein écran

14voto

pasawaya Points 2116

Voici :

/usr/bin/osascript -e 'tell application "Safari"' -e "activate" -e 'tell application "System Events"' -e 'keystroke "f" using {control down, command down}' -e "end tell" -e "end tell"

Voici sous une forme plus claire (mais vous ne pouvez pas l'exécuter de cette façon) :

/usr/bin/osascript -e "tell application \"Safari\"" 
-e "activate"
-e "tell application \"System Events\""
-e "keystroke \"f\" using {control down, command down}"
-e "end tell"
-e "end tell"

Et voici sous forme de script AppleScript formaté :

tell application "Safari"
    activate
    tell application "System Events"
        keystroke "f" using {control down, command down}
    end tell
end tell

Il fonctionne en ouvrant d'abord une fenêtre Safari si elle n'est pas déjà ouverte. Ensuite, il simule la combinaison de touches Contrôle-Commande-F qui demande à la fenêtre Safari de passer en plein écran.

Si vous voulez agrandir la fenêtre pour qu'elle occupe toute la place disponible sans passer en plein écran (c'est-à-dire en prenant tout l'espace sous la barre de menu en haut) :

tell application "Finder"
    set desktopSize to bounds of window of desktop
end tell

tell application "Safari"
    activate
    set bounds of window 1 to desktopSize
end tell

Qui deviendrait ceci dans Terminal :

/usr/bin/osascript -e "tell application \"Finder\"" -e "set desktopSize to bounds of window of desktop" -e "end tell" -e "tell application \"Safari\"" -e "activate" -e "set bounds of window 1 to desktopSize" -e "end tell"

Pour Chrome, faites ceci :

tell application "Google Chrome"
    activate
    make new window
    tell application "System Events"
        keystroke "f" using {control down, command down}
    end tell
end tell

Donc cela donnerait ceci dans Terminal :

/usr/bin/osascript -e "tell application \"Google Chrome\"" -e "activate" -e "make new window" -e "tell application \"System Events\"" -e "keystroke \"f\" using {control down, command down}" -e "end tell" -e "end tell"

J'espère que cela vous aidera !

0 votes

J'ai essayé ceci, et cela a aidé un peu. Cela ouvre l'application, mais le mode plein écran ne fonctionne pas - juste me donne un son d'erreur. Je dois exécuter le script deux fois pour passer en mode plein écran.

0 votes

@ABLX Vous devez modifier la touche de raccourci pour l'application avec laquelle vous voulez passer en plein écran - avec quelles applications travaillez-vous?

0 votes

@qegal Je crois que l'ensemble de l'écran - il a mentionné Lion plein écran dans les commentaires de la question.

2voto

Cela ne fonctionnera pas avec des applications qui n'utilisent pas de fenêtres plein écran natives, mais devrait fonctionner avec certaines qui n'utilisent pas le raccourci standard pour passer en plein écran. Quelques applications ont des noms de processus et des noms d'application différents.

définir a à "Notes"
définir bid à id de l'application a
dire à l'application a
    rouvrir -- ouvrir une nouvelle fenêtre par défaut s'il n'y a pas de fenêtres
    activer -- mettre au premier plan
fin dire
dire à l'application "System Events" de dire (processus 1 où l'identifiant du paquet est bid)
    cliquer (bouton 1 de la fenêtre 1 où le sous-rôle est "AXFullScreenButton")
fin dire

0 votes

Cette solution était efficace pour forcer Polycom RealPresence Desktop en plein écran à la connexion sur un système OS X 10.10.5, merci !

2voto

Lloyd Points 253

Vous pouvez utiliser browse pour ouvrir des applications arbitraires en mode plein écran. Il installe six commandes pratiques, dont quatre ouvrent les navigateurs les plus courants en mode plein écran:

Lancer Chrome Canary en mode présentation :

$ ca

Lancer Chrome en mode présentation :

$ ch

Lancer Firefox en mode plein écran :

$ ff

Lancer Safari en mode plein écran :

$ sf

Pour ouvrir n'importe quoi en plein écran, exécutez la commande ccf (un applescript envoyant la combinaison de touches CMD+CTRL+f) après un simple open pour le basculer en mode plein écran :

$ open -a Calendar; ccf

Si une application a un raccourci supplémentaire pour le mode plein écran avec CMD+Shift+f (comme Chrome), utilisez :

$ open -a "Google Chrome"; csf

Astuce. Si une application met du temps à charger, laissez-lui le temps de se charger complètement en insérant une pause avant d'exécuter le raccourci clavier :

$ open -a "Google Chrome"; sleep 3; csf

1voto

Tom Jacob Points 11

Voici les instructions pour Google Chrome. (Cela ouvrira une fenêtre Incognito en plein écran.)

Allez dans /Applications/Google Chrome.app/Content/MacOS/. Renommez le binaire Google Chrome en quelque chose d'autre (comme chrome-bin) et créez un script bash exécutable à sa place (nommez le script Google Chrome comme le fichier exécutable d'origine).

#!/bin/bash
open chrome-bin --new --args -incognito

osascript -e "tell application \"Google Chrome\"" -e "tell application \"System Events\"" -e "keystroke \"f\" using {control down, command down}" -e "end tell" -e "end tell"

Maintenant, à chaque fois que vous lancez Google Chrome, il démarrera en plein écran en mode Incognito. J'utilise le mode Incognito, mais si vous ne le souhaitez pas, supprimez simplement le drapeau -incognito.

1 votes

Le OP ne mentionne rien à propos de Google Chrome.

1 votes

Aussi, le mode Incognito ne servira à rien quand il s'agit de code malveillant - il ne stocke simplement pas ou n'autorise pas l'accès aux cookies et autres schémas de persistance locaux (contrôlés par le navigateur). En fait, les plugins (comme Flash) peuvent stocker et accéder à leurs propres cookies même en mode Incognito.

0 votes

+1 pour le joli hack même si Chrome n'était pas demandé dans la question

1voto

joni Points 299

Voici un ajout à la réponse excellente de @pasawaya. Si vous voulez exécuter votre AppleScript à partir de la ligne de commande, vous n'avez pas besoin d'entrer chaque ligne séparément avec l'option -e.

osascript -e 'multi-line-applescript ici' fonctionnera également. Exemple :

osascript -e 'tell application "Safari"
activate
  tell application "System Events"
    keystroke "f" using {control down, command down}
  end tell
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