Como posso ocultar o painel de preferências do Box SimpleShare quando o aplicativo é iniciado?

1

Configurei o aplicativo Box SimpleShare para iniciar no login, mas o aplicativo inicia seu painel de preferências logo após carregar seu ícone na barra de menus. Configurando-o para iniciar no modo "oculto" em Preferências do Sistema > Usuários & Goups > Os itens de login não alteram esse comportamento.

Eu tentei criar um AppleScript, salvo como um aplicativo, para iniciar o aplicativo Box SimpleShare no login e ocultar o painel de visualização, mas não funciona como esperado.

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

Isso inicia o aplicativo, mas não fecha o painel de preferências Caixa SimpleShare . Qual seria o código adequado para fazer isso?

    
por pause-n-loop 08.05.2012 / 03:42

1 resposta

0

A janela de preferências da caixa é particularmente persistente - ela não apenas insiste em exibir toda vez que o aplicativo é iniciado; ele reabrirá se estiver fechado antes que o aplicativo tenha terminado sua sequência de inicialização! No entanto, com alguns scripts de GUI, é possível eliminá-lo. O código a seguir iniciará o aplicativo, aguardará a janela de preferências aparecer e fechá-lo após um pequeno atraso (para que possa concluir sua sequência de inicialização):

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

Se a janela reabrir no seu sistema, defina um valor mais alto para boxLoadDelay . Além disso, se o script expirar antes de o aplicativo ser carregado, ajuste o valor para timeOutMax (e possivelmente para timeOutStep se você tiver que selecionar um limite de tempo limite muito maior).

    
por 08.05.2012 / 21:40