1. 18 Jan, 2017 1 commit
    • Pekka Paalanen's avatar
      libweston-desktop: add set_xwayland_position API · 37111e15
      Pekka Paalanen authored
      X11 applications expect -geometry command line option to work for
      setting the initial window position, but currently this does not work.
      
      Add provision to relay the initial position through libweston-desktop:
      - weston_desktop_api gains a new entry set_xwayland_position
      - implement set_toplevel_with_position() in xwayland internal interface
      
      Once xwayland plugin starts calling set_toplevel_with_position(),
      libweston-desktop can relay that information to a shell if the shell
      wants to hear it.
      
      If a shell does not implement the set_xwayland_position hook, the
      old behaviour remains: the shell positions xwayland toplevels like any
      other.
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      Reviewed-by: Quentin Glidic's avatarQuentin Glidic <sardemff7+git@sardemff7.net>
      Reviewed-by: Daniel Stone's avatarDaniel Stone <daniels@collabora.com>
      37111e15
  2. 30 Aug, 2016 2 commits
  3. 15 Aug, 2016 1 commit
  4. 14 Aug, 2016 1 commit
    • Quentin Glidic's avatar
      Introduce libweston-desktop · 248dd109
      Quentin 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: Quentin Glidic's avatarQuentin Glidic <sardemff7+git@sardemff7.net>
      Reviewed-by: Jonas Ådahl's avatarJonas Ådahl <jadahl@gmail.com>
      Acked-by: default avatarGiulio Camuffo <giulio.camuffo@kdab.com>
      
      Differential Revision: https://phabricator.freedesktop.org/D1207
      248dd109