[GRASS5] Mac OS X Patches and Additions

glynn at gclements.plus.com glynn at gclements.plus.com
Tue Nov 9 03:49:07 EST 2004

Jeshua Lacock wrote:

> I have attached a (small) tar file with patches and applications for 
> GRASS 5.4.0 and 5.7.0 which on Mac OS X provide the following features:
> * Enables compatibility with the Aqua version of TCL/TK
> * Enables native Mac OS X preferred browser support for online help
> * Support for special Mac OS X characters such as spaces with tcltkgrass
> * Brings the TCL/TK GUI automatically to the front
> These patches are designed to be applied to the source code. I will 
> provide patches with the 5.4.0 and 5.7.0 binaries that I am uploading 
> (I have uploaded the 5.4.0 binaries, and I am going to upload 5.7.0 
> when I get NVIZ working from the GUI).
> The following scripts and programs included in the archive should be 
> installed to /usr/bin or /usr/local/bin:
> • lsWrap: Wrapper for "ls"; support for Mac OS X special characters
> • appToFront: application to bring an app to support (source code 
> available upon request)
> • wishToFront: wrapper for "appToFront"; brings Wish application to the 
> foreground
> If anyone has any questions, please let em know.

I've only looked at the patches briefly. However, as they stand, they
would appear to break other platforms. We need to find solutions such
that a single source tree can be used for any platform.

Some specifics:

I'm not sure that we should be explicitly adding /usr/X11R6/bin to
$PATH in init.sh. This should go into the user's ~/.grass.cshrc if
they don't already have /usr/X11R6/bin in their path.

The use of "[exec ls -a [exec pwd]]" in gis_set.tcl should be replaced
by the use of Tcl's "glob" function, e.g.

	foreach i [glob "*"] {

Or, if dotfiles are really required (they probably aren't):

	foreach i [concat [glob "*"] [glob ".*"]] {

The wishToFront script needs to be installed and run from somewhere
under $GISBASE. It also needs to be arranged such that it doesn't
complain on other platforms.

Also, the 5.7.0 tcltkgrass changes are probably obsolete, as
tcltkgrass has been completely re-written. Most of the functionality
is now provided by libgis. The dialogs which appear in tcltkgrass are
the same ones which you get if you run the command without arguments
or with the --ui switch; tcltkgrass itself is little more than a menu.

Glynn Clements <glynn at gclements.plus.com>

More information about the grass-dev mailing list