menu woes...

Richard Gaskin ambassador at fourthworld.com
Wed Dec 29 20:41:56 EST 2004


Mark Wieder wrote:
> Richard-
> 
> Wednesday, December 29, 2004, 8:29:36 AM, you wrote:
> 
> RG> So if you encounter any menuing issues that don't fit the recipe
> RG> described in Bug #744, please do as Chipp did: post it here, folks will
> RG> look it over and provide a recommendation for a solution.
> 
> RG> I can't guarantee that there may not be other issues not yet known, and
> RG> of course identifying them and providing a recipe in Bugzilla is the
> RG> best way to see them resolved.  But I have high confidence that most
> RG> issues with menus can be resolved in just a few posts to this list.
> 
> Resizing issues aside, I herewith present:
> 
> http://support.runrev.com/bugdatabase/show_bug.cgi?id=2366

Aside from the bit about menu keys not working (perhaps that should be a 
separate report?) most of that report is pretty much a summary of the 
normal behavior of menus to accomodate Mac OS's idiosynchracies (see the 
discussion in the docs under Topics->Menus and the MenuBar, in the 
subsection toward the bottom labelled "Special menu items").

If the problem is that the documentation needs to be revised to make 
that discussion more easily findable, that's a different matter from 
requesting a change to the behavior itself.


The current behavior allows you to make one HIG-compliant menu bar for 
use on all supported operating systems, and the engine automatically 
makes the necessary adjustments to accomodate the unique idiosynchracies 
of Mac OS Classic and OS X:

   File->Quit: OS X is the only OS with an application menu,
               where it expects the Quit item to reside; all
               other OSes, including Classic, put this item
               at the end of the File menu.  This item is
               normally set apart from other items by a
               separator.  To accomodate OS X without
               requiring you to make another menu group just
               for that one OS, the engine moves the last
               item to the application menu on OS X, and
               also removes what would be the dangling
               separator.

   Edit->Preferences: by convention Preferences is the last
               item in the Edit menu, made distinct from other
               items with a separator.  Because OS X is the
               only OS that moves this to the application
               menu, that item and its separator are moved for
               you automatically.

   Help->About:  All operating systems put the About item as
               the last item in the Help menu, except Classic
               which puts it under the Apple menu and OS X
               which puts it in the application menu.  To
               avoid requiring you to make three menu groups
               depending on the OS you're running, the About
               item is moved from its normal place on all other
               OSes to the appropriate menu on Mac systems.

Without the engine taking care of these moves for you, you'd have to 
write a complicated routine that checks the platform and does the same 
thing.  And Rev would have to be extended to include a way for the 
developer to address the application and Apple menus, which are 
maintained by the system.

What simpler method do you envision for making HIG-compliant 
cross-platform menus?

I agree that non-standard menu items should also be supported (though 
I'd never use them nor recommend them, someone may need them), so as a 
low-priority item perhaps RunRev could consider a new stack property, 
something like "dontModifyMenus", to full preserve menu items even if it 
makes the app appear non-standard.

--
  Richard Gaskin
  Fourth World Media Corporation
  __________________________________________________
  Rev tools and more: http://www.fourthworld.com/rev


More information about the use-livecode mailing list