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