<div dir="ltr"><div dir="ltr">Thanks Simon/Pekka,<div><br></div><div>As a toolkit developer coming from Windows/OSX this is fairly shocking.  I'm aware of the decoration protocol, but given it's not supported (and by the sound of it never will be) on some of the major distros makes it almost worthless.  </div><div><br></div><div>Seems odd to offload this responsibility to every toolkit without providing a mechanism to achieve any consistency.  Or... is this just my background in Windows/OSX where consistency in these areas is really encouraged and this just isn't expected on Linux?</div><div><br></div><div>That said, what would be the recommended way to implement this - would you typically have one surface for the decorations and an embedded sub-surface for the content area?  eg: what happens if you use a drawing library (cairo/skia whatever) for the decorations but then want to embed opengl content for example.</div><div><br></div><div>Brad</div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jun 25, 2020 at 6:25 PM Pekka Paalanen <<a href="mailto:ppaalanen@gmail.com">ppaalanen@gmail.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">On Thu, 25 Jun 2020 11:57:42 +1000<br>
Brad Robinson <<a href="mailto:brobinson@toptensoftware.com" target="_blank">brobinson@toptensoftware.com</a>> wrote:<br>
<br>
> Hey All,<br>
> <br>
> What's the current state and/or plans for window decorations with Wayland?<br>
> <br>
> I just stumbled on this post<br>
> <<a href="https://blog.martin-graesslin.com/blog/2018/01/server-side-decorations-and-wayland/" rel="noreferrer" target="_blank">https://blog.martin-graesslin.com/blog/2018/01/server-side-decorations-and-wayland/</a>>,<br>
> and after reading the comments I've got to say I'm quite shocked that<br>
> getting a window to appear on screen with title bars and decorations that<br>
> match the rest of the OS appears to be a non-trivial task.<br>
> <br>
> Am I missing something? Have things changed since that post was written?<br>
<br>
Hi,<br>
<br>
I don't think you're missing much.<br>
<br>
Without specific Wayland extensions saying otherwise, clients either<br>
decorate themselves or live without decorations. I believe the state of<br>
the art is:<br>
<a href="https://gitlab.freedesktop.org/wayland/wayland-protocols/-/tree/master/unstable/xdg-decoration" rel="noreferrer" target="_blank">https://gitlab.freedesktop.org/wayland/wayland-protocols/-/tree/master/unstable/xdg-decoration</a><br>
<br>
I wouldn't say that the fact that Wayland extensions exist for<br>
server-side decorations means that a Wayland client would be right to<br>
not implement client-side decorations. Any compositor likely does not<br>
implement all the extensions ever defined or even in wayland-protocols<br>
repository, so clients should have fallbacks. However, it is up to you<br>
as a developer to decide which fallbacks you implement and which you do<br>
not. Obviously that will affect your user experience on compositors<br>
where the fallback would be necessary but you didn't implement it.<br>
<br>
Unfortunately we don't have the wayland-protocols adoption website up<br>
yet, where you could see which compositors and toolkits support which<br>
extensions. Weston does not support the extension, but I would assume<br>
some other compositors do.<br>
<br>
There are good justifications for both client-side and server-side<br>
decorations. Which one is better depends on your goals and policies,<br>
and what you value more, which is why the question raises so much heat<br>
that few people like to talk about it much as it nearly always<br>
escalates to a flame war when more people join the discussion.<br>
<br>
For example, for some, "match the rest of the OS" is a non-goal, and<br>
making the app itself look consistent is a goal. For others, it's the<br>
opposite. Will the application always look and feel the same no matter<br>
in what environment you run it in, or should it change itself according<br>
to the environment. How do you make the user feel at home? There is a<br>
lot more to it than just decorations.<br>
<br>
<br>
Thanks,<br>
pq<br>
</blockquote></div>