[PATCH] Add the KDE server decoration protocol

Pekka Paalanen ppaalanen at gmail.com
Fri Oct 27 12:35:58 UTC 2017

On Fri, 27 Oct 2017 13:13:15 +0100
David Edmundson <david at davidedmundson.co.uk> wrote:

> The server decoration protocol negotiates between the client and server
> whether the client should default to drawing window decorations, and
> informs the compositor what the client is doing.
> This is useful not just for a compostior that is doing decorations
> itself, but much more importantly for a toolkit, such as Qt which
> primarily targets embedded and IVI applications, not to have to modify
> clients
> to add a header bar which makes them usable on a desktop compositor.
> This file is currently copied in multiple places across GTK, Sway as well
> as being needed in both Qt and KDE. We should have this in a shared
> place.


I agree with the goal, but please use git-send-email the next time:
line wrapping damage, HTML attachment.

I assume this is aiming for the wayland-protocols repository.

> ---
>  unstable/server-decoration/server-decoration.xml | 94
> ++++++++++++++++++++++++

Could you add a README to go with this, listing the protocol
maintainers? See the other protocols for examples.

You should also add this to Makefile.am so it goes through the 'make
check' tests and gets installed.

>  1 file changed, 94 insertions(+)
>  create mode 100644 unstable/server-decoration/server-decoration.xml
> diff --git a/unstable/server-decoration/server-decoration.xml
> b/unstable/server-decoration/server-decoration.xml
> new file mode 100644
> index 0000000..8bc106c
> --- /dev/null
> +++ b/unstable/server-decoration/server-decoration.xml
> @@ -0,0 +1,94 @@
> +<?xml version="1.0" encoding="UTF-8"?>
> +<protocol name="server_decoration">
> +  <copyright><![CDATA[
> +    Copyright (C) 2015 Martin Gräßlin
> +
> +    This program is free software: you can redistribute it and/or modify
> +    it under the terms of the GNU Lesser General Public License as
> published by
> +    the Free Software Foundation, either version 2.1 of the License, or
> +    (at your option) any later version.
> +
> +    This program is distributed in the hope that it will be useful,
> +    but WITHOUT ANY WARRANTY; without even the implied warranty of
> +    GNU Lesser General Public License for more details.
> +
> +    You should have received a copy of the GNU Lesser General Public
> License
> +    along with this program.  If not, see <http://www.gnu.org/licenses/>.

Would it be possible to change the license to the same as all the other
extensions in wayland-protocols use? It would avoid the need to think
what LGPL here means.

> +  ]]></copyright>
> +  <interface  name="org_kde_kwin_server_decoration_manager" version="1">

This does not follow the unstable interface naming scheme explained at

Does it mean that this protocol should be added as stable instead of

I assume you would not want to rename it now when it already has users
in several projects. That also means the protocol must be effectively
stable as it cannot be changed in backward incompatible ways. If you
have made the stability promise already, then I think we should add
this as an officially stable extension. The consequence is the same: if
incompatible changes are later needed, all interfaces and the file will
need renaming.

> +      <description summary="Server side window decoration manager">
> +        This interface allows to coordinate whether the server should
> create
> +        a server-side window decoration around a wl_surface representing a
> +        shell surface (wl_shell_surface or similar). By announcing support
> +        for this interface the server indicates that it supports server
> +        side decorations.
> +      </description>

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20171027/1113cb52/attachment.sig>

More information about the wayland-devel mailing list