monitor-manager: Make the config manager an 'experimental feature'

Instead of using a environment variable, add a new 'experimental
feature' gsetting keyword "monitor-config-manager" that enables the use
of the new MetaMonitorConfigManager. This commit also makes it possible
to switch between the two systems without restarting mutter.

The D-Bus API is disabled when the experimental feature is not enabled,
and clients trying to access it will get a access-denied error in
response. A new property 'IsExperimentalApiEnabled' is added to let the
D-Bus client know whether it is possible to use the experimental API or
not.

https://bugzilla.gnome.org/show_bug.cgi?id=777732
This commit is contained in:
Jonas Ådahl
2017-03-04 15:30:56 +08:00
parent 57acbc53fb
commit 0c64c35a8a
10 changed files with 99 additions and 37 deletions

View File

@ -28,11 +28,7 @@
gboolean
is_using_monitor_config_manager (void)
{
MetaBackend *backend = meta_get_backend ();
MetaMonitorManager *monitor_manager =
meta_backend_get_monitor_manager (backend);
return !!monitor_manager->config_manager;
return meta_is_monitor_config_manager_enabled ();
}
void