Skip to content

Migrate to a new architecture for managing configuration!#1782

Open
philocalyst wants to merge 9 commits into
rxhanson:mainfrom
philocalyst:plist
Open

Migrate to a new architecture for managing configuration!#1782
philocalyst wants to merge 9 commits into
rxhanson:mainfrom
philocalyst:plist

Conversation

@philocalyst

Copy link
Copy Markdown

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.

@rxhanson

Copy link
Copy Markdown
Owner

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.

@philocalyst

Copy link
Copy Markdown
Author

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.

@rxhanson

Copy link
Copy Markdown
Owner

I am thinking that I'd like to take this in a slightly different direction where the read/write of the config file is handled more entirely by the existing Defaults class and keeping the abstraction contained there. Would you be alright with me closing this PR and taking some of the concepts and code to construct a version of this myself that's a little more in line with how it currently works?

@philocalyst

Copy link
Copy Markdown
Author

That would be fine! Consider co-authoring me 🥹

Let me know if I can help! Can't wait to see this live :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants