How to make Menu.add_command() work in tkinter on the Mac?
Question: If I create a tkinter menu on OS X and try to add a menu button to it with
`add_comand()`, nothing shows up in the menu.

If the code below is run on Ubuntu, I get a menubar with two commands labeled
"Red" and "Blue" that change the background color of the window.

On OS X 10.10.1 (Yosemite) the buttons do not appear. I know I can make a
dropdown menu with the Red and Blue commands, but in my real app, I'd prefer
not to do that.

    
    
    from platform import python_version_tuple
    
    major = python_version_tuple()[0]
    
    if major == '3':
        import tkinter as tk
    else:
        import Tkinter as tk
    
    root = tk.Tk()
    
    fr = tk.Frame(root, height = 200, width = 200)
    fr.pack()
    menu = tk.Menu(root)
    root.configure(menu=menu)
    menu.add_command(label='Red', command=lambda:fr.configure(bg='red'))
    menu.add_command(label='Blue', command=lambda:fr.configure(bg='blue'))
    
    root.mainloop()
    

Can you tell me how to do what I want?


Answer: I don't think you can do that with the native ("Aqua") Tk on OS X and you
probably shouldn't try. OS X native menus don't work like that and Tk tries to
follow Apple's [Human Interface Guide for
menus](https://developer.apple.com/library/mac/documentation/UserExperience/Conceptual/OSXHIGuidelines/MenuAppearanceBehavior.html#//apple_ref/doc/uid/20000957-CH23-SW1).
You need to have a menu bar with dropdown _cascades_.

The `TkDocs` website has a good introduction to [Tk menus and their platform
differences.](http://www.tkdocs.com/tutorial/menus.html) (You _could_ use an
X11-based Tk on OS X, but that is not recommended as Apple does not ship X11
servers anymore with OS X and your app would look and behave oddly for OS X
users.)

