Re: Make terminal window optional?

Paulo van Breugel <[email protected]>
Newsgroups gmane.comp.gis.grass.devel
Message-ID <[email protected]>
Hi Vaclav,

Thanks for the detailed response. I would still have a preference for 
option 2, it being relative ease to implement, and providing both a 
startup with and without command line.  But all options have their 
merits for sure.

Cheers,

Paulo

On 9-9-2020 05:32, Vaclav Petras wrote:
> Hi Paulo,
>
> I explained better options 3-5 and responded to the rest.
>
> On Sun, Sep 6, 2020 at 6:03 AM Paulo van Breugel 
> <[email protected] <mailto:[email protected]>> wrote:
>
>
>     On 06-09-2020 05:05, Vaclav Petras wrote:
>>     When you start GRASS GIS now, it always also starts with a system
>>     terminal window which has a shell which has modified prompt and
>>     history. What I'm proposing is to make this opt-in, i.e., a user
>>     will have to take an action in order to get this terminal.
>>
>>     If there is no terminal by default, only users who actually want
>>     that will get it which means that the users who don't ask for it
>>     don't have to wonder what that is or what is the relation between
>>     terminal and GUI. This may clarify some of the first-time user
>>     confusion such as "once i open the grass gis console...it opens
>>     another application called layer manager" [1]. For those who
>>     don't use the terminal, this would also simplify all the exit and
>>     switch mapset situations such as "Close GUI" versus "Quit GRASS
>>     GIS". Users starting GRASS GIS from a terminal won't be affected
>>     by it. Users who want to use GRASS GIS from terminal could just
>>     start GRASS GIS from terminal.
>     On my Windows computer, I have installed GRASS using OSGeo4W.
>     OSGeo4W comes with a shell from which I can start grass. Is that
>     true for the stand alone installer as well?
>
>
>
> I hope others will comment on the current state and possibilities on 
> Windows and macOS.
>
>>     1. Have terminal started when GRASS GIS is started from a desktop
>>     launcher such as the Start menu on Windows. This is the current
>>     behavior in 7.8 plus the fix of requiring a terminal if it is not
>>     present, i.e. in cases such as the Atl+F2 on Linux, you will get
>>     GRASS GIS without a terminal.
>>
>>     2. Remove the terminal from desktop launchers so that GRASS GIS
>>     starts without the terminal when started in the GUI way. When a
>>     user starts GRASS GIS using a command from an existing terminal,
>>     there is no change from the current behavior: a (sub-)shell is
>>     started and possibly GUI launches.
>
>
>     This would be my (strong) preference, serves both experienced
>     users who like to work from the terminal and novices well. The
>     fact that it doesn't take much work is a bonus
>
>
> I like this one too. It is quite doable and it seems natural. You 
> start from the "system GUI", you get a standard GUI application. You 
> start from the terminal, you get both as you are getting now (and can 
> disable the GUI if you want to with --text).
>
>>
>>     3. The same as option 2 (no terminal from desktop launchers,
>>     shell from terminal), but only when the GUI will allow to start a
>>     terminal application using a menu entry.
>
>
>     Not sure I understand this option - you mean to say that one can
>     only start the terminal from the GUI? If so, I don't see the
>     advantage of this option.
>
>
> Well, that would be an option. It would then behave like RStudio or VS 
> Code (see, e.g., Steven Pawley's email) which you could count as an 
> advantage.
>
> What I meant was everything in option 2, but going with it only in 
> case the menu entry in GRASS GIS is also available.
>
>>
>>     4. Make the shell start only in the text mode (grass --text) or
>>     with a new additional option (--shell), i.e., you get it, only
>>     when you actually ask for it. In other words, with --text, GRASS
>>     GIS would behave more like R or Octave, without that (with
>>     --gui), it would behave more like QGIS or any other GUI
>>     application. (This includes the no terminal from desktop
>>     launchers from option 2.)
>
>
>     I am not sure I fully understand this option, but if it means one
>     has to choose, terminal _or_ GUI, I would be very much against
>     this option. I very often use both (and often enough in
>     combination with R starting from the command line). I know I could
>     use the console, but I don't find that near as convenient as
>     working from the terminal. And what would be the added value of
>     this option?
>
>
> You would not have to choose one or another as you can start GUI from 
> the terminal with g.gui. The Console in GUI cannot run an interactive 
> program like R, so that would not suffice, but starting a shell only 
> is perfectly good for starting GUI, R, or both afterwards.
>
> It also does not mean you cannot ask for both. Closest to the current 
> implementation is --text starts only shell while --gui starts only 
> GUI, but you could also allow combining these two to start both or 
> have additional --shell which starts the (sub-)shell even when --gui 
> was provided.
>
> The nice thing about this option is that it doesn't do anything 
> unexpected. It is not trying to guess that the user may want to use 
> the terminal. It starts GUI with one option combo (and by default) and 
> a (sub-)shell with another (or possibly both with yet another combo). 
> From a slightly different point of view, it puts the two behaviors 
> into two categories, with --text GRASS GIS is a command line 
> application like R or Octave, with --gui, it is a GUI application like 
> QGIS or RStudio with not much happening in the terminal.
>
> If (additionally) combining --text and --gui is not allowed, it 
> removes all problems of syncing between GUI and the shell which needs 
> to be partially implemented in the shell and that is different for 
> each shell. See e.g. the PR and commits below, but there is more.
>
> Update mapset and simplify shell prompts
> https://github.com/OSGeo/grass/pull/923 
> <https://github.com/OSGeo/grass/pull/923>
>
> Change the history file according to the current mapset for Bash
> https://github.com/OSGeo/grass/pull/930 
> <https://github.com/OSGeo/grass/pull/930>
>
> Close wxGUI on GRASS CLI exit
> https://github.com/OSGeo/grass/commit/98e289afa94da6f9aa93953774e4169e9f42f69e 
> <https://github.com/OSGeo/grass/commit/98e289afa94da6f9aa93953774e4169e9f42f69e>
>
>>
>>     5. The same as option 4 (shell only with --text or --shell), but
>>     only when the GUI will allow to start a terminal application
>>     using a menu entry as in option 3.
>
>
>     Idem to above
>
>
> All from option 4, but combining --text and --gui is for sure allowed 
> and we would follow with this only when starting terminal from GUI is 
> possible (like in option 3).
>
> Vaclav

_______________________________________________
grass-dev mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/grass-dev
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.