I hope you guys don't mind my chiming in here.

The way I handled a window resize was to grow or shrink the window buffer and 
onscreen region  as requested by the client, mark it as invalid, and hold off 
on compositing it until the app indicated the buffer was valid, or had good 
content again.  A timer in the server acted as a backup for this, to allow 
display update treating the window as containing only the background or 
autofill color for compositing purposes, so things like running an app under 
the debugger wouldn't render the display unusable.  The compositor treated an 
'invalid' buffer as being a 1x1 pixel buffer holding the background/autofill 
color, scaled up to the onscreen window size.  

The window resize request could specify that content was to be preserved 
relative to the window origin with new content areas autofilled with the 
background color, or the buffer would just be filled with the autofill color, 
or that the buffer would be left as-is because the app would completely repaint 
the content (as-is could look pretty bad if not repainted, what with the wrong 
rowbyte values and all...).

It did take a bit of work to convince a few app developers that when they 
resized a window, they should immediately fix up the content without wandering 
off to query the odd remote database, but the majority of apps appeared to be 
ready to redraw content promptly on doing a resize.  

  Mike Paquette

On May 13, 2011, at 10:37 AM, Bill Spitzak wrote:

> 
> 
> Michal Suchanek wrote:
> 
>>> Yes: it handles all resizing uniformly badly.  It's pretty horrible.
>> So you can see the background color of clients that are slow to
>> repaint. Oh, how painful.
> 
> Yes, that is UNACCEPTABLE! Get it through your head that the intention of 
> Wayland is so that Linux stops looking like crap compared to other systems. 
> NEVER NEVER NEVER should a "partially updated window" appear. If it does, 
> Wayland is junk. This means your idea violates one of the basic design 
> principles of Wayland and cannot be done.
> 
> You also have to face it that programs lock up and don't respond to all kinds 
> of actions and it is silly to try to address just resize. If the window is 
> not going to draw I would prefer it not to resize so I don't lose the old 
> contents.
> _______________________________________________
> wayland-devel mailing list
> wayland-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel

_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to