From: Marc-Andre Lureau <marcandre.lureau@xxxxxxxxxx> GNOME will restore monitors.xml configuration whenever the timestamp "config > change". The "change" timestamp is the last user applied configuration, whereas the "config" timestamp is updated when the screen is updated or ouput/crtc modes are added/removed. These condition are triggered by vdagent during monitor config. Since we can't control the timestamps (playing with delay will be inherently event more racy), the only sane way I can think of is to disable gsd behaviour. This can be achieved by deleting the ~/.config/monitors.xml, which is the intended configuration to restore, so vdagent will override whatever configuration was saved previously. Somehow, if vdagent would be better integrated with gnome2, it would use the gnome-rr and/or org.gnome.SettingsDaemon.XRANDR dbus API. Thanksfully, in gnome3, the monitor auto-configuration has been merged in. https://bugzilla.redhat.com/show_bug.cgi?id=1086657 --- src/vdagent-x11-randr.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/vdagent-x11-randr.c b/src/vdagent-x11-randr.c index 46367bc..5faaee6 100644 --- a/src/vdagent-x11-randr.c +++ b/src/vdagent-x11-randr.c @@ -21,6 +21,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ +#include <glib.h> #include <string.h> #include <syslog.h> #include <stdlib.h> @@ -745,6 +746,10 @@ void vdagent_x11_set_monitor_config(struct vdagent_x11 *x11, goto exit; } + gchar *config = g_build_filename (g_get_user_config_dir (), "monitors.xml", NULL); + g_unlink(config); + g_free(config); + for (i = mon_config->num_of_monitors; i < x11->randr.res->noutput; i++) xrandr_disable_output(x11, i); -- 1.9.3 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel