Allow caching to be controlled in the config file (and in a more fine-grained way)
Hi there @leukipp - Happy New Year! - I'd appreciate it if you'd accept all, or at least part of, this PR!
When starting up from a saved Desktop session: Caching window positions has been unreliable for things like browser windows (e.g Firefox). They will all have the same WM_CLASS and window title on start-up, updating multiple times thereafter, so will not match cortile's cached values when it sees them. This means windows get placed on the wrong workspace, or worse, assumed to be on a workspace they are not so layouts end up with "holes" in them.
Disabling the cache entirely is an option but having the workspace tiling settings, proportions, etc remembered is a really nice feature that I don't want to have to lose.
This PR adds cache_workspaces and cache_windows to the config to individually control what gets cached, but still allow the command-line flag to override the settings and disable the cache entirely.
There's 2 commits in it:
- 72877b1 - Makes the 2 config values available in the config file.
- 6a4df90 - Make them optional, with defaults set into the config struct before decoding, to allow them to be left out.