activityworkshop / GpsPrune

GpsPrune is a map-based application for viewing, editing and converting coordinate data from GPS systems.
GNU General Public License v2.0
67 stars 22 forks source link

Persistent settings data #74

Closed Friptick closed 1 week ago

Friptick commented 1 year ago

Firstly: I'm having trouble understanding where the standalone GpsPrune (java -jar gpsprune.jar) stores its user settings. For instance, the waypoint presentation data. This does not change so it must be stored somewhere! Can you help?

Request: please add the View menu booleans to this persistent data. For example, personally I never want to see anything but the map when I load GpsPrune. It would be be nice not to have to routinely uncheck View > Show sidebars each time. (FYI: F11 does not work on my install. But that is unrelated to this request. What I'd like is persistence.)

Thanks for considering.

Friptick commented 1 year ago

Related: I'm getting this message shortly after every load. It's no use designating the .cache directory, the message always recurs on each load. Presumably because the value is not being stored.

Perhaps there's something I'm missing. Advice appreciated.

image

activityworkshop commented 1 year ago

It sounds like you haven't saved your settings.

When you exit GpsPrune, you should get a message informing you that your Settings haven't been stored. Do you get that? This tells you to use Settings -> Save settings and then it lets you choose where to save the file.

It's recommended to use the default location, which is .pruneconfig in your home directory. You can use a different location and/or a different filename if you wish, but if you do that, then you need to tell GpsPrune at startup where to look.

Using "Autosave settings on exit" is also recommended.

About the sidebars, I suspect that your use case of "never want to see the waypoint list, never want to see the altitude profile, never want to see any point details or range details" is rather unusual.

Friptick commented 1 year ago

When you exit GpsPrune, you should get a message informing you that your Settings haven't been stored. Do you get that?

Negative, alas (exiting by File > Exit on a standalone JAR). But now I've done it manually.

It's recommended to use the default location, which is .pruneconfig in your home directory. You can use a different location and/or a different filename if you wish, but if you do that, then you need to tell GpsPrune at startup where to look.

How, for info? Can't find anything in the docs. Also, maybe not a priority, but I recommend you move the config default path to the .config directory as per XDG Base Directory Specs.

About the sidebars, I suspect that your use case of "never want to see the waypoint list, never want to see the altitude profile, never want to see any point details or range details" is rather unusual.

I won't contest that. I guess most people who use this kind of software are practicing sports of one kind or another.

But as usual this leaves me mystified as to what software I am supposed to be using for my very basic task of storing a bunch of places on a map. I'm not traveling between the places. I don't care about their elevation, or about calculating distances or speed or anything. I just want to store a bunch of my favorite places on a map, colored so I can see what's what at a glance, and then maybe look at them later on my mobile device when I'm out and about. Well, what appears to me like the normiest of normie use cases is, it seems, in fact so vanishingly rare that I've had to write a Python script and keep pestering you (thanks) and still there are holes in the workflow. What gives? Are all the other non-sporty place-oriented people just using "My Maps" or whatever awful corporate spyware Google has to offer? Because everyone uses maps on mobile these days. Has the possibility of putting their own markers on their map and then looking at it all later on a computer just not occurred to them? Mystery.

Back to the point (and further to my self-pitying rant): is it too much to ask to add "Show sidebars" as a boolean in the config? That would be very appreciated.

activityworkshop commented 1 year ago

Not quite sure where your rant came from.

How, for info? Can't find anything in the docs.

OK, so in which docs couldn't you find anything? Did you look in the official user guide? It's in section 8.7. On the website? It's in the page "Configuration". In the program itself? java -jar gpsprune_22.2.jar --help

I recommend you move the config default path to the .config directory as per XDG Base Directory Specs.

That's a good suggestion, thanks. Of course it's not quite so simple as just "moving a file", GpsPrune needs to look at startup whether you have specified a file or not, and if not are there any files which it can load instead. And then usually it stores the settings back in the file it loaded them from. If it saves to ~/.config/ instead of ~/, should it delete the default file in ~/ or not? If I do that, then older versions of GpsPrune on the same device won't find their config any more. Maybe that doesn't affect many users though. Issues like that (because we don't have an install / update / uninstall process) are partly why that file is still called .pruneconfig even though the program changed name to GpsPrune a long time ago!

what software I am supposed to be using for my very basic task of storing a bunch of places on a map.

It's up to you, but I think GpsPrune fulfils that purpose quite nicely. If your biggest gripe is having to press 'F11' once at startup (or View -> Show sidebars) then I think GpsPrune is doing quite a good job of doing what you want. And it doesn't cost very much money either. (I don't know why your F11 doesn't work, it's what I use to send other programs like browsers into full-screen mode too but I guess something on your system is capturing that keypress. Maybe try Fn-F11 if it's a laptop?)

most people who use this kind of software are practicing sports of one kind or another.

I wouldn't assume that, no, people use it for extremely different things. But if they don't want sidebars that feature is only one click or one keypress away, so maybe they don't get quite so frustrated about it?

is it too much to ask to add "Show sidebars" as a boolean in the config? That would be very appreciated.

I'll consider it, but it's not a high priority right now (version 23 is the priority). Of course it would be fairly simple to add this, specially for you, but the point is wider - if it did make sense to save the sidebars-showing mode in the settings and restore it at startup, then surely it would also make sense to save the "show maps" flag, and the "show scalebar flag" (with or without zoom level indicator), and the "edit mode" flag, and the "show points / lines / points&lines / points&lines&arrows" mode too. And maybe you're right, maybe they should all be saved and restored.

Personally I've got used to GpsPrune starting up in a predictable way, and if I want to change the points/lines mode then I just click it - no drama. And that's what I mean about having very specific requirements of never wanting to see any altitudes - it doesn't mean that GpsPrune can only be used by people who always want to see the altitude profile (and therefore it's not the right software for you), it means you can easily switch it on and off. So saving this mode in the settings saves you one click at startup, but for all other users it could introduce a potential (heh? Why did it startup without the sidebars? How do I get them back?) confusion moment. And similarly for the other modes - why is it dragging my points around when I move the map - Ah, I understand, it started up in "edit mode" for some reason!

So to answer your questions - I think your first one is answered already and I'll consider the second :)

Friptick commented 1 year ago

It's in the page "Configuration".

OK. Must have been looking in the wrong place or not hard enough.

java -jar gpsprune_22.2.jar --help

This works, thanks. FYI it also launches the GUI on my system.

Of course it's not quite so simple as just "moving a file" [config]

As the giant table here suggests.

Maybe try Fn-F11 if it's a laptop?

Thanks, works, I always forget that. Personally I hate the F-keys in general. They're tiny and I can never see which is which without squinting and so half the time I press the wrong one.

If your biggest gripe is having to press 'F11' once at startup (or View -> Show sidebars)

It's only my third biggest gripe. #71 is first and #47 is second. :)

I take your points about the dilemma of default settings. Who hasn't changed a "mode" in some software and thought "What the hell did I just do?" and been reduced to praying it would go away by closing the whole thing and starting again? UX is hard.

That said, if user is systematically changing a setting at startup in order to "get things right", that to me looks ideal for a persistent setting.

PS:

About the sidebars, I suspect that your use case of "never want to see the waypoint list, never want to see the altitude profile, never want to see any point details or range details" is rather unusual.

I partly take back my previous acquiescence to this allegation! Between them the default sidebars cover literally half of my screen. The waypoint names (left) are already on the map and the point details (right) basically duplicate info in the other bars. So even if I were doing a run or a bike ride I would probably only want to keep the altitude profile (bottom). And even that's not certain for everyone since many places, indeed some whole countries, are completely flat. :) Also, in my anecdotal experience there are a lot of power users of software of all kinds who are obsessed with "decluttering" and maximizing "pixel real estate" for their photos or documents or maps or whatever. So maybe my case is not so eccentric after all.

activityworkshop commented 1 week ago

I believe this is done - the startup behaviour is consistent and if you want to remove the sidebars it's only a single mouse-click or a single keypress once after startup.