<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Dec 8, 2016 at 10:42 AM, Mike Blumenkrantz <span dir="ltr"><<a href="mailto:michael.blumenkrantz@gmail.com" target="_blank">michael.blumenkrantz@gmail.co<wbr>m</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Allowing clients to raise/lower has nothing to do with trust and everything to do with control. If clients can affect stacking, they can affect the compositor's window placement policy. Wayland is all about having the compositor be in absolute control of this to the point of clients having the perception of being sandboxed, hence why there is no method for windows to set/request/know their position on screen.<div><br></div><div>I have no plans at this time to r-b any wayland-protocols addition which allows direct client manipulation of window stacking, regardless of how cleverly written it may be.</div><div><br></div><div>Specifying CSD titlebar regions is just going to lead to even more complexity; if you're dead set on this, I'd suggest an extension which just notifies the compositor when the titlebar has been clicked; the compositor can then choose to take action based on its policies.<div><div class="m_3316501592360742822gmail-m_-9014966502108578154h5"><br></div></div></div></div></blockquote><div><br></div><div>This would be equivalent to renaming the current xdg-shell 'move' request to 'titlebar_grab' (and 'resize' to 'edge_grab'), and removing the description of the actual move and resize semantics from the protocol description. I believe it is essentially what Bill Spitzak initially proposed.</div><div><br></div><div>If we want to have the semantics of server-side decorations (where the compositor is completely in control of windows), but allow clients complete control over the appearance of such decorations, then we should make that split clear and talk of "decorations" in the protocol, not "actions".</div><div><br></div><div>This would allow a clear delegation of policy to the compositor without material change to the protocol. The use of "grab" makes it clearer that the compositor is in charge of deciding what to do (it is less specific than "move" or "resize").</div><div><br></div><div>You could also fold these two requests together into just "grab", change the "resize_edge" enum to be called "grab_region", and add a new entry for "titlebar".</div><div><br></div><div><br></div><div>Adam</div><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div><div class="m_3316501592360742822gmail-m_-9014966502108578154h5"><br><div class="gmail_quote"><div dir="ltr">On Tue, Dec 6, 2016 at 3:51 PM Adam Goode <<a href="mailto:agoode@google.com" target="_blank">agoode@google.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><div class="gmail_extra m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><div class="gmail_quote m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">On Mon, Dec 5, 2016 at 11:11 AM, Mike Blumenkrantz <span dir="ltr" class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><<a href="mailto:michael.blumenkrantz@gmail.com" class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg" target="_blank">michael.blumenkrantz@gmail.co<wbr>m</a>></span> wrote:<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><blockquote class="gmail_quote m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">To echo Jonas's comments, I'm also strongly opposed to adding window stacking manipulation to the xdg-shell protocol. It's already a mess handling windows which try to raise/focus themselves in X11, this is not an issue I want to handle under Wayland.<div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">EFL also has functionality in the toolkit for this on client-side, but it does nothing on Wayland and we discourage its use under X11.</div></div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-HOEnZb m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-h5 m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><div class="gmail_quote m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><div dir="ltr" class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">On Fri, Dec 2, 2016 at 11:25 AM Adam Goode <<a href="mailto:agoode@google.com" class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg" target="_blank">agoode@google.com</a>> wrote:<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div><blockquote class="gmail_quote m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><div class="gmail_extra m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><div class="gmail_quote m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">On Fri, Dec 2, 2016 at 1:29 AM, Jonas Ådahl <span dir="ltr" class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><<a href="mailto:jadahl@gmail.com" class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg" target="_blank">jadahl@gmail.com</a>></span> wrote:<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><blockquote class="gmail_quote m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037m_2977208809889516214m_-7235950203492781179gmail-HOEnZb m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037m_2977208809889516214m_-7235950203492781179gmail-h5 m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">On Thu, Dec 01, 2016 at 09:28:11AM -0500, Adam Goode wrote:<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> On Thu, Dec 1, 2016 at 12:56 AM, Jonas Ådahl <<a href="mailto:jadahl@gmail.com" class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg" target="_blank">jadahl@gmail.com</a>> wrote:<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > On Wed, Nov 30, 2016 at 12:04:33PM -0500, Adam Goode wrote:<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > > Hi,<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > ><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > > See <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1349225" rel="noreferrer" class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg" target="_blank">https://bugzilla.redhat.com/sh<wbr>ow_bug.cgi?id=1349225</a> and<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > > <a href="https://bugzilla.gnome.org/show_bug.cgi?id=767967" rel="noreferrer" class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg" target="_blank">https://bugzilla.gnome.org/sho<wbr>w_bug.cgi?id=767967</a><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > ><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > > When using Client Side Decorations, toolkits cannot bind raise or lower<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > to<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > > user actions. This binding is traditionally used in the "middle click<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > > titlebar to lower" action, which no longer works with CSD on Wayland.<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > > Additionally, when click-to-raise is disabled, a click on a CSD titlebar<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > > will not raise the window.<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > ><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > > I would like to add 'raise' and 'lower' to xdg-shell. These requests will<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > > take no arguments, similarly to 'set_maximized' (which is commonly bound<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > to<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > > double-click titlebar).<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> ><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > A client should not be able to raise itself on demand like that. Usually<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > when raising, what they actually wanted to do is get attention because<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > something happened, and that is what an API is supposed to do. I think<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > the last time this was discussed it was referred to as "present" or<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > something. GTK+ have a private protocol for this until we have something<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > else.<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> ><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > Regarding 'lower', any reason why this cannot be made a compositor side<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > modifier->middle-click kind of thing? It'd work on the whole window and<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > it'd work on all clients without any need for any protocol. There has<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > also been discussions about having a protocol for specifying a "window<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > title area" kind of thing, which the compositor can handle with special<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > care would so be needed.<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> ><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> ><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> The compositor side modifier->middle-click does work this way in mutter<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> today. Having support for bare clicks with special meaning in certain<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> regions is the more subtle case. What this means today is that if you<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> configure your compositor with no-raise-on-click (for the traditional X<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> behavior), then windows with CSD don't get raised when decorations are<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> clicked (unless you hold a modifier key).<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> The idea of having a special title-bar area known to the compositor seems<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> worth pursuing, but that could be abused by clients. CSD blended the lines<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> between client and compositor roles, and X was happy to be permissive with<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> that situation. I'm glad Wayland is non-permissive by default, but it does<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> make things tricky.<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
</div></div>Right, and since the lines are now comparably blurry, I think it makes<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
sense to move away from clients doing window management when we have the<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
chance. Personally I'd vote for getting rid of the<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
"middle-click-on-title-lowers" binding in mutter X11 SSD paths rather<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
than adding it to GTK+.<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
<span class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037m_2977208809889516214m_-7235950203492781179gmail- m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></span></blockquote><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div></div></div></div><div dir="ltr" class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><div class="gmail_extra m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><div class="gmail_quote m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">Unfortunately, it is in GTK+ for a while now. We have duplication between Mutter and GTK+, CSD required GTK+ to directly implement these features. Example: <a href="https://github.com/GNOME/gtk/blob/master/gtk/gtkwindow.c#L1372" class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg" target="_blank">https://github.com/GN<wbr>OME/gtk/blob/master/gtk/gtkwin<wbr>dow.c#L1372</a></div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">This duplication is unfortunate. Hopefully it could be resolved someday.</div></div></div></div><div dir="ltr" class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><div class="gmail_extra m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><div class="gmail_quote m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"> </div><blockquote class="gmail_quote m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037m_2977208809889516214m_-7235950203492781179gmail- m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> I would really like to avoid having direct ways for a client to<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > interfere with the window stacking, and especially not ones that require<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > round trips.<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> ><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> ><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> As an alternative, what do you think of a raise/lower protocol that<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> required evidence of a click to trigger? The client could decide on its own<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> which buttons did what on which region of its surface (necessary for CSD),<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> but prove to the compositor that a click of some kind actually occurred.<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
</span>There is still no reason why a client needs to have the ability to raise<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
itself when it can communicate what it actually wanted. IIRC the<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
"present" proposal used input event serials (i.e. allowed the compositor<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
to match against a click/touch/...) at its discretion.<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
<span class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037m_2977208809889516214m_-7235950203492781179gmail-HOEnZb m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><font color="#888888" class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></font></span></blockquote><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div></div></div></div><div dir="ltr" class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><div class="gmail_extra m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><div class="gmail_quote m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">I will have to look at the "present" proposal. Thanks for your comments.</div></div></div></div><div dir="ltr" class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><div class="gmail_extra m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><div class="gmail_quote m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"> </div><blockquote class="gmail_quote m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037m_2977208809889516214m_-7235950203492781179gmail-HOEnZb m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><font color="#888888" class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
Jonas<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
</font></span><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037m_2977208809889516214m_-7235950203492781179gmail-HOEnZb m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037m_2977208809889516214m_-7235950203492781179gmail-h5 m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > ><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > > Is there any objection to adding these to xdg-shell, or should I<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > > investigate another solution?<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > ><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> ><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > xdg-shell is in a state where I don't think we should add anything that<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > is not very crucial until we have managed to declare it stable. A thing<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > like lower/raise, which has been discussed plenty of times and is on the<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > more controversial side, should not delay any stabilization of<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > xdg-shell. With that said, things can be added as separate extensions in<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > the mean time.<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> ><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> ><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > Jonas<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> ><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > ><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > ><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > > Thanks,<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > ><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > > Adam<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> ><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > > ______________________________<wbr>_________________<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > > wayland-devel mailing list<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > > <a href="mailto:wayland-devel@lists.freedesktop.org" class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg" target="_blank">wayland-devel@lists.freedeskto<wbr>p.org</a><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> > > <a href="https://lists.freedesktop.org/mailman/listinfo/wayland-devel" rel="noreferrer" class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/wayland-devel</a><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> ><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
> ><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
</div></div></blockquote></div></div></div>
______________________________<wbr>_________________<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
wayland-devel mailing list<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
<a href="mailto:wayland-devel@lists.freedesktop.org" class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg" target="_blank">wayland-devel@lists.freedeskto<wbr>p.org</a><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">
<a href="https://lists.freedesktop.org/mailman/listinfo/wayland-devel" rel="noreferrer" class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049m_-8255246815480350625m_-4382002778021863950gmail-m_4670394925313176037gmail_msg m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/wayland-devel</a></blockquote></div></div></div></blockquote><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div></div></div></div><div dir="ltr" class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><div class="gmail_extra m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><div class="gmail_quote m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">So I looked a bit at the present proposal from some time ago. It is not exactly what I had in mind, but not too far off.</div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">Let me try to summarize what the state is here and possible future outcomes. Please correct me if I get any details wrong.</div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">Here are my current assumptions/observations:</div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">A1. Client-side decoration (CSD) is here to stay. At least GTK+ and Chrome use this to put widgets into the titlebar area. I assume Qt and EFL (and others) do this as well, but I haven't looked in detail.</div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">A2. CSD is used to create non-rectangular areas within titlebars that respond to user action. (Chrome tabs are not rectangular, and the titlebar sits behind them.)</div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">A3. Users should be able to bind 'raise' and 'lower' to mouse events in window titlebars.</div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">A4. Wayland developers would prefer to have all window manipulation events (maximize, move, resize, raise, lower) be exclusively in control of the compositor, preferably with no round trip to clients.</div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">A5. Wayland developers are very concerned about clients abusing raise and lower.</div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">One way to fulfill A4/A5 would be to do away with CSD, but A1 doesn't let us. So, as a compromise, we get these requests in xdg-shell:</div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">- show_window_menu</div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">- move</div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">- resize</div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">- set_maximized</div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">- set_minimized</div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">These requests allow the compositor to trust clients in requesting certain actions. But because of A5, raise and lower are not a part of xdg-shell. This is in conflict with A3.</div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">Some quick (but not great) ways forward:<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">- Eliminate A1. Unlikely to happen. But then we could switch to giving full control back to the compositor and allow raise/lower to just work as it used to before CSD.</div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">- Eliminate A3. This is the simplest option, but the least satisfying from my perspective. I'll assume we're going to keep this requirement, since GNOME has supported this for a very long time.<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">- (I am not going to propose relaxing A4 or A5 here.)<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">Assuming a non-trivial solution, the way forward is to continue to build a protocol to simulate more of non-CSD behavior in a CSD world. xdg-shell covers a lot of this. It mostly comes down to how much the compositor is willing to trust clients. Here is my understanding of this currently:</div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">examples where the compositor mostly trusts clients:</div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">- set_maximized</div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">- set_minimized</div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">- close</div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">- set_fullscreen</div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">- configure</div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">These can be initiated by clients without any user interaction. The compositor has no way to know if a user triggered these actions, nor does it care. It can always apply some policy before acting.<br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">examples where the compositor asks for some verification:</div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">- show_window_menu</div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">- move</div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">- resize</div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">In these cases, the compositor requires a serial and other info to enforce that a user actually clicked or touched, to avoid abuse of grabbing.</div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">Now we are at raise and lower. By A5 above, these are sensitive requests and should have scrutiny. How sensitive? If they are no more sensitive than a grab, we could use the same precautions as move and resize and require the compositor to supply a valid serial and other information to the compositor to verify a user's intent. If this is acceptable, I can prepare some proposals that include serial and seat.</div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">If raise and lower are even more sensitive than move and resize (or if it is not desired to do it this way), then clients could tell the compositor the set of pixels that comprise each part of the CSD, and let the compositor have full control. This would allow us to avoid round trips for even move and resize, but (because of A2 above) might require a something like another surface to be sent to the compositor whenever the client changes in such a way that changes which pixels belong to the title bar. There is probably some way to do this more cleverly, but something like a bitmask would be needed.</div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">That summarizes my thoughts here. Hopefully I've captured most of the issues involved. Thanks for reading this far, comments welcome.</div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">Thanks,</div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg">Adam</div><div class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"><br class="m_3316501592360742822gmail-m_-9014966502108578154m_-7942440383126931049gmail_msg"></div></div></div></div>
</blockquote></div></div></div></div></div>
</blockquote></div><br></div></div>