<br><br><div class="gmail_quote">2011/5/6 Kristian Høgsberg <span dir="ltr">&lt;<a href="mailto:krh@bitplanet.net" target="_blank">krh@bitplanet.net</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div>On Fri, May 6, 2011 at 2:50 PM, Peng Huang &lt;<a href="mailto:shawn.p.huang@gmail.com" target="_blank">shawn.p.huang@gmail.com</a>&gt; wrote:<br>
&gt; I still remember some old windows systems which use client side decoration.<br>
&gt; When applications have some problems, you can not use close button to close<br>
&gt; them. Any the whole decoration will not be repainted anymore, just leave<br>
&gt; users the background color. That is a really bad UX.<br>
&gt; I think server side decoration is a better solution. At same time, wayland<br>
&gt; should allow an application to disable it, and draw its decoration by self.<br>
&gt; Peng<br>
<br>
</div>Listen, this is not OK.  You&#39;re welcome to contribute to the<br>
discussion, but I ask that you at least read the other emails in the<br>
thread.  I&#39;m not asking you to go read documentation or even code,<br>
just fucking read what other people have already suggested in the<br>
thread, before blabbering out with your preconceived notion of what<br>
client side decorations might be.<br> </blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">You obviously haven&#39;t read the previous mails in this thread or even<br>


understand just the basics about how Wayland works.  You&#39;re replying<br>
with a sad anecdote about how you once used a &quot;windows system&quot; and<br>
couldn&#39;t close the window and the application didn&#39;t repaint.  I&#39;m<br>
sure that was traumatizing, but it&#39;s not relevant to this discussion.<br>
You&#39;re not helping anybody here, you&#39;re just spreading misinformation.<br>
<br>
I could suggest that you go back and read my suggestions, but that&#39;s<br>
probably too much too ask, so I&#39;ll repeat them here:<br>
<br>
 - the client can specify a rectangle (typically the title bar) where<br>
the should interpret click-and-drag as a window move operation.  This<br>
lets the compositor move unresponsive windows around and is similar to<br>
what Mike Paquette described.<br>
<br>
 - the client can specify another kind of rectangle (typically the<br>
close button), where the compositor should expect a certain response<br>
(window going away, for example) within a few seconds or so.  This<br>
will let the compositor pop up a &quot;Window didn&#39;t respond, force quit?&quot;<br>
dialog either immediately or on the second click attempt.<br>
<br>
 - unresponsive windows wont go blank, the compositor has the contents<br>
