The concept of the global values makes sense. But I think you've over complicated it.
I don't think we should retroactively apply global changes to setups. The UX is super confusing, and we have all these state problems that require more and more code on top. All I think is needed is: - we save the last user set refresh/rotation/scale to an output config file as well as the current config file - kded/generator.cpp, when we get a new setup, looks for a global value and uses that instead of automatically generating it. That should be the only user of the global values. Bam, done. David