2 votos

AppleScript guardado como de la aplicación no se ejecuta toda la secuencia de comandos cuando el argumento se pasa

Puedo guardar los siguientes AppleScript como la aplicación, abrir Firefox en pantalla completa y sin la barra de menú:

tell application "Firefox" to activate
delay 0.8
do shell script "lsappinfo setinfo -app Firefox ApplicationType=UIElement"
tell application "System Events" to tell process "Firefox" to set value of attribute "AXFullScreen" of last window to true

Y ejecutarlo como:

open -a "Firefox Full Screen"

Esto funciona como se esperaba, Firefox se abre, va a pantalla completa, sin la barra de menú. El problema es que cuando intento llamar a abrir con una URL:

open -a "Firefox Full Screen" "https://google.com"

Esto todavía se abre Firefox, con la URL en una nueva pestaña, pero no para ejecutar las líneas después de la delay 0.8, para que no se abra en pantalla completa. No entiendo por qué sucede esto y cómo solucionarlo.

Sé que esas líneas no se ejecuta porque el sistema no advierten que necesito para agregar la aplicación de la accesibilidad de excepción (cuando no tengo a nadie agregado/activado). Siempre advierte que si no me pasa la dirección URL (y no tiene una excepción añadido/activado).

EDICIÓN 1

También traté de ejecutar la siguiente versión con open -a "Firefox Full Screen", open -a "Firefox Full Screen" "https://google.com", open -a "Firefox Full Screen" --args "https://google.com" y es peor ya que no ejecute las últimas líneas, en cualquier caso:

on run argv
    tell application "Firefox"
        activate
        repeat with arg in argv
            open location (arg as text)
        end repeat
    end tell
    delay 0.8
    do shell script "lsappinfo setinfo -app Firefox ApplicationType=UIElement"
    tell application "System Events" to tell process "Firefox" to set value of attribute "AXFullScreen" of last window to true
end run

EDIT 2

Parece que el problema está relacionado con https://stackoverflow.com/questions/14419700.

3voto

pepper_chico Puntos 271

Se parece a pasar argumentos a un AppleScript guarda como una aplicación se ha convertido roto en algún punto. Yo he cumplido mi tarea mediante el uso de Automator para crear un equivalente de la nueva Aplicación que hace uso de una Action > Utilities > Run Shell Script:

open -a Firefox
sleep 1
lsappinfo setinfo -app Firefox ApplicationType=UIElement
osascript -e 'tell application "System Events" to tell process "Firefox" to set value of attribute "AXFullScreen" of first window to true'
sleep 0.5
for f in "$@"; do open -a Firefox "$f"; done

Me puse el script de shell Shell: a /bin/sh y Pass input: a as arguments, guardar como "Firefox Pantalla Completa" en /Applications, cambiar su icono , como se explica aquí y añadir una excepción en System Preferences > Security & Privacy > Privacy Tab > Accessibility.

Yo, a continuación, puede ejecutar cualquiera de los siguientes y que funciona como se espera:

  • open -a "Firefox Full Screen"
  • open -a "Firefox Full Screen" --args "https://google.com"
  • open -a "Firefox Full Screen" --args "https://google.com" "https://twitter.com"

Estoy usando esta, junto con la siguiente userChrome.css tanto para evadir un conocido problema con el macOS de la barra de menú en las aplicaciones de pantalla completa y otro de larga data de la barra de direcciones y la ficha de auto-ocultar error que Firefox tiene con macOS nativa de pantalla completa.

userChrome.css

#navigator-toolbox[inFullscreen] {
    position: relative;
    z-index: 1;
    height: 3px;
    margin-bottom: -3px;
    opacity: 0;
    overflow: hidden;
}

#navigator-toolbox[inFullscreen]:hover {
    height: auto;
    margin-bottom: 0px;
    opacity: 1;
    overflow: show;
}

#content-deck[inFullscreen]{
    position:relative;
    z-index: 0;
}

Para un enfoque genérico, comprobar mi otra respuesta.

PUNTA

  • Firefox, por defecto, no tiene ningún problema en Linux o Windows para ocultar automáticamente la barra de direcciones y pestañas en pantalla completa como se esperaba. Con eso dicho, me agarró de este userChrome.css de mi programa de instalación de ArchLinux. Yo lo uso en i3 y el balanceo de baldosas de la ventana de gerentes, con todas las [inFullscreen] retira, para obtener la barra de direcciones y pestañas para ocultar automáticamente en normal bordless de windows.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X