<div dir="ltr"><div class="gmail_extra"><div>Hi,</div><div><br></div><div>> <a href="mailto:michael.blumenkrantz@gmail.com">michael.blumenkrantz@gmail.com</a> wrote:</div><div>> </div><div>> [...]</div><div>> </div><div>> To echo Jonas's comments, I'm also strongly opposed to adding window stacking</div><div>> manipulation to the xdg-shell protocol. It's already a mess handling windows</div><div>> which try to raise/focus themselves in X11, this is not an issue I want to</div><div>> handle under Wayland.</div><div><br></div><div><br></div><div><div>> <a href="mailto:agoode@google.com">agoode@google.com</a> wrote:</div></div><div>> [...]<br></div><div>> </div><div>> Unfortunately, it is in GTK+ for a while now. We have duplication between</div><div>> Mutter and GTK+, CSD required GTK+ to directly implement these features.</div><div>> Example: <a href="https://github.com/GNOME/gtk/blob/master/gtk/gtkwindow.c#L1372">https://github.com/GNOME/gtk/blob/master/gtk/gtkwindow.c#L1372</a></div><div>> </div><div>> This duplication is unfortunate. Hopefully it could be resolved someday.</div><div><br></div><div><br></div><div><div>> <a href="mailto:agoode@google.com">agoode@google.com</a> wrote:</div></div><div>> [...]<br></div><div>> </div><div>> Let me try to summarize what the state is here and possible future outcomes.</div><div>> Please correct me if I get any details wrong.</div><div>> </div><div>> Here are my current assumptions/observations:</div><div>> A1. Client-side decoration (CSD) is here to stay. At least GTK+ and Chrome</div><div>> use this to put widgets into the titlebar area. I assume Qt and EFL (and</div><div>> others) do this as well, but I haven't looked in detail.</div><div>> A2. CSD is used to create non-rectangular areas within titlebars that respond</div><div>> to user action. (Chrome tabs are not rectangular, and the titlebar sits</div><div>> behind them.)</div><div>> A3. Users should be able to bind 'raise' and 'lower' to mouse events in</div><div>> window titlebars.</div><div>> A4. Wayland developers would prefer to have all window manipulation events</div><div>> (maximize, move, resize, raise, lower) be exclusively in control of the</div><div>> compositor, preferably with no round trip to clients.</div><div>> A5. Wayland developers are very concerned about clients abusing raise and</div><div>> lower.</div><div>> </div><div>> [...]</div><div>> </div><div>> These requests allow the compositor to trust clients in requesting certain</div><div>> actions. But because of A5, raise and lower are not a part of xdg-shell.</div><div>> This is in conflict with A3.</div><div><br></div><div>Just a remark, the protocol doesn't have necessarily to be in xdg-shell, if this is between gtk+ and gnome-shell/mutter, then it could fit in gtk-shell if you manage to convince GNOME devs...</div><div><br></div><div>Maybe it's not a good idea for gtk-shell either, dunno, but you may want to try.</div><div><br></div><div>Cheers,</div><div>Olivier</div></div></div>