On Thu, 19 Sep 2019 23:22:57 +0200 Julien Lepiller <jul...@lepiller.eu> wrote:
> I you have a color-theme-home-type that extends all terminals, color > themes would be configured in all terminals, but because of the > extension, a mate-terminal-home-type would be instantiated. > > My version of services introduce the notion of an extension point: all > three terminal services would implement a color-theme extension point > that could be targeted by another service. When it targets an > extension point, a service does not need to specify what service is > extended. In that case, no service is implicitely instantiated, and > any service with that extension point is extended. This is exactly > what we want to do here: by using the extension point, without > specifying a target service, both gnome and xfce4 terminal > configurations are updated with your color theme, and > mate-terminal-home-type is not instantiated. OK, let me try to put that in different terms: An application-configuration may contain placeholders. A generalized-configuration may declare that it fills in a specific placeholder. This happens automatically, if the generalized-configuration is used, while any application-configuration with such a placeholder is also in use. So basically like having an inherits-from, but with one level of abstraction that allows to swap in the thing to inherit from? So far, in my own practice, what I have been missing is a way to manage defaults and customizations. I'd like to keep track of it, in terms of "these are the defaults the application has been installed with", "these are the changes I applied". Then, when an update of the application does anything to the defaults, I want to be able to get to a diff and the option to apply my changes as a patch, or see where conflicts are. Adding a mechanism to generalize settings, I can only imagine a graph, consisting of generalized-settings-producers, translators, patches and combiners. Actually, generalized-settings-producers could be patches (from nothing to something). -- Thorsten Wilms <t...@freenet.de>