From: Will D. <wi...@wj...> - 2011-01-08 14:20:41
|
I've usually used ActiveState's builds of Tcl/Tk, rather than the build installed with OS X; but I've written a number of cross-platform apps that seem to run just fine on OS X. The problem is, the version of Tk that ships with OS X only gets updated with major releases of the OS; and what you get is what was available at that time. I've got a large application I'm currently working on with I deliver on Linux; but I regularly do development work on a MacBook Pro using a recent version of ActiveTcl. I've done almost nothing to customize it to look nice on the Mac, so it's kind of ugly, but I'm not having any trouble with it either. Will On Jan 8, 2011, at 2:36 AM, <L....@su...> wrote: > > On 8 Jan 2011, at 01:49, Will Duquette wrote: > >> Odd. I've done a fair amount of Tk programming on the Mac over the last seven or eight years, and I've not run into these kinds of problems. Quirks, yes, and a few things to work around, but not the kind of problems you're talking about. What versions have you seen this in? > > The Tk versions that ship with 10.5 Leopard and 10.6 Snow Leopard - which is to say, 8.4.7 and 8.5.7. My concern is the installed base of Tk on the Macs for Mac OS X unix "power users". > > Over the last decade I've been maintaining a unix Tk application (http://savi.sf.net/) that is crossplatform - compile it and go. On other platforms, it just works with the Tk supplied with the operating system, but on the Mac, there are Mac-only showstoppers. Mac Tk's menuing support has proven particularly failure-prone; in 10.5 Leopard the menubar was just completely broken, and I had to go back to early-90s Tk code and spawn popup menus instead. I've had to come up with a number of Mac-only workarounds, including looking for specific SDK versions to predict Tk behaviour. > > It may well be that people embedding a chosen version of Tk in Mac-specific app bundles (rather than linking unix binaries) avoid these problems. But I can't say that investing more time in Mac Tk or Mac OS X-only development is appealing, based on my experience to date... > > It may also be that the core Mac Tk developers choose not to use other platforms, and simply don't consider testing with crossplatform unix Tcl/Tk applications. In which case, I'm expecting this problem to get worse, rather than better, in future. (And the GUI stuff will likely also diverge and become more works-on-Mac-only too.) > > One of Tk's strengths is that it offers good portable crossplatform GUI abstraction; Mac Tk should maintain that strength. > >> Will >> >> On Jan 7, 2011, at 7:29 AM, <L....@su...> <L....@su...> wrote: >> >>>> One developer responded that it seems there are lot of subtle ways in which Tk/Aqua differs >>>> from other platforms and yet these differences are not documented in the man pages. >>> [..] >>>> I'm inclined to agree with him. >>> [..] >>>> What I'm asking for here is suggestions for additional things to cover, based on your experience, >>> >>> The Mac-only crashes. Oh god, the crashes. >>> >>> Tk on the Mac differs from other platforms in its lack of maturity and stability. Listbox too wide? Hang. Menuing problems appear endemic, as the Mac Tk code is relatively new. >>> >>> http://sourceforge.net/tracker/?func=detail&atid=112997&aid=3044863&group_id=12997 >>> is one such example. >>> >>> I'd leave focusing on documentation until the code is more solid, frankly. > >> Will Duquette, OP >> will -at- wjduquette dot com >> http://foothills.wjduquette.com/blog > > Lloyd Wood > L....@su... > http://sat-net.com/L.Wood > > > Will Duquette, OP will -at- wjduquette dot com http://foothills.wjduquette.com/blog |