Ouvrez une application en plein écran via Terminal

13

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

ABLX
la source
S'agit-il du mode plein écran Lion / MTN Lion ou d'une fenêtre "zoomée"?
MrDaniel
le lion en plein écran
ABLX

Réponses:

12

C'est ici:

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

Le 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 c'est comme AppleScript formaté:

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

Cela fonctionne en ouvrant d'abord une fenêtre Safari si une n'est pas actuellement ouverte. Il simule ensuite la touche Control ⌃- Command ⌘- Fqui indique à la fenêtre Safari de devenir plein écran.

Si vous voulez faire de la fenêtre la taille maximale, cela peut être sans devenir plein écran (c'est-à-dire en occupant 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 le terminal:

/ usr / bin / osascript -e "tell application \" Finder \ "" -e "set desktopSize aux limites de la fenêtre du bureau" -e "end tell" -e "tell application \" Safari \ "" -e "activate "-e" définit les limites de la fenêtre 1 sur desktopSize "-e" end tell "

Pour Chrome, procédez comme suit:

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

Ce serait donc ceci dans le terminal:

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

J'espère que cela t'aides!

pasawaya
la source
essayé cela, et cela a aidé un peu. il ouvre l'application, mais le plein écran ne fonctionnera pas - jsut me donne un son d'erreur. devez exécuter le script deux fois pour passer en plein écran
ABLX
@ABLX Vous devez modifier la séquence de touches de l'application que vous souhaitez utiliser en plein écran - avec quelles applications travaillez-vous?
Cajunluke
@qegal je crois que tout l'écran - il a mentionné Lion en plein écran dans les commentaires de la question.
Cajunluke
evernote et chrome. il devrait être lion en plein écran
ABLX
aww ma faute. les evernotes veulent ^ + commande + f.
ABLX
2

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

set a to "Notes"
set bid to id of application a
tell application a
    reopen -- open a new default window if there are no windows
    activate -- make frontmost
end tell
tell application "System Events" to tell (process 1 where bundle identifier is bid)
    click (button 1 of window 1 where subrole is "AXFullScreenButton")
end tell
Lri
la source
Cette solution a été efficace pour forcer Polycom RealPresence Desktop en plein écran lors de la connexion sur un système OS X 10.10.5, merci!
PEM8000
1

Voici les instructions pour Google Chrome. (Cela ouvrira une fenêtre de navigation privée en plein écran.)

Allez à /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 Chromecomme 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"

Désormais, chaque fois que vous lancez Google Chrome, il se lance en plein écran en mode navigation privée. J'utilise le mode navigation privée, mais si vous ne le souhaitez pas, supprimez simplement le -incognitodrapeau.

Tom Jacob
la source
1
L'OP ne mentionne rien sur Google Chrome.
Cajunluke
1
En outre, le mode navigation privée n'aidera personne en matière de code malveillant - il ne stocke 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 navigation privée.
Cajunluke
+1 pour le joli hack même si Chrome n'était pas demandé dans la question
myhd
1

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

Lancez Chrome Canary en mode Présentation:

$ ca

Lancez Chrome en mode Présentation:

$ ch

Lancez Firefox en mode plein écran:

$ ff

Lancez Safari en mode plein écran:

$ sf

Pour lancer quoi que ce soit en plein écran , exécutez la commande ccf(un applescript envoyant la frappe CMD + CTRL + f) après un habitué openpour le passer en mode plein écran:

$ open -a Calendar; ccf

Si une application dispose d'un mode plein écran supplémentaire raccourci par CMD + Shift + f (comme le fait Chrome), utilisez:

$ open -a "Google Chrome"; csf

Astuce . Si une application est lente à charger, donnez-lui la chance de se charger complètement en insérant une pause avant d'exécuter le raccourci clavier:

$ open -a "Google Chrome"; sleep 3; csf
Lloyd
la source
1

Voici un ajout à l'excellente réponse de @ pasawaya. Si vous souhaitez exécuter votre script Apple depuis la ligne de commande, vous n'avez pas besoin d'entrer chaque ligne séparément avec l' -eoption.

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

osascript -e 'tell application "Safari"
activate
  tell application "System Events"
    keystroke "f" using {control down, command down}
  end tell
end tell'
joni
la source