Como posso trazer uma janela para a frente sem focar usando a Applescript no OS X 10.8

9

Quero trazer uma janela (QuickTime, por exemplo) para a frente, sem focalizá-la . Eu posso fazer isso no OS X 10.7 usando o seguinte código no Applescript.

tell application "System Events"
    set visible of process "QuickTime Player" to true
end tell

Isso é equivalente ao Python.

from ScriptingBridge import *
process = SBApplication.applicationWithBundleIdentifier_('com.apple.systemevents').processes().objectWithName_('QuickTime Player')
process.setVisible_(True)

Mas não funciona depois que eu atualizei para o OS X 10.8. Existe alguma maneira de fazê-lo funcionar?

Yuxiao Zeng
fonte

Respostas:

12

Se um aplicativo tiver janelas abertas, isso deve aumentá-las acima das janelas de outros aplicativos, mas mantê-las abaixo das do aplicativo atual.

tell application "System Events"
    perform action "AXRaise" of window 1 of process "QuickTime Player"
end tell
Lri
fonte
Isso é o que eu quero. Obrigado. A propósito, onde posso encontrar as documentações das ações?
Yuxiao Zeng 31/07/2012
11
Referência de Funções e Atributos de Acessibilidade: Ações . Você pode ver quais ações os elementos da interface do usuário são compatíveis com actions ofou usando o Accessibility Inspector.
Lri
11
O AXRaise não é permitido no OS X 10.10 (Yosemite) e 10.11 (El-Capitan), a menos que você tenha adicionado o aplicativo de chamada (aquele que executa o AppleScript) à seção "Acessibilidade" da guia "Privacidade" da guia "Privacidade e segurança" "Painel Preferências do Sistema. Isso significa que, na primeira vez em que você tentar fazer isso, será apresentada uma interface do sistema que sugerirá levá-lo às preferências. Não posso usá-lo por causa do desvio na experiência do usuário. Existe outra maneira de aumentar a janela sem usar o AX (API de acessibilidade) ???
Motti Shneor 28/10/2015
-1

Então, pelo que eu recolho da sua postagem, você está tentando exibir um aplicativo usando o Applescript? Nesse caso, o código para isso no Mountain Lion é realmente bastante simples! Aqui está:

tell application "Quicktime Player"
activate
end tell

Eu espero que isso funcione! Se não é o que você queria, entre em contato e atualizarei para você. :)

Benson475
fonte
2
Bem, ativar ativará o Quicktime, então não é o que eu quero. Quero dizer, se você abrir o aplicativo Applescript, digitar seu código e executá-lo, o foco da janela será movido para o Quicktime. Como resultado, você não pode digitar nenhum código antes de clicar na janela Applescript, por exemplo.
Yuxiao Zeng