Apri un'app a schermo intero tramite Terminale

13

Mi chiedo se sia possibile aprire un programma in modalità a schermo intero Lion tramite il Terminale. Voglio scrivere un breve script che avvia una serie di programmi in modalità a schermo intero, quindi devo solo fare clic una volta per avviare il mio ambiente di lavoro.

    
posta ABLX 01.08.2012 - 14:11
fonte

5 risposte

12

Ecco qui:

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

Qui è in una forma più chiara (ma non puoi eseguirlo in questo modo):

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

E questo è come AppleScript formattato:

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

Funziona aprendo prima una finestra di Safari se una non è attualmente aperta. Quindi simula il comando Controllo ^ - Comando ⌘ - F che indica alla finestra di Safari di diventare a schermo intero.

Se vuoi rendere la finestra la dimensione massima che può essere senza diventare a schermo intero (ad esempio occupando tutto lo spazio sotto la barra dei menu in alto):

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

Che diventerebbe questo in 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"

Per Chrome, fai questo:

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

Quindi sarebbe questo in 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"

Spero che questo aiuti!

    
risposta data 01.08.2012 - 21:59
fonte
2

Questo non funzionerà con applicazioni che non usano finestre native a schermo intero, ma dovrebbero funzionare con alcune che non usano il collegamento standard per entrare a pieno schermo. Alcune applicazioni hanno nomi di processi e nomi di applicazioni diversi.

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
    
risposta data 01.08.2012 - 22:28
fonte
1

Ecco le istruzioni per Google Chrome. (Verrà visualizzata una finestra di navigazione in incognito a schermo intero.)

Vai a /Applications/Google Chrome.app/Content/MacOS/ . Rinominare il binario di Google Chrome con qualcos'altro (come chrome-bin ) e creare uno script bash eseguibile al suo posto (denominare lo script Google Chrome proprio come il file eseguibile originale).

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

Ora, ogni volta che avvii Google Chrome, verrà avviato a schermo intero in modalità di navigazione in incognito. Uso la modalità di navigazione in incognito, ma se non lo desideri, elimina il flag -incognito .

    
risposta data 09.09.2012 - 18:20
fonte
0

puoi utilizzare sfogliare per aprire app arbitrarie in modalità a schermo intero. Installa sei comandi di comodità, quattro dei quali < strong> apri i browser più comuni a schermo intero :

Avvia Chrome Canary in modalità Presentazione:

$ ca

Avvia Chrome in modalità Presentazione:

$ ch

Avvia Firefox in modalità a schermo intero:

$ ff

Avvia Safari in modalità a schermo intero:

$ sf

Per lanciare qualsiasi cosa a schermo intero , esegui il comando ccf (un applescript che invia CMD + CTRL + tasto f) dopo un normale open per passare alla modalità a schermo intero :

$ open -a Calendar; ccf

Se un'app ha una modalità schermo intero aggiuntiva scelta da CMD + Maiusc + f (come fa Chrome), usa:

$ open -a "Google Chrome"; csf

Suggerimento . Se un'app è lenta da caricare, dagli la possibilità di caricarla completamente inserendo una pausa prima di eseguire la scorciatoia da tastiera:

$ open -a "Google Chrome"; sleep 3; csf
    
risposta data 08.05.2014 - 11:42
fonte
0

Ecco un'aggiunta all'eccellente risposta di @ pasawaya. Se vuoi eseguire il tuo applescript dalla riga di comando, non devi inserire ogni riga separatamente con l'opzione -e .

Anche

osascript -e 'multi-line-applescript here' funzionerà. Esempio:

osascript -e 'tell application "Safari"
activate
  tell application "System Events"
    keystroke "f" using {control down, command down}
  end tell
end tell'
    
risposta data 27.06.2016 - 10:25
fonte

Leggi altre domande sui tag