There have been several occasions now where Ubuntu GNOME has had to patch code, that could in theory instead be handled by per-session gsettings overrides. A recent example is the background plugin in gnome-settings-daemon (LP: #1219148), this should be loaded under unity, gnome-flashback sessions but not gnome-shell session. A per-session override would make this possible without any patches to the codebase.
As I understand it the overrides are processed by glib-compile-schemas so perhaps we would have to recompile schemas on each login to achieve this? Any thoughts on how we can achieve this?
Compiling schemas on every login is a waste of both CPU time and also disk space. Perhaps instead of /usr/share/ glib-2. 0/schemas/ gschemas. compiled glib could first look into /usr/share/ glib-2. 0/schemas/ $SESSION/ gschemas. compiled and if that doesn't exist, fall back to the standard path?