Migrate to a new architecture for managing configuration!#1782
Migrate to a new architecture for managing configuration!#1782philocalyst wants to merge 9 commits into
Conversation
|
Thanks for giving this another go! This might take me a little while to work my way through this, since it's a significant change (and I'm in the middle of moving). I haven't done any testing yet, but at first glance it looks like user defaults updates should still trigger preferences updates in Rectangle, in the interest of preserving user defaults terminal command manipulation. I think I might prefer the original defaults logic to be additionally preserved so that the complexity of handling configuration via file is not used if not desired, but that hopefully would be a straightforward modification to make with your introduction of the PreferencesStore (forgive me if I've overlooked something here). I'll give this some more thorough testing and review soon. |
|
Completely understand! I would say that with a workflow like this the defaults command is made irrelevant with tools like jq or a text editor -- so I would argue for deprecation. But ultimately, should be simple to add back. |
Implements a fairly robust two-way sync mechanism! Replaces the old default caching and allows people to have portable configuration they can work with outside of rectangle.