diff options
| -rw-r--r-- | .gitignore | 49 | ||||
| -rw-r--r-- | data/apps_mate_settings_daemon_xrandr.schemas.in | 19 | ||||
| -rw-r--r-- | plugins/housekeeping/msd-disk-space.c | 8 | ||||
| -rw-r--r-- | plugins/media-keys/msd-media-keys-manager.c | 17 | ||||
| -rw-r--r-- | plugins/xrandr/msd-xrandr-manager.c | 11 | 
5 files changed, 97 insertions, 7 deletions
| diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d1a0b48 --- /dev/null +++ b/.gitignore @@ -0,0 +1,49 @@ +aclocal.m4 +autom4te.cache +compile +config.guess +config.h* +config.log +config.status +config.sub +configure +depcomp +INSTALL +install-sh +intltool-* +libtool +ltmain.sh +Makefile +Makefile.in +Makefile.in.in +missing +mkinstalldirs +*.o +*.lo +*.a +*.la +*.gmo +po/POTFILES +po/stamp-it +stamp-h1 +.deps +.libs +gnome-settings-daemon/gnome-settings-client.h +gnome-settings-daemon/gnome-settings-daemon +gnome-settings-daemon/gnome-settings-manager-glue.h +data/*.pc +data/*.schemas +data/gnome-settings-daemon.desktop +data/gnome-settings-daemon.desktop.in +data/50-accessibility.xml +data/org.gnome.SettingsDaemon.service +*.gnome-settings-plugin +plugins/a11y-keyboard/test-a11y-preferences-dialog +plugins/background/test-background +plugins/media-keys/gsd-marshal.c +plugins/media-keys/gsd-marshal.h +plugins/media-keys/gsd-media-keys-manager-glue.h +plugins/media-keys/test-media-keys +plugins/media-keys/test-media-window +plugins/mouse/gsd-locate-pointer +plugins/xrandr/gsd-xrandr-manager-glue.h diff --git a/data/apps_mate_settings_daemon_xrandr.schemas.in b/data/apps_mate_settings_daemon_xrandr.schemas.in index 2314ac8..3428354 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>true</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/housekeeping/msd-disk-space.c b/plugins/housekeeping/msd-disk-space.c index 6842ae5..e36be16 100644 --- a/plugins/housekeeping/msd-disk-space.c +++ b/plugins/housekeeping/msd-disk-space.c @@ -181,7 +181,7 @@ ldsm_notify_for_mount (LdsmMountInfo *mount,          gboolean has_trash;          gboolean has_disk_analyzer;          gboolean retval = TRUE; -        const gchar *path; +        gchar *path;          /* Don't show a dialog if one is already displayed */          if (dialog) @@ -190,7 +190,7 @@ ldsm_notify_for_mount (LdsmMountInfo *mount,          name = g_unix_mount_guess_name (mount->mount);          free_space = (gint64) mount->buf.f_frsize * (gint64) mount->buf.f_bavail;          has_trash = ldsm_mount_has_trash (mount); -        path = g_unix_mount_get_mount_path (mount->mount); +        path = g_strdup (g_unix_mount_get_mount_path (mount->mount));          program = g_find_program_in_path (DISK_SPACE_ANALYZER);          has_disk_analyzer = (program != NULL); @@ -218,7 +218,7 @@ ldsm_notify_for_mount (LdsmMountInfo *mount,                  break;          case MSD_LDSM_DIALOG_RESPONSE_ANALYZE:                  retval = FALSE; -                ldsm_analyze_path (g_unix_mount_get_mount_path (mount->mount)); +                ldsm_analyze_path (path);                  break;          case MSD_LDSM_DIALOG_RESPONSE_EMPTY_TRASH:                  retval = TRUE; @@ -232,6 +232,8 @@ ldsm_notify_for_mount (LdsmMountInfo *mount,                  g_assert_not_reached ();          } +        g_free (path); +          return retval;  } diff --git a/plugins/media-keys/msd-media-keys-manager.c b/plugins/media-keys/msd-media-keys-manager.c index d7e1b04..e7310c6 100644 --- a/plugins/media-keys/msd-media-keys-manager.c +++ b/plugins/media-keys/msd-media-keys-manager.c @@ -862,6 +862,19 @@ on_control_default_sink_changed (GvcMixerControl     *control,          update_default_sink (manager);  } +static void +on_control_stream_removed (GvcMixerControl     *control, +                           guint                id, +                           GsdMediaKeysManager *manager) +{ +        if (manager->priv->stream != NULL) { +		if (gvc_mixer_stream_get_id (manager->priv->stream) == id) { +	                g_object_unref (manager->priv->stream); +			manager->priv->stream = NULL; +		} +        } +} +  #endif /* HAVE_PULSE */  static gint @@ -1186,6 +1199,10 @@ msd_media_keys_manager_start (MsdMediaKeysManager *manager,                            "default-sink-changed",                            G_CALLBACK (on_control_default_sink_changed),                            manager); +        g_signal_connect (manager->priv->volume, +                          "stream-removed", +                          G_CALLBACK (on_control_stream_removed), +                          manager);          gvc_mixer_control_open (manager->priv->volume); diff --git a/plugins/xrandr/msd-xrandr-manager.c b/plugins/xrandr/msd-xrandr-manager.c index dc00be1..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") @@ -77,7 +78,7 @@  #define MSD_XRANDR_ICON_NAME "msd-xrandr"  /* executable of the control center's display configuration capplet */ -#define MSD_XRANDR_DISPLAY_CAPPLET "mate-control-center display" +#define MSD_XRANDR_DISPLAY_CAPPLET "mate-display-properties"  #define MSD_DBUS_PATH "/org/mate/SettingsDaemon"  #define MSD_DBUS_NAME "org.mate.SettingsDaemon" @@ -2168,10 +2169,11 @@ apply_intended_configuration (MsdXrandrManager *manager, const char *intended_fi  	gboolean result;          my_error = NULL; -        result = apply_configuration_from_filename (manager, intended_filename, FALSE, timestamp, &my_error); +        result = apply_configuration_from_filename (manager, intended_filename, TRUE, timestamp, &my_error);          if (!result) {                  if (my_error) { -                        if (!g_error_matches (my_error, G_FILE_ERROR, G_FILE_ERROR_NOENT)) +                        if (!g_error_matches (my_error, G_FILE_ERROR, G_FILE_ERROR_NOENT) && +                            !g_error_matches (my_error, MATE_RR_ERROR, MATE_RR_ERROR_NO_MATCHING_CONFIG))                                  error_message (manager, _("Could not apply the stored configuration for monitors"), my_error, NULL);                          g_error_free (my_error); @@ -2349,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); | 
