3 votos

Cómo desactivar el autohide dock cuando la aplicación se cierra

No soy un ninja de AppleScript pero he seguido esto enlace para ocultar automáticamente el dock al abrir Unreal Engine

tell application "System Events"
  set autohide of dock preferences to true
end tell
tell application "UE4Editor" to activate

Pero, ¿cómo desactivar el autohide cuando Unreal Engine se cierra? Estoy ejecutando este script como una App.

¿Hay alguna forma de integrar este script para Unreal Engine ¿aplicación? Entonces, ¿no tengo que hacer clic en esta aplicación manualmente y todo se hace por mí entre bastidores automáticamente?

3voto

user3439894 Puntos 5883

Si no quiere preocuparse de crear un condición de carrera y tener que cerrar UE4Editor antes de apagar, como se menciona en la otra respuesta, entonces hay una buena aplicación llamada EventScripts por 3,99 dólares en el App Store que puede utilizar para desencadenar AppleScript scripts y o Shell scripts cuando ciertos eventos son desencadenado .

He aquí un ejemplo AppleScript script que ocultar/mostrar el Muelle cuando UE4Editor lanzamientos/cierres :

on run eventArgs
    set theAppName to applicationName in eventArgs
    set theTrigger to trigger in eventArgs
    if theTrigger is "Application launched" and theAppName is "UE4Editor" then
        hideDock(true)
    else if theTrigger is "Application quit" and theAppName is "UE4Editor" then
        hideDock(false)
    end if
end run

on hideDock(b)
    tell application "System Events"
        set autohide of dock preferences to b
    end tell
end hideDock

En Script Editor , guarda lo anterior AppleScript código como, por ejemplo, UE4Editor - Al abrir y cerrar.scpt en ~/Library/Application scripts/net.mousedown.EventScripts/ (después de instalar EventScripts).

Ahora en EventScripts , añada lo mismo script dos veces, mientras que el ajuste de la Evento para un a Aplicación lanzada y el otros a Solicitud de renuncia .

Ahora, cuando UE4Editor lanza, el Muelle está oculto, y cuando UE4Editor abandona el Muelle no está oculto.

EventScripts

EventScripts tiene una larga lista de eventos puede desencadenar un script encendido. Consulta los siguientes enlaces para obtener más información:

Nota: No estoy afiliado al desarrollador de EventScripts, sólo soy un cliente satisfecho.

2voto

Tetsujin Puntos 23061

Esto depende de si UE4Editor se lanza desde el shell script, así que no puedo probarlo... funciona bien con TextEdit.

Guarda esto como una aplicación independiente, en lugar de un script. Debería funcionar como cualquiera de los dos, pero una aplicación es más ordenada.

tell application "System Events" to set autohide of dock preferences to true
tell current application to do shell script "/Applications/UE4Editor.app/Contents/MacOS/UE4Editor"  
tell application "System Events" to set autohide of dock preferences to false

Como estás lanzando desde el shell script, la aplicación script ocultará el Dock, lanzará tu editor, y luego simplemente esperará hasta que UE4Editor se cierre, y luego continuará desde donde lo dejó, ocultando el Dock. A continuación, se cerrará por sí misma.
Esto significa que parecerá que no responde mientras dure la sesión, pero en realidad no causa ningún problema en sí mismo. Tengo aplicaciones script como esta que permanecen abiertas durante una semana o más y no hacen ningún daño.

Nota: Si reinicia el Mac mientras esto se está ejecutando, el propio Mac restaurará su última sesión del Editor y por lo tanto estará en una condición de carrera con el script. Asegúrese de salir del editor antes de apagar o reiniciar.

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