<br><br><div class="gmail_quote">2011/5/6 Kristian Høgsberg <span dir="ltr"><<a href="mailto:krh@bitplanet.net" target="_blank">krh@bitplanet.net</a>></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 <<a href="mailto:shawn.p.huang@gmail.com" target="_blank">shawn.p.huang@gmail.com</a>> wrote:<br>
> I still remember some old windows systems which use client side decoration.<br>
> When applications have some problems, you can not use close button to close<br>
> them. Any the whole decoration will not be repainted anymore, just leave<br>
> users the background color. That is a really bad UX.<br>
> I think server side decoration is a better solution. At same time, wayland<br>
> should allow an application to disable it, and draw its decoration by self.<br>
> Peng<br>
<br>
</div>Listen, this is not OK. You're welcome to contribute to the<br>
discussion, but I ask that you at least read the other emails in the<br>
thread. I'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't read the previous mails in this thread or even<br>
understand just the basics about how Wayland works. You're replying<br>
with a sad anecdote about how you once used a "windows system" and<br>
couldn't close the window and the application didn't repaint. I'm<br>
sure that was traumatizing, but it's not relevant to this discussion.<br>
You're not helping anybody here, you're just spreading misinformation.<br>
<br>
I could suggest that you go back and read my suggestions, but that's<br>
probably too much too ask, so I'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 "Window didn't respond, force quit?"<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'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'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' 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't do that often, but I'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>
> On Fri, May 6, 2011 at 1:32 PM, Bill Spitzak <<a href="mailto:spitzak@gmail.com" target="_blank">spitzak@gmail.com</a>> wrote:<br>
>><br>
>> Sam Spilsbury wrote:<br>
>><br>
>>> Actually, I'm pretty sure in 99% of the cases out there the amount of<br>
>>> code required for individual applications to have a window border<br>
>>> using decorations done on the window manager side is going to be<br>
>>> pretty much nil.<br>
>><br>
>> Size? Resize rules? Name? Icon name? Icon? Layer? Window group? Parent<br>
>> Window? Window role? Desktop? Hardly "nil". Take a look at how many pages of<br>
>> stuff is in the <a href="http://freedesktop.org" target="_blank">freedesktop.org</a> window manager hints.<br>
>><br>
>>> I really don't think this is an issue to do with client side<br>
>>> decorations. If the window management policy can't handle the Gimp<br>
>>> case correctly, then we need to revise our window management policy,<br>
>>> where of course I'm open to ideas here.<br>
>><br>
>> "Window management policy" should also be client-side. I may not have been<br>
>> clear about that. The wayland compositer almost NEVER moves or raises or<br>
>> resizes a window. Clients do this in response to clicks or whatever. This<br>
>> would have made it TRIVIAL to implement Gimp the way they intended, as at no<br>
>> time would an image window raise above their toolbars, since they control<br>
>> both of them.<br>
>><br>
>> I think it is disgusting that for 30 years now we have been forced to not<br>
>> use overlapping windows, primarily due to the idiotic idea that the system<br>
>> should implement "click to top" (especially idiotic because of the<br>
>> incredible triviality of making the client do that). Every major application<br>
>> (including Gimp...) has been forced to use a single window with a "tiled"<br>
>> interior, and perhaps some pop-up "child" windows, because of this bug and<br>
>> am really really hoping Wayland will finally fix it.<br>
>><br>
>> To handle locked windows the compositor certainly can move, raise, lower<br>
>> and unmap them. It can do this if the user holds down certain keys, or if it<br>
>> detects the application is locked up, or if the user picks menu items.<br>
>><br>
>>> On windows all we see is that applications can draw widgets inside the<br>
>>> existing window border style. This works well in every case I've seen<br>
>>> it - chromium, firefox, office, you name it.<br>
>><br>
>> No on Windows an application can add drawings to the title bar. It is<br>
>> pretty clear that applications are assuming the default Vista colors and<br>
>> button sizes and layouts when making these drawings, thus defeating theming.<br>
>><br>
>>> We still have the problem of not having a universal toolkit to handle<br>
>>> these things, and the reality of the matter is that a lot of<br>
>>> proprietary applications are not going to want to use these toolkits.<br>
>><br>
>> I have no idea why you think that making the window borders match is all<br>
>> that is needed. What about the buttons and menus and toolbars and scroll<br>
>> bars and how editing is done? If this is important I would much rather see a<br>
>> solution that addresses all of these, rather than somehow saying the window<br>
>> borders are "special".<br>
>><br>
>>> You cannot assume that there will be a universally adopted method to<br>
>>> styling because we see on every single platform that there will *not*<br>
>>> be one. The best way to enforce styling is to enforce it at the window<br>
>>> manager level, so that the applications on the system actually obey<br>
>>> what the user wants them to do, not some crazy idea that the<br>
>>> application developer had.<br>
>><br>
>> And this is true on X and Windows today. People bypass the system and draw<br>
>> their own window borders. And the result is far worse than if the system was<br>
>> designed for this from the start. Lets not repeat these mistakes.<br>
>> _______________________________________________<br>
>> wayland-devel mailing list<br>
>> <a href="mailto:wayland-devel@lists.freedesktop.org" target="_blank">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>
><br>
><br>
> _______________________________________________<br>
> wayland-devel mailing list<br>
> <a href="mailto:wayland-devel@lists.freedesktop.org" target="_blank">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>
><br>
><br>
</div></div></blockquote></div><br>