Mine looks like this (bash shell): grass_ps(){ echo "G `g.gisenv LOCATION_NAME`/`g.gisenv MAPSET`" } export PS1="\[\033]0;\$(grass_ps) \w\007\]\$(grass_ps) \w> "
The prompt gets updated dynamically since grass_ps() is called every time you hit enter. Huidae On Mon, Dec 15, 2014 at 6:15 AM, Nikos Alexandris <n...@nikosalexandris.net> wrote: > > On 15.12.2014 12:33, Michel Wortmann wrote: > > Hi Nikos, Hamish and list, >> you guys played around with your commandline prompts last year (see >> below), I was just implementing the same thing into my ~/.grass.bashrc >> (GRASS 7.0.0b3) but found that the location and mapset arent actually >> changed when changing them with g.mapset, i.e. .grass.bashrc isnt >> actually executed again. >> Whats the best way getting that to work with or without changing >> source or $GISBASE files? >> > > Hi Michel! How nice that someone else is doing this as well :-). I don't > think I changed much since -- here is my current setup: > > --%<--- > SHORT_VER=`echo "$GRASS_VERSION" | cut -f1,2 -d. | sed -e 's/\.//'` > GDBASE=`g.gisenv get=GISDBASE | rev | cut -d"/" -f1 | rev` > GLOCATION=`g.gisenv get="LOCATION_NAME"` > GMAPSET=`g.gisenv get="MAPSET"` > export PROMPT_DIRTRIM=2 > # export PS1='\e[32;40mG$SHORT_VER\e[0m [\e[34;40m${GLOCATION}\e[0m / > \e[32;40m${GMAPSET}\e[0m] :\e[36;40m\w \e[0m[\#/\!] \n\r\e[32;40m>\e[0m ' > export PS1='\[\e[32m\]G$SHORT_VER\[\e[0m\] [ ${GDBASE} / > \[\e[33m\]${GLOCATION}\[\e[0m\] @\[\e[32;1m\]${GMAPSET}\[\e[0m\] ] : > \[\e[36m\]\w \[\e[0m\][\#/\!] > \[\e[32;1m\]>\[\e[0m\] ' > --->%-- > > and, you are right, the Mapset isn't updated. The Location, me thinks, > should not change, or should only in special cases. We don't usually > switch Location's from inside a grass session. We do switch Mapsets. But > we should be careful because we need to manually instruct the use of the > "new" history log once changed to another Mapset ("history -w; history -r" > etc). Right? > > Otherwise, I came with a stupid solution, a function inside "grass.bashrc" > to re-source itself: > > --%<--- > # Re-Source Me! > g.src() > { > source ~/.grass.bashrc > } > --->%-- > > I tested it and it works. Change a mapset and then `g.src` or whatever you > might name it. Don't know if it's dangerous though. > > Let us know if you come up with something smart. I would love to see a > zsh like behaviour inside grass shell. Would be awesome. > > Nikos > > _______________________________________________ > grass-dev mailing list > grass-dev@lists.osgeo.org > http://lists.osgeo.org/mailman/listinfo/grass-dev >
_______________________________________________ grass-dev mailing list grass-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-dev