[virt-tools-list] [PATCH] Always auto-align multiple monitors, even in fullscreen

Marc-André Lureau mlureau at redhat.com
Wed Oct 2 23:18:46 UTC 2013



----- Original Message -----
> Disbling display alignment when a single window goes to fullscreen can cause
> some screens to overlap (rhbz #1002156). Sending absolute coordinates without
> alignment only really makes sense when *all* displays are fullscreen.  We
> need a
> more complete solution to this monitor arrangement issue eventually, but for
> now, simply always do the auto-ltr alignment when re-configuring monitors.
> 
> This fixes the overlap bug at the expense of potentially breaking
> vertically-stacked monitor arrangements in fullscreen. But supporting that
> use
> case properly will probably require significant re-design.

I think the use case of full-screen=auto-conf (that is configuring guest to match client configuration) is more important than handling mix of fullscreen and window display state or overlap.
So I would rather wait until we have a solution that satisfies both cases, instead of breaking one important case for another less important one.

> ---
>  src/virt-viewer-display-spice.c | 6 ------
>  1 file changed, 6 deletions(-)
> 
> diff --git a/src/virt-viewer-display-spice.c
> b/src/virt-viewer-display-spice.c
> index 48f07e3..9af39eb 100644
> --- a/src/virt-viewer-display-spice.c
> +++ b/src/virt-viewer-display-spice.c
> @@ -189,7 +189,6 @@ virt_viewer_display_spice_resize(VirtViewerDisplaySpice
> *self,
>      guint zoom = 100;
>      guint nth;
>      gint x = 0, y = 0;
> -    gboolean disable_display_position = TRUE;
>  
>      if (virt_viewer_display_get_auto_resize(VIRT_VIEWER_DISPLAY(self)) ==
>      FALSE)
>          return;
> @@ -205,7 +204,6 @@ virt_viewer_display_spice_resize(VirtViewerDisplaySpice
> *self,
>              n = gdk_screen_get_monitor_at_window(screen,
>                                       gtk_widget_get_window(GTK_WIDGET(self)));
>          gdk_screen_get_monitor_geometry(screen, n, &monitor);
> -        disable_display_position = FALSE;
>          x = monitor.x;
>          y = monitor.y;
>          dw = monitor.width;
> @@ -229,10 +227,6 @@ virt_viewer_display_spice_resize(VirtViewerDisplaySpice
> *self,
>      g_object_get(self, "nth-display", &nth, NULL);
>  
>      if (resize_guest) {
> -        g_object_set(get_main(VIRT_VIEWER_DISPLAY(self)),
> -                     "disable-display-position", disable_display_position,
> -                     "disable-display-align", !disable_display_position,
> -                     NULL);
>          spice_main_set_display(get_main(VIRT_VIEWER_DISPLAY(self)),
>                                 nth, x, y, dw, dh);
>      }
> --
> 1.8.3.1
> 
> _______________________________________________
> virt-tools-list mailing list
> virt-tools-list at redhat.com
> https://www.redhat.com/mailman/listinfo/virt-tools-list
> 




More information about the virt-tools-list mailing list