Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have an application installed that only appears in the menu bar (as a menu extra to the right). I would like to click one of the items contained in its menu via osascript. I've found the following code snippet:

osascript -e '
  tell application "System Events"
    tell process "SystemUIServer"
      tell (1st menu bar item of menu bar 1 whose value of attribute "AXDescription" is "keymando menu extra")
         perform action "AXPress" of menu item "Edit Config" of menu 1
      end tell
    end tell
  end tell

Sadly, it does not work. I assume I have the name of menu extra correct: "Keymando menu extra".

share|improve this question
add comment

2 Answers

SystemUIServer only includes menu extras (the icons on the right side that can be rearranged) but not status menus (like the one Keymando uses).

tell application "System Events" to tell process "SystemUIServer"
    tell (menu bar item 1 of menu bar 1 where description is "clock")
        click
        click menu item "Open Date & Time Preferences…" of menu 1
    end tell
end tell

In some applications menu bar 2 is the status menu, but tell application "System Events" to UI elements of process "Keymando" returns an empty list.

share|improve this answer
    
Is there anyway to access those other status men items? –  Jon Apr 26 '13 at 13:57
    
THANK YOU! This just solved my HOURS long search on how to do this –  Andrew Burns Apr 11 at 16:23
add comment

it may be in there, this will write a list in temp folder, that you can look through for a 'handle'.

`osascript -sso > /private/tmp/StatusBarItems <&- <<EOF
tell application "System Events"
    get properties of every  menu bar item of every menu bar  of process "SystemUIServer"
end tell
EOF`

or you can experiment with

   ` osascript -sso > /private/tmp/SU_reLoad <&- <<BUTTON
tell application "System Events"
    click  menu bar item 1 of menu bar 2 of application process "SystemUIServer"
end tell
BUTTON`

unfortunately the one I want isn't there... The 'exit full screen button' for a 'none scriptable' app... john

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.