[GRASS-dev] Wingrass and TclTk

Benjamin Ducke benjamin.ducke at ufg.uni-kiel.de
Wed Oct 31 06:29:26 EDT 2007


The start command does actually work to put gis.m in the background.
I changed init.bat to read:

===
rem if return ok, gis.m start:
if %errorlevel% == 2 goto exitinit

if not "%GRASS_WISH%"=="" (
  start "GIS Manager" "%GRASS_WISH%" "%WINGISBASE%\etc\gm\gm.tcl"
  winterm.bat
) else (
  start "GIS Manager" "%WINGISBASE%\etc\gm\gm.tcl"
  winterm.bat
)
===

And that works fine for me. "winterm.bat" is in GRASS/bin and has these
contents:

===
rem starts a new WinGRASS terminal window

FOR /F "usebackq delims==" %%i IN (`g.gisenv "get=LOCATION_NAME"`) DO
@set LOCATION_NAME=%%i
prompt $C%LOCATION_NAME%$F:$P $G
cd "%HOMEPATH%"

cmd.exe /C start "GRASS %GRASS_VERSION% Shell" cmd.exe /E:ON /F:ON /V:ON

exit /B
===

FWIW, I also re-designed grass63.bat to make it easier to understand and
work. If you keep it in the dir above your GRASS installation, it should
be completely relocatable, w/o having to set any vars:

===
@echo off
rem
#########################################################################
rem #
rem #		GRASS Initialization
rem #
rem
#########################################################################

rem ** set the name of the GRASS install dir relative to where this
batch file is **
set WINGRASS_REL=grass-6.3.cvs

rem
*************************************************************************
rem ** ONLY CHANGE ANYTHING BELOW THIS LINE IF YOU KNOW WHAT YOU ARE
DOING **
rem
*************************************************************************

rem ** this will point to the absolute location of the GRASS dir **
set WINGRASS_ABS=%CD%\%WINGRASS_REL%

rem Directory where your .grassrc6 file will be stored
set HOME=%USERPROFILE%

rem Name of the wish (Tk) executable
set GRASS_WISH=wish.exe

rem Path to the shell command. This assumes that sh.exe is in the
subfolder "bin",
rem relative to where this batch file was started from.
set GRASS_SH=%CD%\bin\sh.exe

rem Path to your web browser (Internet Explorer by default)
set GRASS_HTML_BROWSER=%SYSTEMDRIVE%\PROGRA~1\INTERN~1\IEXPLORE.EX

rem Path to the proj files (notably the epsg projection list)
set GRASS_PROJSHARE=%CD%\share\proj

rem ** add additional paths for executables as needed **
set
PATH=%PATH%;%CD%\bin;%CD%\lib;%WINGRASS_ABS%\bin;%WINGRASS_ABS%\lib;%WINGRASS_ABS%\scripts

rem ** check if R is in the same dir and if so: expand the path **
if exist %CD%\R\bin\R.exe PATH=%PATH%;%CD%\R\bin

rem ** start main GRASS init script **
set WINGISBASE=%WINGRASS_ABS%
"%WINGISBASE%\etc\init.bat" %*

===

I have done some testing with all this and it seems to work fine for me,
so far.

Cheers,

Benjamin


Moritz Lennert wrote:
> On 31/10/07 10:48, Hamish wrote:
>> Benjamin Ducke wrote:
>>> The few remaining things on my list include:
>>>
>>> - r.los crashes on Win32
>>
>> can you re-try with the latest code from CVS? I fixed a few things a
>> few days ago. Perhaps a longshot but there was an issue of a CELL map
>> being read into a FCELL array.
>>
>>
>>> - I also find it annoying that gis.m starts up in the foreground
>>> and blocks command line input until you quit it.
>>
>>
>> grass63.bat has not been given a "-text" command line option?
> 
> Yes it has (actually it is init.bat which has it), so if you only want
> text then that is no problem. But when you launch grass with -gui you
> cannot access the command line. And when you launch it with -text, just
> typing gis.m to get the gui does not work. Two issues that we need to
> look into.
> 
> AFAIK the ampersand '&' does not work to put a process in the background
> in cmd.exe. There is a 'start' command but I don't know if that will do
> the trick (am not in front of a windows machine right now...).
> 
> Moritz
> 
> 

-- 
Benjamin Ducke, M.A.
Archäoinformatik
(Archaeoinformation Science)
Institut für Ur- und Frühgeschichte
(Inst. of Prehistoric and Historic Archaeology)
Christian-Albrechts-Universität zu Kiel
Johanna-Mestorf-Straße 2-6
D 24098 Kiel
Germany

Tel.: ++49 (0)431 880-3378 / -3379
Fax : ++49 (0)431 880-7300
www.uni-kiel.de/ufg




More information about the grass-dev mailing list