Tengo un script para OS X 10.5 que enfoca el cuadro de búsqueda en el menú Ayuda de cualquier aplicación. Lo tengo en una combinación de teclas y, al igual que Spotlight, quiero que se alterne cuando ejecuto el script. Por lo tanto, quiero detectar si el cuadro de búsqueda ya está enfocado para escribir, y si es así, escriba Esc en lugar de hacer clic en el menú Ayuda.En Applescript, ¿cómo puedo averiguar si un elemento de menú está seleccionado/enfocado?
Aquí está la secuencia de comandos tal como está ahora:
tell application "System Events"
tell (first process whose frontmost is true)
set helpMenuItem to menu bar item "Help" of menu bar 1
click helpMenuItem
end tell
end tell
Y estoy pensando en algo como esto:
tell application "System Events"
tell (first process whose frontmost is true)
set helpMenuItem to menu bar item "Help" of menu bar 1
set searchBox to menu item 1 of menu of helpMenuItem
if (searchBox's focused) = true then
key code 53 -- type esc
else
click helpMenuItem
end if
end tell
end tell
... pero me sale este error:
Can’t get focused of {menu item 1 of menu "Help" of menu bar item "Help" of menu bar 1 of application process "Script Editor" of application "System Events"}.
Entonces, ¿hay alguna manera de que mi script pueda detectar si el cuadro de búsqueda ya está enfocado?
he resuelto mi problema por working around it. Todavía no sé cómo verificar si un elemento de menú está seleccionado, así que dejaré este tema abierto.
'if searchField's focused is true then' .. ¿es realmente la sintaxis del script de apple? agregando un apóstrofo? – abbood