On Thu, 2015-04-02 at 16:42 +0200, Marc-André Lureau wrote:
>
> On Thu, Apr 2, 2015 at 4:36 PM, Jonathon Jongsma <[email protected]>
> wrote:
> That would be a pretty drastic change in behavior. So, no, I
> have not
> considered that. It would also open up a large can of worms.
> For
> example, what would happen if you re-configured the displays
> from within
> the guest control panel. What would you do then?
>
>
>
> I would eventually follow guest configuration, but I wouldn't send
> back a new configuration (no auto-resize).
>
So, I did a quick test where I used an un-modified spice-server and the
following diff to virt-viewer:
===================
diff --git a/src/virt-viewer-session.c b/src/virt-viewer-session.c
index 131a500..5f47d09 100644
--- a/src/virt-viewer-session.c
+++ b/src/virt-viewer-session.c
@@ -412,6 +412,13 @@
virt_viewer_session_on_monitor_geometry_changed(VirtViewerSession* self,
if (!klass->apply_monitor_geometry)
return;
+ /* don't send monitor resize if we're in auto-conf fullscreen mode...*/
+ if (virt_viewer_app_get_fullscreen(self->priv->app)) {
+ g_debug("%s: not sending new monitors config because app is in
fullscreen mode", G_STRFUNC);
+ return;
+ }
+ g_debug("%s: sending", G_STRFUNC);
+
/* find highest monitor ID so we can create the sparse array */
for (l = self->priv->displays; l; l = l->next) {
VirtViewerDisplay *d = VIRT_VIEWER_DISPLAY(l->data);
====================
This is basically what you suggest. While we're in auto-conf mode, it never
sends down monitor config changes, but it does respond to display updates from
the server. When the user exits fullscreen mode, it resumes auto-resize and
sends new monitor config messages to the server. It improved the situation, but
didn't fix it. Before applying this patch, when I started virt-viewer in
--full-screen mode, the extra display was left enabled about 25-50% of the
time. After this patch, it happens only about 10% of the time.
But it also seems to introduce a regression that I haven't investigated yet:
when things work properly (e.g. only a single fullscreen display is shown) and
I follow these steps:
- exit fullscreen
- enable a second display (View > Displays > Display 2)
The second window appears, but it simply displays "Waiting for display 2..."
forever. The display only shows starts working after you resize one of the
windows.
_______________________________________________
Spice-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/spice-devel