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 avvii un sacco di programmi in modalità a schermo intero, quindi devo fare clic una sola volta per avviare il mio ambiente di lavoro.


È questa la modalità a schermo intero Lion / MTN Lion o una finestra "ingrandita"?
MrDaniel,

the lion a schermo intero
ABLX

Risposte:


12

Ecco qui:

/ usr / bin / osascript -e 'comunica all'applicazione "Safari"' -e "attiva" -e 'comunica all'applicazione "Eventi di sistema"' -e 'premendo il tasto "f" usando {control down, command down}' -e "end dì "-e" e finisci "

Qui è in una forma più chiara (ma non è possibile 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 non è attualmente aperta. Quindi simula il tasto Control ⌃- Command ⌘- Fche dice alla finestra di Safari di diventare a schermo intero.

Se vuoi rendere la finestra della dimensione massima, può essere senza diventare a schermo intero (ovvero occupare 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 sarebbe diventato questo nel Terminal:

/ usr / bin / osascript -e "Tell application \" Finder \ "" -e "imposta desktopSize ai limiti della finestra del desktop" -e "end tell" -e "tell application \" Safari \ "" -e "activ "-e" imposta i limiti della finestra 1 su desktopSize "-e" end tell "

Per Chrome, procedere come segue:

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 nel Terminal:

/ usr / bin / osascript -e "comunica all'applicazione \" Google Chrome \ "" -e "attiva" -e "crea una nuova finestra" -e "comunica all'applicazione \" Eventi di sistema \ "" -e "premendo il tasto \" f \ "usando {control down, comando down}" -e "end tell" -e "end tell"

Spero che sia di aiuto!


ci ho provato e mi ha aiutato un po '. apre l'app, ma lo schermo intero non funziona - jsut mi dà un suono di errore.
devi

@ABLX È necessario modificare la sequenza di tasti per qualsiasi app desideri che venga visualizzata a schermo intero: con quali app stai lavorando?
Cajunluke,

@qegal Credo che l'intero schermo - ha menzionato Lion a schermo intero nei commenti alla domanda.
Cajunluke,

evernote e cromo. dovrebbe essere leone a schermo intero
ABLX

aww colpa mia. gli evernoti vogliono ^ + comando + f.
ABLX

2

Questo non funzionerà con le applicazioni che non usano finestre native a schermo intero, ma dovrebbero funzionare con alcune che non usano il collegamento standard per accedere allo schermo intero. Alcune applicazioni hanno nomi di processo 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

Questa soluzione è stata efficace per forzare Polycom RealPresence Desktop a schermo intero all'accesso su un sistema OS X 10.10.5, grazie!
PEM8000,

1

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

Vai a /Applications/Google Chrome.app/Content/MacOS/. Rinomina il binario di Google Chrome in qualcos'altro (come chrome-bin) e crea al suo posto uno script eseguibile bash (dai un nome allo script Google Chromeproprio 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 solo la -incognitobandiera.


1
L'OP non menziona nulla su Google Chrome.
Cajunluke,

1
Inoltre, la modalità di navigazione in incognito non è di aiuto quando si tratta di codice dannoso: semplicemente non memorizza o consente l'accesso ai cookie e ad altri schemi di persistenza locali (controllati dal browser). Infatti, i plugin (come Flash) possono archiviare e accedere ai propri cookie anche in modalità di navigazione in incognito.
Cajunluke,

+1 per il bel trucco anche se Chrome non è stato richiesto nella domanda
myhd

1

è possibile utilizzare Sfoglia per applicazioni arbitrarie aperti in modalità a schermo intero .. Si installa sei comandi di convenienza, quattro delle quali si aprono i browser più comuni in full-screen :

Avvia Chrome Canary in modalità Presentazione:

$ ca

Avvia Chrome in modalità Presentazione:

$ ch

Avvia Firefox in modalità schermo intero:

$ ff

Avvia Safari in modalità schermo intero:

$ sf

Per avviare qualsiasi cosa a schermo intero , esegui il comando ccf(un applecript che invia la sequenza di tasti CMD + CTRL + f) dopo un normale openpassaggio per passare alla modalità a schermo intero:

$ open -a Calendar; ccf

Se un'app ha una modalità a schermo intero aggiuntiva abbreviata da CMD + Maiusc + f (come Chrome), utilizzare:

$ open -a "Google Chrome"; csf

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

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

1

Ecco un'aggiunta alla risposta eccellente di @pasawaya. Se vuoi eseguire il tuo applecript dalla riga di comando, non è necessario inserire ogni riga separatamente con l' -eopzione.

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

osascript -e 'tell application "Safari"
activate
  tell application "System Events"
    keystroke "f" using {control down, command down}
  end tell
end tell'
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.