Protocol extensions using libweston core functions

Pekka Paalanen ppaalanen at
Mon May 20 08:08:28 UTC 2019

On Mon, 20 May 2019 07:22:10 +0100
adlo <adloconwy at> wrote:

> I wrote a compositor with a window switcher protocol. The core
> libweston-desktop function implementations such as surface_added are
> in shell.c, while the window switcher code is in window-switcher.c.
> When a new window is opened (a new surface is added), the window
> switcher will need to be updated with information about this new
> window. However, the surface_added function in shell.c doesn't know
> about the window switcher protocol.
> What is the best way to connect these two parts of the code?


a window switcher would be an integral part of Weston's desktop-shell
plugin, that is, the code in desktop-shell/ directory. You cannot
expect an arbitrary other plugin to really cooperate or replace
functionality without also modifying the desktop-shell plugin. That is
just not in the code architecture.

This has nothing to do with protocol either, it's just API between
libweston, libweston-desktop, and their users (Weston, including the
desktop-shell plugin).

If you want to modify the desktop-shell plugin code and are not looking
to upstream it, you can fork Weston or just the desktop-shell plugin.
If you are writing your own compositor based on libweston and
libweston-desktop, then you need your own replacement for the
desktop-shell plugin and client functionality in any case.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <>

More information about the wayland-devel mailing list