Usar AppleScript para abrir una aplicación sin el foco de robo de la aplicación

5

Utilizo iA Writer lo suficiente como para que me gustaría abrirlo en pantalla completa al iniciar sesión, pero desafortunadamente los desarrolladores tienen desdén por las preferencias.

Decidí escribir un AppleScript que pudiera agregar a la lista de inicio, pero no puedo hacerlo funcionar correctamente. Me gustaría abrir un archivo específico utilizando iA Writer en el inicio de sesión, en el modo de pantalla completa 10.8, pero sin cambiar el enfoque de mi escritorio normal, o, al menos, volver automáticamente a mi escritorio principal después del lanzamiento. EDITAR: Aquí está mi código después de las ediciones sugeridas:

set front_application to front window
tell (application "iA Writer") to open (POSIX file "/PATH/TO/FILE.txt")
activate application "iA Writer"
#EDITED# tell application "System Events" to keystroke "f" using {command down, control down}
#ADDED# delay 1
#ADDED# tell application "System Events" to keystroke "1" using control down
end tell
activate front_application

Este código abre con éxito el archivo con iA Writer en pantalla completa, pero cambia al nuevo escritorio controlado por iA Writer, espera un momento y vuelve a mi escritorio principal.

Dado que OS X ha cambiado de espacios a escritorios, ni siquiera sé si es posible abrir una aplicación en la pantalla completa de Mountain / Lion sin que esto robe el foco y obligue a cambiar el escritorio.

¡Muchas gracias a @Lauri Ranta por su ayuda hasta ahora!

Cualquier ayuda adicional, con respecto a evitar que iA Writer cambie de escritorio cuando se convierta en pantalla completa, sería muy apreciada. Gracias!

    
pregunta audiosnow 20.10.2012 - 07:39

2 respuestas

2

(Quité el script original, pero tampoco pude encontrar nada mejor que esto)

set fw to front window
do shell script "open ~/Notes/todo.txt -Fa iA\ Writer"
delay 0.1
tell application "System Events" to tell process "iA Writer"
    perform action "AXPress" of (button 1 where subrole is "AXFullScreenButton") of window 1
end tell
delay 1.5
activate fw

WriteRoom tiene una opción para abrir documentos en ventanas personalizadas de pantalla completa. Si está seleccionado, podrías usar algo como open file.txt -Fjga WriteRoom .

Si alguien más solo necesita abrir una aplicación en segundo plano, puede usar open -jg o launch . launch a veces abre una ventana visible si una aplicación no está abierta y open -jg si una aplicación está abierta pero no tiene ventanas.

set b to "com.apple.TextEdit"
tell application "System Events"
    if bundle identifier of processes contains b then
        launch application id b
    else
        do shell script "open -jgb " & b
    end if
end tell
    
respondido por el user495470 20.10.2012 - 11:26
0

En caso de que aún tengas esta pregunta, usa esto:

do shell script "open -ga 'iA Writer'"

open es un comando de Terminal que abre cosas. La opción -g abre la aplicación en segundo plano. El -a especifica una aplicación para abrir. Si no se proporcionan archivos, como aquí, open simplemente abrirá la aplicación sin archivos. Si desea abrir un archivo en particular, puede usar do shell script "open -ga 'iA Writer' myfile.txt"

    
respondido por el BallpointBen 20.06.2017 - 04:25

Lea otras preguntas en las etiquetas