-
Notifications
You must be signed in to change notification settings - Fork 4
Description
What's needed?
We need a better location for the dispatch CLI history. Right now it's being stored in $HOME/.dispatch_cli_history.txt
, but there is a tendency to avoid polluting homes with these kind of files.
Proposed solution
Use the XDG standard location for state files: $XDG_STATE_HOME
, or it's defined default $HOME/.local/state
if that variable is not set.
The $XDG_STATE_HOME contains state data that should persist between (application) restarts, but that is not important or portable enough to the user that it should be stored in $XDG_DATA_HOME. It may contain:
actions history (logs, history, recently used files, …)
current state of the application that can be reused on a restart (view, layout, open files, undo history, …)
Alternatively we can use the https://pypi.org/project/xdg-base-dirs/ which provides an easy access to the XDG env variables or defaults if the env variables are missing.
As for the file name, I would probably use the frequenz namespace too, and maybe even more namespacing too, maybe something like $XDG_STATE_HOME/frequenz/dispatch/cli/history
(as we already need to make sure we create the directory anyway, as opposed to the current location ($HOME
), $XDG_DATA_HOME
might not exist.