If I understand the proposal correctly this shouldn't be a problem. If 
the application becomes unresponsive the server has the ability to 
manage it (move, resize, raise, lower, possibly hide/show, and an option
 to kill it) and it knows if it didn&#39;t respond to events.<br>
<br>
I do think that there is one thing it should also have, when a client is
 going to appear/move/resize, it should send a request to the server 
with a tag, a nospace string to identify the request, the new location, 
and new dimentions.<br>
the server responds with a message that has the same tag, and a yes or 
no response (possibly a hint as to why it was rejected), and if the 
resonce is no then the client should not preform that particular 
operation. this at its basics can prevent applications from accidentally
 moving off screen, covering some more important window(like a taskbar),
 or from acting as a floating window in a tiling environment, and allows
 the server the freedom to do something more advanced.<br><br><br><div class="gmail_quote">On Wed, May 11, 2011 at 5:02 AM, Michal Suchanek <span dir="ltr">&lt;<a href="mailto:hramrach@centrum.cz">hramrach@centrum.cz</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">2011/5/11 Bill Spitzak &lt;<a href="mailto:spitzak@gmail.com">spitzak@gmail.com</a>&gt;:<br>
<div class="im">&gt; Kristian Høgsberg wrote:<br>
&gt;<br>
&gt;&gt; I had a quick read through this and there is a lot of overlap with how<br>
&gt;&gt; Wayland works today... are you proposing to change how Wayland works<br>
&gt;&gt; or are you not familiar with what&#39;s already in place?<br>
&gt;<br>
&gt; A lot of this is based on my understanding of how Wayland works, and from<br>
&gt; the XML description of the protocol. I tried to document what I believe but<br>
&gt; has never been really stated for Wayland.<br>
&gt;<br>
&gt; Main addition I made without previous knowledge was the parent and the task<br>
&gt; objects (so that a task manager client can figure out what to display), and<br>
&gt; the window management events (rather than try to guess what happens based on<br>
&gt; movements of the windows, which seemed to be what was planned for Wayland).<br>
&gt;<br>
&gt;&gt; Anyway, for decorations and tiling window managers, bear in mind that<br>
&gt;&gt; CSD is not about insisting that clients always draws decorations, but<br>
&gt;&gt; about making clients draw the decorations *when* decorations are<br>
&gt;&gt; desired.<br>
&gt;<br>
&gt; I mostly see CSD as meaning &quot;the server never draws any kind of<br>
&gt; decorations&quot;. I agree it is a good idea for the server to be able to tell<br>
&gt; the client to not to draw decorations (done in this proposal with the resize<br>
&gt; events having 4 flags to turn the edges on/off and another flag for the<br>
&gt; title bar). But the server must *never* draw them, because that would<br>
&gt; require the api by which the client describes the decorations to the server,<br>
&gt; which is the source of the complexity and interface lock-in that we have in<br>
&gt; X and Windows.<br>
<br>
</div>I don&#39;t think you need an API for that. Either the application accepts<br>
what the server draws or it wants to draw its own.<br>
So it&#39;s like<br>
 - application wants its own borders (bool)<br>
 - server takes care of borders (bool)<br>
two bits.<br>
<div class="im"><br>
&gt;<br>
&gt; I also believe window actions such as move, map, and raise must be<br>
&gt; client-side. Otherwise correct movement of child windows will require an<br>
&gt; equally-complex api to send this information to the server. So I really<br>
&gt; tried to make it clear how I see this working. Proper child windows where<br>
&gt; the app has complete control could be a major user interface advantage over<br>
&gt; Windows and OS/X.<br>
<br>
</div>Moves and resizes implemented in the client can&#39;t work well.<br>
<br>
Maybe in an ideal world each application would be split into two (or<br>
more) processes, one taking care of the UI interaction and the<br>
other(s) doing the actual work so that the UI is always responsive.<br>
<br>
However, this is not the case and for moves and resizes to work<br>
properly they have to be done in the window manager. For many<br>
applications responding to UI events is rather low priority and when<br>
they are busy doing something the UI is not going to be handled.<br>
<br>
So the user initiated resizes should happen in the compositor which<br>
paints the current content in the window of the new size and can<br>
possibly mix in some haze to make it obvious that the window was not<br>
resized yet and later the application should update the content size<br>
to match the window size and move any toolbars appropriately.<br>
<br>
The problem is with broken applications (such as gimp) that respond to<br>
a resize of their window with application-initiated resize of the same<br>
window leading to a resize loop in tiling WMs.<br>
<br>
Thanks<br>
<font color="#888888"><br>
Michal<br>
</font><div><div></div><div class="h5">_______________________________________________<br>
wayland-devel mailing list<br>
<a href="mailto:wayland-devel@lists.freedesktop.org">wayland-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/wayland-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/wayland-devel</a><br>
</div></div></blockquote></div><br>