Otwórz aplikację na pełnym ekranie za pośrednictwem terminalu

13

Zastanawiam się, czy można otworzyć program w trybie pełnoekranowym Lion przez terminal. Chcę napisać krótki skrypt, który uruchamia kilka programów w trybie pełnoekranowym, więc muszę tylko raz kliknąć, aby uruchomić środowisko pracy.

ABLX
źródło
Czy jest to tryb pełnoekranowy Lion / MTN Lion, czy okno jest „powiększone”?
MrDaniel
lew na pełnym ekranie
ABLX

Odpowiedzi:

12

Oto on:

/ usr / bin / osascript -e 'powiedzieć aplikacji „Safari” „-e” aktywować „-e” powiedzieć aplikacji „Zdarzenia systemowe” „-e” naciśnięcie klawisza „f” przy użyciu {kontrola w dół, polecenie w dół} „-e” koniec powiedz „-e” koniec powiedz ”

Tutaj jest w bardziej przejrzystej formie (ale nie można tego uruchomić w ten sposób):

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

I to jest tak, jak sformatowany AppleScript:

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

Działa, otwierając najpierw okno Safari, jeśli jeszcze nie jest otwarte. Następnie symuluje naciśnięcie klawisza Control ⌃- Command ⌘-, Fco powoduje, że okno Safari przechodzi w tryb pełnoekranowy.

Jeśli chcesz ustawić maksymalny rozmiar okna bez przechodzenia w tryb pełnoekranowy (tzn. Zajmując całą przestrzeń poniżej paska menu u góry):

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

Co stałoby się tak w Terminalu:

/ usr / bin / osascript -e "powiedz aplikacji \" Finder \ "" -e "ustaw desktopSize na granice okna pulpitu" -e "koniec powiedz" -e "powiedz aplikacji \" Safari \ "" -e "aktywuj „-e” ustaw granice okna 1 na rozmiar pulpitu „-e” koniec powiedz „

W przypadku Chrome wykonaj następujące czynności:

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

Tak byłoby w Terminalu:

/ usr / bin / osascript -e "powiedz aplikacji \" Google Chrome \ "" -e "aktywuj" -e "utwórz nowe okno" -e "powiedz aplikacji \" Zdarzenia systemowe \ "" -e "naciśnięcie klawisza \" f \ "using {control down, command down}" -e "end tell" -e "end tell"

Mam nadzieję że to pomoże!

pasawaya
źródło
spróbowałem tego i to trochę pomogło. otwiera aplikację, ale pełny ekran nie działa - jsut wydaje mi dźwięk błędu. muszę dwukrotnie uruchomić skrypt, aby przejść do
trybu
@ABLX Musisz zmienić naciśnięcie klawisza dowolnej aplikacji, którą chcesz wyświetlić na pełnym ekranie - z jakimi aplikacjami pracujesz?
Cajunluke
@ qegal Wierzę, że cały ekran - w komentarzach do pytania wspomniał o pełnym ekranie Lion.
Cajunluke
Evernote i Chrome. powinien być lew pełnoekranowy
ABLX
O, moja wina. evernotes chce ^ + polecenie + f.
ABLX
2

Nie działa to z aplikacjami, które nie używają natywnych pełnoekranowych okien, ale powinny działać z niektórymi, które nie używają standardowego skrótu do wchodzenia na pełny ekran. Kilka aplikacji ma różne nazwy procesów i nazwy aplikacji.

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
źródło
To rozwiązanie skutecznie zmusiło program Polycom RealPresence Desktop do pełnego ekranu podczas logowania w systemie OS X 10.10.5, dzięki!
PEM8000,
1

Oto instrukcje dla Google Chrome. (Spowoduje to otwarcie okna Incognito na pełny ekran).

Idź do /Applications/Google Chrome.app/Content/MacOS/. Zmień nazwę chrome-binpliku binarnego Google Chrome na coś innego (np. ) I utwórz w jego miejscu wykonywalny skrypt bash (nazwij skrypt Google Chrometak jak oryginalny plik wykonywalny).

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

Teraz za każdym razem, gdy uruchomisz Google Chrome, uruchomi pełny ekran w trybie incognito. Używam trybu incognito, ale jeśli tego nie chcesz, po prostu usuń -incognitoflagę.

Tom Jacob
źródło
1
OP nie wspomina nic o Google Chrome.
Cajunluke
1
Ponadto tryb incognito nie pomoże ani odrobinę złośliwego kodu - po prostu nie przechowuje ani nie pozwala na dostęp do plików cookie i innych lokalnych (kontrolowanych przez przeglądarkę) schematów trwałości. W rzeczywistości wtyczki (takie jak Flash) mogą przechowywać i uzyskiwać dostęp do własnych plików cookie, nawet w trybie incognito.
Cajunluke
+1 za niezły hack, nawet jeśli nie pytano o Chrome
myhd
1

możesz użyć opcji Przeglądaj, aby otworzyć dowolne aplikacje w trybie pełnoekranowym. Instaluje sześć wygodnych poleceń, z których cztery otwierają najpopularniejsze przeglądarki na pełnym ekranie :

Uruchom Chrome Canary w trybie prezentacji:

$ ca

Uruchom Chrome w trybie prezentacji:

$ ch

Uruchom Firefox w trybie pełnoekranowym:

$ ff

Uruchom Safari w trybie pełnoekranowym:

$ sf

Aby uruchomić cokolwiek na pełnym ekranie , uruchom komendę ccf(skrypt jabłkowy wysyłający kombinację klawiszy CMD + CTRL + f) po zwykłym openprzełączeniu go w tryb pełnoekranowy:

$ open -a Calendar; ccf

Jeśli aplikacja ma dodatkowy tryb pełnoekranowy skrócony przez CMD + Shift + f (podobnie jak Chrome), użyj:

$ open -a "Google Chrome"; csf

Tip . Jeśli aplikacja ładuje się wolno, daj szansę jej pełnego załadowania, wstawiając pauzę przed uruchomieniem skrótu klawiaturowego:

$ open -a "Google Chrome"; sleep 3; csf
Lloyd
źródło
1

Oto dodatek do doskonałej odpowiedzi @ pasawaya. Jeśli chcesz uruchomić swój skrypt AppleScript z wiersza poleceń, nie musisz wpisywać każdego wiersza osobno z -eopcją.

osascript -e 'multi-line-applescript here'będzie również działać. Przykład:

osascript -e 'tell application "Safari"
activate
  tell application "System Events"
    keystroke "f" using {control down, command down}
  end tell
end tell'
joni
źródło