diff options
-rw-r--r-- | data/apps_mate_settings_daemon_xrandr.schemas.in | 19 | ||||
-rw-r--r-- | plugins/xrandr/msd-xrandr-manager.c | 4 |
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); |