Getting use of menus straight

J. Landman Gay jacque at
Sat Mar 14 14:34:26 EDT 2015

On 3/14/2015 12:02 PM, Dr. Hawkins wrote:
> Before I blow off another limb, I need to see if I have this straight.

Advice I received early on is that if your stack will have menus, 
develop for Windows first (even if you're on a Mac.) It's good advice. 
It allows you to see how the layout should accomodate the menu bar and 
gives you a visual representation so you know which cards you forgot to 
give menus to.

Windows/Linux: Requires a menu group on each card that uses menus. 
Create a background group and place it on all relevant cards. You do 
need to set the menubar of the stack to that group if you want Windows 
keyboard shortcuts to work.

Mac: The same setup applies, place the menu group on every card. You 
don't need to do anything else for a Mac if you've already done the above.

Setting a group as the stack menubar changes the group behavior; it will 
force the autoscroll on a Mac, and respond to Cmd/Ctrl key presses as 
both Windows and Mac users expect.

DefaultMenuBar: Only applies to Macs because there is always a system 
menu bar. It's okay on Windows not to have a menu inside a window, but 
you can't have a "no menu window" on a Mac. If you don't assign a 
default menu bar, you'll get a bare naked system menu with the Apple and 
Help default items in it and nothing else. If your app never has any 
windows without their own menu bars, then you don't need a default one. 
But if you have custom dialogs or other windows without any menu bar 
assigned, then that's what the default menu bar is for.

Revising menus: It's much easier on Mac-only apps because you can set a 
menu group in another stack to be the system menu and it can be shared 
all across all stacks, so you only need to update one group. But you 
can't do that on Windows, so you do need to update all copies of the 
group. Yes it's a pain, but you can automate it somewhat with a script. 
The example you gave should work.

Jacqueline Landman Gay         |     jacque at
HyperActive Software           |

More information about the use-livecode mailing list