[GRASS-user] Grass70 wxgui vs. command line d.*
Michael Barton
michael.barton at asu.edu
Wed Dec 9 11:32:19 EST 2009
Hopefully the following will clarify this issue further.
************** GRASS 7 ************************
GRASS commands work in GRASS 7 including all display commands that
actually display something.
Scripting works in GRASS 7. It works considerably better than it did
in prior versions.
Remote access works in GRASS 7.
Command line changes to GRASS 7 are the following:
1) Commands that optionally used or **required** textual prompt and
response are replaced by commands where you type the argument and
value when entering the command. This is a considerable improvement
for scripts, which can hang while waiting for user input that can
never happen.
2) Display commands that **required** user interaction via mouse and
prompt/response and **required** the existence of old display/GUI
technology emulated in XWindows environments no longer are supported.
These GUI environments (these are primitive GUI's, not command line
interfaces) relied on very old (pre XWindows) display and interface
technology, and in some cases badly hacked code. These only worked on
a subset of the platforms that GRASS runs on.
3) Display commands are no longer supported that **assume** or
**require** when rendering the **guaranteed** existence of a specific,
very old display technology that is currently emulated under XWindows
and not available on some of the platforms that GRASS runs on. Display
commands can render to a variety of widely used, current formats that
anyone who so chooses can make use of.
In other words, the main change has been to make the command line
interface a purely **command line interface** instead of a mixed CLI
and primitive GUI. That is, you type a command and something happens--
a file is modified, a map is rendered, etc. Commands no longer start
persistent processes. You no longer type a command to start an
interactive, command-specific, GUI session that varies in the kind of
interface and kind of underlying code from command to command. An
important benefit of this is that it makes scripting much easier and
allows scripts to access a wider variety of GRASS functions more
easily than was possible in GRASS 5.
Integrated display services, including user interaction with the
display using a mouse, are provided in GRASS 7 using the wxPython
interface development platform. This uses current technology that is
available on ALL platforms on which GRASS is run. wxPython is
powerful, versatile, and comparatively easy to work with as GUI
platforms go. It also strengthen ties between GRASS code and the
Python language for scripting and custom development.
GRASS display services can also be provided with QGIS, which uses the
QT interface development platform.
The emulated display technology that was used by GRASS 4-6 still
exists in XWindows AFAIK. Since all GRASS display commands now render
cleanly to common graphic formats, there is no reason that someone
could not use this retro code to display what GRASS display commands
render. This approach is different than requiring the existence of
this technology to even run the GRASS command.
****************** opinion *************************
Anyone who so desires can write and maintain another set of display
services, and even interactive mouse display, using another interface
development platform if they so desire. If this takes significant
coding and maintenance effort (and IMHO, this does when it involves
GUI development), I personally think it is a waste of scarce developer
resources. But this is a volunteer project and relies on people
working on what inspires them. YAG (yet another GUI) that is different
from the one that two of us code and maintain (a third person
maintains the TclTk GUI for GRASS 6) might be appreciated by a subset
of the GRASS community. But if it is developed with modern GUI tools,
it will look like a modern GUI, not an old GRASS 4/5 GUI. I'm not sure
if that is or is not a problem.
Michael
On Dec 9, 2009, at 8:02 AM, grass-user-request at lists.osgeo.org wrote:
> Date: Wed, 09 Dec 2009 07:01:47 -0500
> From: Doc Robinson <doc.robinson at utoronto.ca>
> Subject: [GRASS-user] Grass70 wxgui vs. command line d.*
> To: grass-user at lists.osgeo.org
> Message-ID: <4B1F91AB.6030505 at utoronto.ca>
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>
> I agree with most all of what John Stevenson says..especially
>
> Advantages of command line:
> - it is VERY quick once learned
> - easy to write scripts
> - can work remotely from slow computer over ssh -X connection
> - interaction with operating system commands and other software e.g.
> imagemagick, GMT
> - full history of what has been done
> - easy to repeat previous commands
>
> It is distressing to think that I might have to stick with GRASS 6.x
> if
> they dont take into consideration all of us using ssh
> connections...this
> is really a huge advantage GRASS has over other packages
>
>
> --
> Regards,
> Doc
>
More information about the grass-user
mailing list