of the window and can repaint from that.  The window contents will<br>
stop updating, but the compositor doesn&#39;t rely on the apps being<br>
responsive to repaint the screen.  This is a key feature of composited<br>
window systems.<br></blockquote><div><br></div><div>I am sorry if I said something wrong.</div><div><br></div><div>I know some basic theory of compositor.  But I still have concern about client window decorations. I think it is very likely an application becomes unresponsive during resizing. Or a user tires to resize a unresponsive window. In that case, I don&#39;t know if compositor can draw an updated title bar or just <span style="font-family:Arial, sans-serif;font-size:12px;line-height:15px">stretch the outdated </span><span style="font-family:Arial, sans-serif;font-size:12px;line-height:15px">window context to the new size. At same time how </span><span style="font-family:Arial, sans-serif;font-size:12px;line-height:15px">the compositor </span><span style="font-family:Arial, sans-serif;font-size:12px;line-height:15px">calculate </span><span style="font-family:Arial, sans-serif;font-size:12px;line-height:15px">rectangles&#39; size and position for title bar </span><span class="Apple-style-span" style="font-family: Arial, sans-serif; font-size: 12px; line-height: 15px; ">and buttons?</span></div>
<div> </div><div>
Peng</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
This was a flame.  I don&#39;t do that often, but I&#39;m fed up with all the<br>
uninformed me-too that always happens in all the<br>
client-side-decoration threads.<br>
<br>
Have a good weekend,<br>
<font color="#888888">Kristian<br>
</font><div><div></div><div><br>
&gt; On Fri, May 6, 2011 at 1:32 PM, Bill Spitzak &lt;<a href="mailto:spitzak@gmail.com" target="_blank">spitzak@gmail.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Sam Spilsbury wrote:<br>
&gt;&gt;<br>
&gt;&gt;&gt; Actually, I&#39;m pretty sure in 99% of the cases out there the amount of<br>
&gt;&gt;&gt; code required for individual applications to have a window border<br>
&gt;&gt;&gt; using decorations done on the window manager side is going to be<br>
&gt;&gt;&gt; pretty much nil.<br>
&gt;&gt;<br>
&gt;&gt; Size? Resize rules? Name? Icon name? Icon? Layer? Window group? Parent<br>
&gt;&gt; Window? Window role? Desktop? Hardly &quot;nil&quot;. Take a look at how many pages of<br>
&gt;&gt; stuff is in the <a href="http://freedesktop.org" target="_blank">freedesktop.org</a> window manager hints.<br>
&gt;&gt;<br>
&gt;&gt;&gt; I really don&#39;t think this is an issue to do with client side<br>
&gt;&gt;&gt; decorations. If the window management policy can&#39;t handle the Gimp<br>
&gt;&gt;&gt; case correctly, then we need to revise our window management policy,<br>
&gt;&gt;&gt; where of course I&#39;m open to ideas here.<br>
&gt;&gt;<br>
&gt;&gt; &quot;Window management policy&quot; should also be client-side. I may not have been<br>
&gt;&gt; clear about that. The wayland compositer almost NEVER moves or raises or<br>
&gt;&gt; resizes a window. Clients do this in response to clicks or whatever. This<br>
&gt;&gt; would have made it TRIVIAL to implement Gimp the way they intended, as at no<br>
&gt;&gt; time would an image window raise above their toolbars, since they control<br>
&gt;&gt; both of them.<br>
&gt;&gt;<br>
&gt;&gt; I think it is disgusting that for 30 years now we have been forced to not<br>
&gt;&gt; use overlapping windows, primarily due to the idiotic idea that the system<br>
&gt;&gt; should implement &quot;click to top&quot; (especially idiotic because of the<br>
&gt;&gt; incredible triviality of making the client do that). Every major application<br>
&gt;&gt; (including Gimp...) has been forced to use a single window with a &quot;tiled&quot;<br>
&gt;&gt; interior, and perhaps some pop-up &quot;child&quot; windows, because of this bug and<br>
&gt;&gt; am really really hoping Wayland will finally fix it.<br>
&gt;&gt;<br>
&gt;&gt; To handle locked windows the compositor certainly can move, raise, lower<br>
&gt;&gt; and unmap them. It can do this if the user holds down certain keys, or if it<br>
&gt;&gt; detects the application is locked up, or if the user picks menu items.<br>
&gt;&gt;<br>
&gt;&gt;&gt; On windows all we see is that applications can draw widgets inside the<br>
&gt;&gt;&gt; existing window border style. This works well in every case I&#39;ve seen<br>
&gt;&gt;&gt; it - chromium, firefox, office, you name it.<br>
&gt;&gt;<br>
&gt;&gt; No on Windows an application can add drawings to the title bar. It is<br>
&gt;&gt; pretty clear that applications are assuming the default Vista colors and<br>
&gt;&gt; button sizes and layouts when making these drawings, thus defeating theming.<br>
&gt;&gt;<br>
&gt;&gt;&gt; We still have the problem of not having a universal toolkit to handle<br>
&gt;&gt;&gt; these things, and the reality of the matter is that a lot of<br>
&gt;&gt;&gt; proprietary applications are not going to want to use these toolkits.<br>
&gt;&gt;<br>
&gt;&gt; I have no idea why you think that making the window borders match is all<br>
&gt;&gt; that is needed. What about the buttons and menus and toolbars and scroll<br>
&gt;&gt; bars and how editing is done? If this is important I would much rather see a<br>
&gt;&gt; solution that addresses all of these, rather than somehow saying the window<br>
&gt;&gt; borders are &quot;special&quot;.<br>
&gt;&gt;<br>
&gt;&gt;&gt; You cannot assume that there will be a universally adopted method to<br>
&gt;&gt;&gt; styling because we see on every single platform that there will *not*<br>
&gt;&gt;&gt; be one. The best way to enforce styling is to enforce it at the window<br>
&gt;&gt;&gt; manager level, so that the applications on the system actually obey<br>
&gt;&gt;&gt; what the user wants them to do, not some crazy idea that the<br>
&gt;&gt;&gt; application developer had.<br>
&gt;&gt;<br>
&gt;&gt; And this is true on X and Windows today. People bypass the system and draw<br>
&gt;&gt; their own window borders. And the result is far worse than if the system was<br>
&gt;&gt; designed for this from the start. Lets not repeat these mistakes.<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; wayland-devel mailing list<br>
&gt;&gt; <a href="mailto:wayland-devel@lists.freedesktop.org" target="_blank">wayland-devel@lists.freedesktop.org</a><br>
&gt;&gt; <a href="http://lists.freedesktop.org/mailman/listinfo/wayland-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/wayland-devel</a><br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; wayland-devel mailing list<br>
&gt; <a href="mailto:wayland-devel@lists.freedesktop.org" target="_blank">wayland-devel@lists.freedesktop.org</a><br>
&gt; <a href="http://lists.freedesktop.org/mailman/listinfo/wayland-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/wayland-devel</a><br>
&gt;<br>
&gt;<br>
</div></div></blockquote></div><br>