Changing global gmt.conf

Alright. Any thoughts about why I get a classic frame? (3 posts above)

Looks like while theme is set to minimal, it gets overwritten by individual GMT_FRAMEWIDTH etc settings that have not changed since you just sed to change that word.

Ah, of course. Because GMT_THEME is basically just a parameter to change other parameters?

Yes, it fores a reset of all the related parameters.

So changing just GMT_THEME defeats the purpose (i.e. my sed scheme)?

Guess it does:

$ gmt defaults > default

$ gmt set GMT_THEME minimal

$ diff default gmt.conf 
99c99
< MAP_FRAME_PEN                  = thicker,black
---
> MAP_FRAME_PEN                  = black
119,120c119,120
< MAP_TICK_PEN_PRIMARY           = thinner,black
< MAP_TICK_PEN_SECONDARY         = thinner,black
---
> MAP_TICK_PEN_PRIMARY           = black
> MAP_TICK_PEN_SECONDARY         = black

This sets GMT_THEME = off. I was expecting minimal.

If we are lucky, @maxrjones will remember why we did it that way. But I guess it is because a theme means a collection of settings and we apply those settings and set theme to off so that those settings do not get reset again and again. Also you may want to deviate slightly from minimal by doing a gmt set command and that would fail if the theme would get processed each time,

1 Like

Yes, that make sense. Thanks Paul for dealing with my messy posts.

I cannot remember, but any historical context would be detailed in https://github.com/GenericMappingTools/gmt/pull/3344.

Thanks Max.

  • It makes sense what Paul wrote; setting GMT_THEME doesn’t do much in and by itself; it changes other parameters to get the minimal look.

  • Having gmt.conf in $HOME and $HOME/.gmt works fine in classic mode. It would be nice to have a way of doing this if this would work in modern mode as well. I usually use modern mode, and would like to use e.g. GMT_THEME minimal for all plots.

You mean specifically modern mode one-liners, right? It should work for modern mode scripts.

Yes, I did. And you’re right @maxrjones. It works in modern mode, but not for one-liners.

I guess this is fine. I’ll store my gmt.conf in $HOME/.gmt.

Thank you all!

You could open a feature request for that, it doesn’t seem like it was intentional for it not to work.

1 Like

Ok!