У меня есть скрипт для OS X 10.5, который фокусируется на поле поиска в меню «Справка» любого приложения. У меня есть комбинация клавиш, и, как и в Spotlight, я хочу, чтобы она переключалась при запуске скрипта. Итак, я хочу определить, сфокусировано ли поле поиска для ввода текста, и если да, то вместо нажатия меню «Справка» введите Esc.
Вот сценарий в его нынешнем виде:
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
И я думаю о чем-то вроде этого:
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
... но я получаю эту ошибку:
Не могу сфокусироваться на {пункте 1 меню «Справка» пункта меню «Справка» панели меню 1 процесса приложения «Редактор скриптов» приложения «Системные события»}.
Так есть ли способ заставить мой скрипт определить, сфокусировано ли поле поиска?
Я решил свою проблему, обойдя ее . Я до сих пор не знаю, как проверить, выбран ли пункт меню, поэтому я оставлю эту тему открытой.