Abra una aplicación en pantalla completa a través de Terminal


13

Me pregunto si es posible abrir un programa en modo de pantalla completa Lion a través de la Terminal. Quiero escribir un script corto que inicie un montón de programas en modo de pantalla completa, de modo que solo tenga que hacer clic una vez para iniciar mi entorno de trabajo.


¿Es este el modo de pantalla completa Lion / MTN Lion, o una ventana "ampliada"?
MrDaniel

the lion fullscreen
ABLX

Respuestas:


12

Aquí está:

/ usr / bin / osascript -e 'decir aplicación "Safari"' -e "activar" -e 'decir aplicación "Eventos del sistema"' -e 'pulsación de tecla "f" usando {control abajo, comando abajo}' -e "fin dile "-e" end tell "

Aquí está en una forma más clara (pero no puede ejecutarlo de esta manera):

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

Y esto es como AppleScript formateado:

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

Funciona abriendo primero una ventana de Safari si una no está abierta actualmente. Luego simula la Control ⌃- Command ⌘- Fpulsación de tecla que le dice a la ventana de Safari que se convierta en pantalla completa.

Si desea que la ventana tenga el tamaño máximo, puede ser sin pantalla completa (es decir, ocupando todo el espacio debajo de la barra de menú en la parte superior):

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

Que se convertiría en esto en la Terminal:

/ usr / bin / osascript -e "tell application \" Finder \ "" -e "establece desktopSize en los límites de la ventana del escritorio" -e "end tell" -e "tell application \" Safari \ "" -e "activa "-e" establece los límites de la ventana 1 en desktopSize "-e" end tell "

Para Chrome, haz esto:

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

Entonces sería esto en la Terminal:

/ usr / bin / osascript -e "decir aplicación \" Google Chrome \ "" -e "activar" -e "hacer nueva ventana" -e "decir aplicación \" Eventos del sistema \ "" -e "pulsación de tecla \" f \ "usando {control abajo, comando abajo}" -e "end tell" -e "end tell"

¡Espero que esto ayude!


Probé esto y me ayudó un poco. abre la aplicación, pero la pantalla completa no funciona, jsut me da un sonido de error. tengo que ejecutar el script dos veces para ir a pantalla completa
ABLX

@ABLX Necesita cambiar la pulsación de tecla para cualquier aplicación que desee en pantalla completa: ¿con qué aplicaciones está trabajando?
Cajunluke

@ qegal Creo que toda la pantalla: mencionó a Lion a pantalla completa en los comentarios de la pregunta.
Cajunluke

evernote y cromo. debería ser pantalla completa de león
ABLX

aww mi culpa. evernotes want ^ + command + f.
ABLX

2

Esto no funcionará con aplicaciones que no usan ventanas nativas de pantalla completa, pero debería funcionar con algunas que no usan el acceso directo estándar para ingresar a pantalla completa. Algunas aplicaciones tienen diferentes nombres de proceso y nombres de aplicación.

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

Esta solución fue efectiva para forzar Polycom RealPresence Desktop en pantalla completa al iniciar sesión en un sistema OS X 10.10.5, ¡gracias!
PEM8000

1

Aquí hay instrucciones para Google Chrome. (Esto abrirá una ventana de incógnito a pantalla completa).

Ir a /Applications/Google Chrome.app/Content/MacOS/. Cambie el nombre del binario de Google Chrome a otra cosa (como chrome-bin) y cree un script bash ejecutable en su lugar (nombre el script Google Chromecomo el archivo ejecutable original).

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

Ahora, cada vez que inicie Google Chrome, se abrirá la pantalla completa en modo de incógnito. Uso el modo de incógnito, pero si no quieres eso, simplemente borra la -incognitobandera.


1
El OP no menciona nada sobre Google Chrome.
Cajunluke

1
Además, el modo de incógnito no ayudará en absoluto cuando se trata de código malicioso: simplemente no almacena ni permite el acceso a cookies y otros esquemas de persistencia locales (controlados por el navegador). De hecho, los complementos (como Flash) pueden almacenar y acceder a sus propias cookies incluso en modo de incógnito.
Cajunluke

+1 para el buen truco, incluso si Chrome no fue pedido en la pregunta
myhd

1

puede usar la exploración para abrir aplicaciones arbitrarias en modo de pantalla completa. Instala seis comandos convenientes, cuatro de los cuales abren los navegadores más comunes en pantalla completa :

Inicie Chrome Canary en modo Presentación:

$ ca

Inicie Chrome en modo Presentación:

$ ch

Inicie Firefox en modo de pantalla completa:

$ ff

Inicie Safari en modo de pantalla completa:

$ sf

Para iniciar cualquier cosa en pantalla completa , ejecute el comando ccf(un applecript que envía la combinación de teclas CMD + CTRL + f) después de un comando regular openpara cambiarlo al modo de pantalla completa:

$ open -a Calendar; ccf

Si una aplicación tiene un modo de pantalla completa adicional atajado por CMD + Shift + f (como Chrome), use:

$ open -a "Google Chrome"; csf

Tip . Si una aplicación tarda en cargarse, déle la oportunidad de cargarla completamente insertando una pausa antes de ejecutar el método abreviado de teclado:

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

1

Aquí hay una adición a la excelente respuesta de @ pasawaya. Si desea ejecutar su applecript desde la línea de comando, no necesita ingresar cada línea por separado con la -eopción.

osascript -e 'multi-line-applescript here'Funcionará también. Ejemplo:

osascript -e 'tell application "Safari"
activate
  tell application "System Events"
    keystroke "f" using {control down, command down}
  end tell
end tell'
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.