¿Cómo puedo ocultar el panel de preferencias de Box SimpleShare cuando se inicia la aplicación?

¿Cómo puedo ocultar el panel de preferencias de Box SimpleShare cuando se inicia la aplicación?

he puesto elCaja SimpleCompartirLa aplicación se inicia al iniciar sesión, pero la aplicación inicia su panel de preferencias justo después de cargar su ícono en la barra de menú. Configurarlo para que comience en modo "oculto" en Preferencias del sistema > Usuarios y grupos > Elementos de inicio de sesiónno cambia ese comportamiento.

Intenté crear un AppleScript, guardado como una aplicación, para iniciar elCaja SimpleCompartirapp al iniciar sesión y ocultar el panel de preferencias, pero no funciona como se esperaba.

set tApp to "Box SimpleShare"
tell application tApp to launch
tell application "System Events"
    set visible of process "Box SimpleShare" to false
end tell

Esto inicia la aplicación pero no cierra elCaja SimpleCompartirpanel de preferencias. ¿Cuál sería el código adecuado para hacer eso?

Captura de pantalla de la ventana de preferencias

Respuesta1

La ventana de preferencias de Box es particularmente persistente: no solo insiste en mostrarse cada vez que se inicia la aplicación, sino que se volverá a abrir si se cierra antes de que la aplicación haya terminado su secuencia de inicialización. Sin embargo, con algunas secuencias de comandos GUI,esposible deshacerse de él. El siguiente código iniciará la aplicación, esperará a que aparezca la ventana de preferencias y la cerrará después de un breve retraso (para que pueda completar su secuencia de inicialización):

property timeOutMax : 5
property timeOutStep : 1
property boxLoadDelay : 2

set boxApp to "Box SimpleShare"
tell application boxApp to launch
set timeOutCounter to 0
tell application "System Events"
    tell process boxApp
        repeat while (window 1 of it exists) is false and timeOutCounter is less than timeOutMax
            delay timeOutStep
            set timeOutCounter to timeOutCounter + timeOutStep
        end repeat
        if window 1 of it exists then
            delay boxLoadDelay
            click (button 1 of window 1 of it)
        end if
    end tell
end tell

Si la ventana se vuelve a abrir en su sistema, establezca un valor más alto para boxLoadDelay. Además, si el script expira antes de que se haya cargado la aplicación, ajuste el valor de timeOutMax(y posiblemente de timeOutStepsi tiene que seleccionar un umbral de tiempo de espera mucho más alto).

información relacionada