summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/apps_mate_settings_daemon_xrandr.schemas.in19
-rw-r--r--plugins/xrandr/msd-xrandr-manager.c4
2 files changed, 22 insertions, 1 deletions
diff --git a/data/apps_mate_settings_daemon_xrandr.schemas.in b/data/apps_mate_settings_daemon_xrandr.schemas.in
index 2314ac8..a8adbc9 100644
--- a/data/apps_mate_settings_daemon_xrandr.schemas.in
+++ b/data/apps_mate_settings_daemon_xrandr.schemas.in
@@ -15,6 +15,25 @@
</locale>
</schema>
<schema>
+ <key>/schemas/apps/mate_settings_daemon/xrandr/use_xorg_monitor_settings</key>
+ <applyto>/apps/mate_settings_daemon/xrandr/use_xorg_monitor_settings</applyto>
+ <owner>mate</owner>
+ <type>bool</type>
+ <default>false</default>
+ <locale name="C">
+ <short>Do not touch monitor configuration</short>
+ <long>Usually, mate-settings-daemon configures internal and
+ external monitors according to the
+ turn_on_external_monitors_at_startup and
+ turn_on_laptop_monitor_at_startup settings and determines
+ an appropriate cloning/side-by-side mode. Setting this key
+ to True disables this, and the monitor settings are not
+ touched at all (unless there is an explicit user
+ configuration).
+ </long>
+ </locale>
+ </schema>
+ <schema>
<key>/schemas/apps/mate_settings_daemon/xrandr/turn_on_external_monitors_at_startup</key>
<applyto>/apps/mate_settings_daemon/xrandr/turn_on_external_monitors_at_startup</applyto>
<owner>mate</owner>
diff --git a/plugins/xrandr/msd-xrandr-manager.c b/plugins/xrandr/msd-xrandr-manager.c
index 75e41dd..7d8d7f5 100644
--- a/plugins/xrandr/msd-xrandr-manager.c
+++ b/plugins/xrandr/msd-xrandr-manager.c
@@ -61,6 +61,7 @@
#define CONF_DIR "/apps/mate_settings_daemon/xrandr"
#define CONF_KEY_SHOW_NOTIFICATION_ICON (CONF_DIR "/show_notification_icon")
+#define CONF_KEY_USE_XORG_MONITOR_SETTINGS (CONF_DIR "/use_xorg_monitor_settings")
#define CONF_KEY_TURN_ON_EXTERNAL_MONITORS_AT_STARTUP (CONF_DIR "/turn_on_external_monitors_at_startup")
#define CONF_KEY_TURN_ON_LAPTOP_MONITOR_AT_STARTUP (CONF_DIR "/turn_on_laptop_monitor_at_startup")
#define CONF_KEY_DEFAULT_CONFIGURATION_FILE (CONF_DIR "/default_configuration_file")
@@ -2350,7 +2351,8 @@ msd_xrandr_manager_start (MsdXrandrManager *manager,
show_timestamps_dialog (manager, "Startup");
if (!apply_stored_configuration_at_startup (manager, GDK_CURRENT_TIME)) /* we don't have a real timestamp at startup anyway */
if (!apply_default_configuration_from_file (manager, GDK_CURRENT_TIME))
- apply_default_boot_configuration (manager, GDK_CURRENT_TIME);
+ if (!mateconf_client_get_bool (manager->priv->client, CONF_KEY_USE_XORG_MONITOR_SETTINGS, NULL))
+ apply_default_boot_configuration (manager, GDK_CURRENT_TIME);
log_msg ("State of screen after initial configuration:\n");
log_screen (manager->priv->rw_screen);