thatkeith wrote:Thanks Richard – the UG doesn't seem to say exactly the same here, but your words make more sense.
Thanks - I just submitted an enhancement request to include that in the menubar discussion in the User Guide and Dictionary:
http://quality.runrev.com/show_bug.cgi?id=11881
My gripe is that the behaviour, even though documented (sorta) is definitely questionable. Okay, in my mind.
It's changing behaviour which should be out-and-out reliable: the rect of the card is not consistent, the height of the card is not the same as the height of the stack. This is WEIRD. It really feels like unexpected consequences of a workaround are being glossed over.
The docs often use the phrase "scrolling the card" to describe what's happening, and that seems a good metaphor, allowing us to visualize the difference between the card and stack rects.
If all platforms worked the same it wouldn't be needed at all. Windows and Linux put menus at the top of the window, so it's just the ~10% using Mac who need special accommodation.
Personally, I find the LiveCode solution ingenious: it lets us build one stack for use on all platforms, which runs unmodified on 90% of them, and for Mac it takes care of moving the menu bar to the global menu bar for us automatically. I can't imagine how much more difficult it might be if we had to create a separate menubar object just for Mac, and manually handle the removal of the menubar from the stack when running on that OS.
As you spend more time with LC you'll find it handles other Mac-specific anomalies automatically too:
On all other platforms the About item is by convention the last item in the Help menu, Quit/Exit is that last item in the File menu, and Preferences is the last item in the Edit menu. On Mac, all three of those are in the application menu, which doesn't even exist on the other platforms. So once again, automatic accommodation to the rescue: just put those items where 90% of the world expects them, and LC automatically creates an application menu and moves those items into it for you.
This can be confusing at first, esp. to those who haven't spent much time on platforms other than Mac. But once you get the hang of it it's quite nice to have those generic things done for us, so we can just focus on the stuff that makes our app unique.