Skip to content
  • Morgane Glidic's avatar
    Introduce libweston-desktop · 248dd109
    Morgane Glidic authored
    
    
    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: default avatarQuentin Glidic <sardemff7+git@sardemff7.net>
    Reviewed-by: default avatarJonas Ådahl <jadahl@gmail.com>
    Acked-by: default avatarGiulio Camuffo <giulio.camuffo@kdab.com>
    
    Differential Revision: https://phabricator.freedesktop.org/D1207
    248dd109