[virt-tools-list] virt-viewer: Having per window full-screen state causes monitor arrangement issues

Marc-André Lureau mlureau at redhat.com
Fri Sep 20 13:28:43 UTC 2013

----- Original Message -----
> Hi,
> On 09/20/2013 02:06 PM, Marc-André Lureau wrote:
> > Hi
> >
> > I think the issue is when a window go fullscreen, we take its monitor
> > geometry and disable auto-alignment. This can cause overlap, when all
> > monitors aren't fullscreen.
> >
> > When we leave fullscreen, ltr-alignment is applied, all is "fine"
> >
> > So it looks to me like we should do better alignment on "all" monitors
> > whatever happens. I think current alignment spice-gtk code is too simple
> > and needs to be improved. What do you think? I will try to see what I can
> > do.
> I agree some better alignment for the windowed / mixed case would be good.
> What I suggest to do for now is do auto ltr arrangement using the current
> algorithm, on all monitors (except for the all windows fullscreen case), and
> update monitor coordinates for all monitors, including fullscreen ones, each
> time a windows size changes (which includes going fullscreen / windowed).
> As said the all windows fullscreen case is special, in that case we should
> just use the actual physical monitor coordinates and not do any auto-align.

I thought about it, but it might reorder and move monitors whenever you unfullscreen/fullscreen. That can really be annoying.

I am thinking now to just use window root coordinates and size (yes, following the way you started using window coordinates). So, never use alignment. That leaves the following problems:
- window gaps and overlaps: either we ignore this problem or we improve alignment to cope with this. Note overlap might be actually wanted for mirrors. And gap could probably be ignored?
- resizing a display inside the guest in fullscreen (scaled), will create even bigger overlaps or gaps.   

Tbh, I don't see how automatic alignment could work without breaking some use cases. I welcome suggestions :)

More information about the virt-tools-list mailing list