System menus

James Spencer jspencer78 at mac.com
Mon Feb 20 11:05:21 EST 2006


On Feb 20, 2006, at 9:22 AM, Richard Gaskin wrote:

> Klaus Major wrote:
>> Buongiorno Paul,
>>> Someone knows if the new Rev. 1.7 give some new chance to create  
>>> a system
>>> menu on Mac Os X (the menus visible by all applications, as
>>> MenuCalendarClock, MenuMeters, iKey, etc.)?
>> sorry, I'm afraid that is not possible with Rev :-/
>
> It may be worth noting that there is no sanctioned API for that, as  
> Apple considers those menus to be exclusively for their own use:
>
>     Reserved for use by Apple, the right side of the menu bar
>     may contain items that provide feedback on and access to
>     certain hardware or network settings.
> <http://developer.apple.com/documentation/UserExperience/Conceptual/ 
> OSXHIGuidelines/XHIGMenus/chapter_16_section_4.html>
>
>
> Third-party programs which make such menus for themselves do so by  
> violating Apple's design mandate and effectively "hacking" the system.

As already said, Rev does not provide such facilities so this is  
getting off-topic but the info here is not really correct.  While it  
is true that there is no Apple sanctioned API for specifically "Menu  
Bar Extras" as referred to in the HIG material quoted above, Cocoa  
does provide an Apple sanctioned public API for the creation of  
"Status Items" (NSStatusItem).  These are sort of weaker Menu Bar  
Extras (weaker in that the underlying application needs to be running  
for them to appear and you can't reorder them like you can Extras)  
but they are there regardless of which app is in front and they have  
the advantage that they can't bring the system down either.  While a  
public API, Apple still discourages their use unless there is no  
alternative (say a Dock menu), ostensibly to save menu bar real  
estate.  (I think it's also to avoid creating the nightmare of a  
Windows system tray.)

The point is that not every third party program that is putting up  
one of these menus is "hacking" the system.  I don't like these  
things so I don't have many up there but I note that Kensington's  
MouseWorks uses status items, not menu bar extras.  The only way I  
could tell (short of looking at what processes are running) was to  
try to Cmd-drag the icon.

Spence

James P. Spencer
Rochester, MN

jspencer78 at mac.com

"Badges??  We don't need no stinkin badges!"




More information about the use-livecode mailing list