[GRASS5] More Mac OS X Tcltkgrass Tweaks
Glynn Clements
glynn.clements at virgin.net
Sun Apr 27 16:51:07 EDT 2003
Jeshua Lacock wrote:
> At this point, I propose that a new configure switch is added for
> enabling the native Mac OS X version of the Tcl/Tk interface (some
> folks on Mac OS X may want to use the traditional *nix version of the
> interface and those using Darwin without the Aqua interface). Then the
> set of Mac OS X patches could be applied at configure time and the
> auxiliary Mac OS X support programs could be built. I would be happy to
> do most of the work and be responsible for it's maintenance. Any
> thoughts/comments?
I would rather this was determined at run time.
Most of the things that configure is used for are compile-time issues.
However, Tcl/Tk is interpreted, so there isn't a "compile time".
IOW, tcltkgrass should be doing something like:
if $use_aqua {
set html(netscape) "/usr/local/bin/launchURL"
...
} {
set html(netscape) "netscape"
...
}
Actually, the choice of browser should be more general; it should be
possible to use something other than netscape on other platforms.
> Also, I am trying to eliminate the Mac OS X "console1" bug. and the
> following line in gui.tcl is the culprit:
>
> set name "| $name 2>@ stdout"
>
> If I try to reproduce the problem in a new wish file, everything works.
> Since I can't reproduce the problem outside of Grass, it seems to me
> that something in the Tcl scripts must be breaking stdout (which very
> well could be a wish bug). It is really odd because the problem only
> occurs when the GUI is launched from Init.sh and not when tcltkgrass is
> launched manually from the Grass terminal. Any ideas? I would be
> willing to pay for some help. I was preparing a post for the MacTcl
> mail list, but I stopped short of posting it when I was not able to
> reproduce the error in a blank wish shell.
The fact that it only occurs when tcltkgrass is launched from Init.sh
suggests a Mac issue. Have you tried this with a test case? I.e.
running a simple Tcl/Tk script which uses "open | ... 2>@ stdout" from
a shell script. Does it matter whether the script is run in the
background?
--
Glynn Clements <glynn.clements at virgin.net>
More information about the grass-dev
mailing list