Öffne eine App im Vollbildmodus über das Terminal

13

Ich frage mich, ob es möglich ist, ein Programm im Lion-Vollbildmodus über das Terminal zu öffnen. Ich möchte ein kurzes Skript schreiben, das eine Reihe von Programmen im Vollbildmodus startet, sodass ich nur einmal klicken muss, um meine Arbeitsumgebung zu starten.

ABLX
quelle
Ist dies der Lion / MTN Lion-Vollbildmodus oder ein "gezoomtes" Fenster?
MrDaniel
der löwe fullscreen
ABLX

Antworten:

12

Hier ist es:

/ usr / bin / osascript -e 'der Anwendung "Safari" mitteilen' -e "aktivieren" -e 'der Anwendung "Systemereignisse" mitteilen' -e 'Tastendruck "f" mit {control down, command down}' -e "beenden sag "-e" end sag "

Hier ist es in einer klareren Form (aber Sie können es nicht auf diese Weise ausführen):

/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"

Und das ist es als formatiertes AppleScript:

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

Es funktioniert, indem zuerst ein Safari-Fenster geöffnet wird, wenn eines zurzeit nicht geöffnet ist. Dann simuliert er den Control ⌃- Command ⌘- FTastendruck , die das Safari - Fenster zeigt voller Umfang nutzen zu werden.

Wenn Sie das Fenster auf die maximale Größe bringen möchten, kann dies ohne Vollbild erfolgen (dh den gesamten Platz unter der Menüleiste oben einnehmen):

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

Was würde das im Terminal werden:

/ usr / bin / osascript -e "tell application \" Finder \ "-e" Desktopgröße auf Fenstergrenzen setzen "-e" end tell "-e" tell application \ "Safari \" -e "aktivieren "-e" setzt die Grenzen von Fenster 1 auf desktopSize "-e" end tell "

Führen Sie für Chrome Folgendes aus:

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

So wäre es im Terminal:

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

Hoffe das hilft!

Pasawaya
quelle
habe das ausprobiert und es hat ein bisschen geholfen. es öffnet die app, aber der vollbildmodus funktioniert nicht - jsut gibt mir einen fehlerton. Ich
muss
@ABLX Sie müssen den Tastenanschlag für die App ändern, die Sie im Vollbildmodus anzeigen möchten - mit welchen Apps arbeiten Sie?
Cajunluke
@qegal Ich glaube, der gesamte Bildschirm - er erwähnte Lion Vollbild in den Fragenkommentaren.
Cajunluke
Evernote und Chrom. es sollte ein Löwe im Vollbildmodus sein
ABLX
Oh, meine Schuld. Evernotes wollen ^ + Befehl + f.
ABLX
2

Dies funktioniert nicht mit Anwendungen, die keine nativen Vollbildfenster verwenden, sollte jedoch mit einigen funktionieren, die nicht die Standardverknüpfung für die Eingabe des Vollbilds verwenden. Einige Anwendungen haben unterschiedliche Prozess- und Anwendungsnamen.

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
quelle
Mit dieser Lösung konnte Polycom RealPresence Desktop beim Anmelden auf einem OS X 10.10.5-System effektiv auf Vollbild geschaltet werden. Vielen Dank!
PEM8000,
1

Hier finden Sie Anweisungen für Google Chrome. (Dadurch wird ein Inkognito-Fenster im Vollbildmodus geöffnet.)

Gehe zu /Applications/Google Chrome.app/Content/MacOS/. Benennen Sie die Google Chrome-Binärdatei in etwas anderes (z. B. chrome-bin) um und erstellen Sie stattdessen ein ausführbares Bash-Skript (benennen Sie das Skript Google Chromewie die ursprüngliche ausführbare Datei).

#!/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"

Jetzt wird jedes Mal, wenn Sie Google Chrome starten, im Inkognito-Modus der Vollbildmodus gestartet. Ich verwende den Inkognito-Modus, aber wenn Sie das nicht möchten, löschen Sie einfach die -incognitoFlagge.

Tom Jacob
quelle
1
Das OP erwähnt nichts über Google Chrome.
Cajunluke
1
Der Inkognito-Modus hilft auch nicht, wenn es um bösartigen Code geht - er speichert Cookies und andere lokale (browsergesteuerte) Persistenzschemata nur nicht und erlaubt keinen Zugriff darauf. Plugins (wie Flash) können sogar im Inkognito-Modus ihre eigenen Cookies speichern und darauf zugreifen.
Cajunluke,
+1 für den netten Hack, auch wenn Chrome in der Frage nicht gefragt wurde
myhd
1

Mit Durchsuchen können Sie beliebige Apps im Vollbildmodus öffnen. Es werden sechs praktische Befehle installiert, von denen vier die gängigsten Browser im Vollbildmodus öffnen :

Starten Sie Chrome Canary im Präsentationsmodus:

$ ca

Starten Sie Chrome im Präsentationsmodus:

$ ch

Starten Sie Firefox im Vollbildmodus:

$ ff

Starten Sie Safari im Vollbildmodus:

$ sf

Um etwas im Vollbildmodus zu starten , führen Sie den Befehl ccf(ein Applescript, das die Tastenkombination CMD + STRG + f sendet) nach einem normalen Vorgang aus, um in den openVollbildmodus zu wechseln:

$ open -a Calendar; ccf

Sollte eine App über einen zusätzlichen Vollbildmodus verfügen, der mit CMD + Umschalt + f (wie in Chrome) verknüpft ist, verwenden Sie:

$ open -a "Google Chrome"; csf

Tipp . Wenn eine App nur langsam geladen wird, geben Sie ihr die Möglichkeit, sie vollständig zu laden, indem Sie eine Pause einfügen, bevor Sie die Tastenkombination ausführen:

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

Hier ist eine Ergänzung zu @ Pasawayas exzellenter Antwort. Wenn Sie Ihr AppleScript über die Befehlszeile ausführen möchten, müssen Sie nicht jede Zeile einzeln mit der -eOption eingeben .

osascript -e 'multi-line-applescript here'wird auch funktionieren. Beispiel:

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