248dd10965
libweston-desktop is an abstraction library for compositors wanting to support desktop-like shells. The API is designed from xdg_shell features, as it will eventually be the recommended shell for modern applications to use. In the future, adding new shell protocols support will be easier, as limited to libweston-desktop. The library versioning is the same as libweston. If one of them break ABI compatibility, the other will too. The compositor will only ever see toplevel surfaces (“windows”), with all the other being internal implementation details. Thus, popups and associated grabs are handled entirely in libweston-desktop. Xwayland special surfaces (override-redirect) are special-cased to a dedicated layer, as the compositor should not know about them. All the shell error checking is taken care of too, as well as some specification rules (e.g. sizes constraint for maximized and fullscreen surfaces). All the compositor has to do is define a few callbacks in the interface struct, and manage toplevel surfaces. Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net> Reviewed-by: Jonas Ådahl <jadahl@gmail.com> Acked-by: Giulio Camuffo <giulio.camuffo@kdab.com> Differential Revision: https://phabricator.freedesktop.org/D1207 |
||
---|---|---|
.. | ||
client.c | ||
internal.h | ||
libweston-desktop.c | ||
libweston-desktop.h | ||
libweston-desktop.pc.in | ||
seat.c | ||
surface.c | ||
wl-shell.c | ||
xdg-shell-v5.c | ||
xwayland.c |