Hi all,
I just committed a bag of experimental graphical interface changes to CVS. The main change is in the structure of the menus, which are now invoked in a more "native" way, using modern Tk guidelines (near as I can make out). People who like their Linux applications to look/act the same way on every other platform will probably not like this.
I have tested on MacOSX. I tried the modified pd.tk file on Windows with success, but haven't had the resources to compile in the other changes. I would *really* appreciate it if other people tested this.
thanks, adam
More details, if you're curious...
You can see the pd.tk changes involved here:
Changing the windows also had some side-effects: o The tearoff menus are now in the code as an adjustable global parameter. Macs don't use it, PC and Linux do. o Tk reports a mis-feature with -postcommand on both Mac and Win (see http://www.tcl.tk/man/tcl8.4/TkCmd/menu.htm#M8). As a result, I change the way the Edit (undo/redo) and Windows menu refresh. Basically, rather than updating when polled, I update the windows when the underlying state changes. There's an unsatisfying hack in g_canvas.c::pdtk_undomenu to catch a potential bug when a window is destroyed.
While I was in there mucking about, I modified a few other things, following some of Apple's basic human interface guidelines: o On the Mac, the last three menus are "Audio Window Help" instead of "Windows Audio Help". o The "right-click" is now truly a right click on a 3-button mouse, and control-click is also usable for contextual menus. o You can open html documentation files on the Mac.
I also revisited JSarlo's gui patches, restoring the useful dark-yellow color on signal connections (but overlaying that on top of Miller's method for distinguishing them). I tweaked jsarlo's shadows on the Mac to make them look more like: http://mambo.peabody.jhu.edu/~jsarlo/gripd/linux1.jpg (The shadows on the Mac were separated from the box by one pixel, which is kind of odd. Movement still will cause the box and shadow to be separated, for some reason.)
I tried to set these changes off with tags, but it looks like it didn't work (still have a lot to learn with CVS). All of these are in the devel_0_36 branch that Guenter described yesterday.