1. 06 Feb, 2019 1 commit
    • Pekka Paalanen's avatar
      desktop-shell: use weston_compositor_exit · 052032d7
      Pekka Paalanen authored
      Use the proper weston_compositor_exit API instead of wl_display_terminate() to
      allow the compositor main to prepare for exit, and most importantly to set the
      exit error code as appropriate.
      
      I have some brokenness in my test suite running, and weston-desktop-shell was
      crashing at start, yet the tests did not notice. With this patch, the tests
      where the helper crashes are properly marked as failed.
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.com>
      052032d7
  2. 31 Jan, 2019 1 commit
  3. 18 Dec, 2018 1 commit
  4. 09 Dec, 2018 1 commit
    • Daniel Stone's avatar
      Add Meson build system · 8011b0fa
      Daniel Stone authored
      Meson is a build system, currently implemented in Python, with multiple
      output backends, including Ninja and Make. The build file syntax is
      clean and easy to read unlike autotools. In practise, configuring and
      building with Meson and Ninja has been observed to be much faster than
      with autotools. Also cross-building support is excellent.
      
      More information at http://mesonbuild.com
      
      Since moving to Meson requires some changes from users in any case, we
      took this opportunity to revamp build options. Most of the build options
      still exist, some have changed names or more, and a few have been
      dropped. The option to choose the Cairo flavour is not implemented since
      for the longest time the Cairo image backend has been the only
      recommended one.
      
      This Meson build should be fully functional and it installs everything
      an all-enabled autotools build does. Installed pkg-config files have
      some minor differences that should be insignificant. Building of some
      developer documentation that was never installed with autotools is
      missing.
      
      It is expected that the autotools build system will be removed soon
      after the next Weston release.
      Signed-off-by: Daniel Stone's avatarDaniel Stone <daniels@collabora.com>
      Co-authored-by: Pekka Paalanen's avatarPekka Paalanen <pq@iki.fi>
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pq@iki.fi>
      8011b0fa
  5. 08 Aug, 2018 1 commit
  6. 09 Jul, 2018 1 commit
    • Daniel Stone's avatar
      helpers: Move static_assert definition to shared · 11f91bbd
      Daniel Stone authored
      Collect the fallback definitions of static_assert() from desktop-shell
      and the test shell, and move them to helpers.h. This allows code
      throughout the tree to use static_assert() for build-time assertions,
      where it is supported by the compiler.
      
      As GCC goes out of its way to only add static_assert() when C11 has been
      explicitly requested - which we don't do - make sure to use the more
      widely available _Static_assert() if that is provided.
      
      This will be used in future patches to ensure two array lengths don't go
      out of sync.
      Signed-off-by: Daniel Stone's avatarDaniel Stone <daniels@collabora.com>
      Reviewed-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      11f91bbd
  7. 20 Jun, 2018 1 commit
    • Daniel Stone's avatar
      tests: Don't rely on build directory layout · e03c111e
      Daniel Stone authored
      Rather than having a hardcoded dependency on the build-directory layout,
      use an explicit module-map environment variable, which rewrites requests
      for modules and helper/libexec binaries to specific paths.
      
      Pekka: This will help with migration to Meson where setting up the paths
      according to autotools would be painful and unnecessary.
      
      Emre: This should also help setting up the test suite after a
      cross-compile.
      
      Pekka: A caveat here is that this patch makes it slightly easier to load
      external backends by abusing the module map. External backends are
      specifically not supported in libweston.
      Signed-off-by: Daniel Stone's avatarDaniel Stone <daniels@collabora.com>
      
      v2:
      
      Fixed ivi_layout-test-plugin.c:wet_module_init().
      Do not change the lookup name of ivi-layout.ivi.
      
      Improved documentation of weston_module_path_from_env() and made it cope
      with map strings that a) do not end with a semicolon, and b) have
      multiple consecutive semicolons.
      
      Let WESTON_MODULE_MAP be printed into the test log so that it is easier
      to run tests manually.
      Reviewed-by: Daniel Stone's avatarDaniel Stone <daniels@collabora.com>
      Reviewed-by: eucan's avatarEmre Ucan <eucan@de.adit-jv.com>
      
      Suggested by Emil: Use a variable for strlen(name).
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      Reviewed-by: default avatarEmil Velikov <emil.velikov@collabora.com>
      e03c111e
  8. 24 May, 2018 4 commits
  9. 22 May, 2018 1 commit
  10. 21 May, 2018 1 commit
  11. 18 May, 2018 1 commit
  12. 10 Apr, 2018 1 commit
  13. 14 Feb, 2018 1 commit
  14. 12 Feb, 2018 2 commits
    • Pekka Paalanen's avatar
      desktop-shell: handle redundant panels · 1a0239e4
      Pekka Paalanen authored
      If for some reason the helper client weston-desktop-shell would create
      more than one panel surface for the same weston_output, this code would
      corrupt the surface destroy listener list by adding a link already in
      one list into another list.
      
      Instead, do not store the new, redundant panel surface and do not
      subscribe to its destruction. Also, tell the helper that the surface is
      redundant by configuring it with a 0x0 size, so that we don't waste
      memory on a panel that is never used.
      
      (Clone mode is a valid reason why weston-desktop-shell could do that.)
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      Reviewed-by: Daniel Stone's avatarDaniel Stone <daniels@collabora.com>
      1a0239e4
    • Pekka Paalanen's avatar
      desktop-shell: handle redundant backgrounds · ff5e88d2
      Pekka Paalanen authored
      If for some reason the helper client weston-desktop-shell would create
      more than one background surface for the same weston_output, this code
      would corrupt the surface destroy listener list by adding a link already
      in one list into another list.
      
      Instead, do not store the new, redundant background surface and do not
      subscribe to its destruction. Also, tell the helper that the surface is
      redundant by configuring it with a 0x0 size, so that we don't waste
      memory on a background that is never used.
      
      (Clone mode is a valid reason why weston-desktop-shell could do that.)
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      Reviewed-by: Daniel Stone's avatarDaniel Stone <daniels@collabora.com>
      ff5e88d2
  15. 09 Feb, 2018 1 commit
  16. 31 Jan, 2018 1 commit
  17. 04 Dec, 2017 2 commits
  18. 27 Nov, 2017 9 commits
  19. 18 Sep, 2017 2 commits
  20. 28 Jul, 2017 1 commit
  21. 26 Jul, 2017 1 commit
  22. 25 Jul, 2017 1 commit
  23. 21 Apr, 2017 1 commit
    • Bryce Harrington's avatar
      desktop-shell: Enable per-output fade animations · 9ad4de1f
      Bryce Harrington authored
      Instead of creating a single global fade surface across all outputs,
      create a separate surface for each output.  This will permit
      e.g. individual fades for each output (or blocking the fade-outs if
      inhibiting idling as will come in a later patch.)
      
      This also fixes a potential issue if on multihead layout spanning a
      desktop wider than 8096 (or higher than 8096), the fade animation may
      not completely cover all surfaces.
      
      This assumes the output geometry doesn't change to become larger during
      the course of the fade animation.
      Signed-off-by: default avatarBryce Harrington <bryce@osg.samsung.com>
      Reviewed-by: Quentin Glidic's avatarQuentin Glidic <sardemff7+git@sardemff7.net>
      9ad4de1f
  24. 06 Apr, 2017 1 commit
  25. 13 Mar, 2017 1 commit
  26. 18 Jan, 2017 1 commit
    • Pekka Paalanen's avatar
      shell: implement set_xwayland_position · 77a6d95a
      Pekka Paalanen authored
      Store the initial xwayland position explicitly in struct shell_surface.
      New variables are needed, because e.g. saved_x, saved_y are the view
      position, and to compute that we need the window geometry, which is not
      available before the first commit, so it's not available at
      set_xwayland_position() time.
      
      Regression: kcachegrind (Qt 4, X11), the first menu invocation will
      slightly misplace the menu if the window has not been manually moved.
      
      Problem: geometry is not taken into account due to a race between XWM
      drawing decorations and Xwayland committing the first buffer.
      
      Use the same debugging guard as XWM.
      
      v3: merged with "desktop-shell: debug set_position_from_xwayland"
      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>
      77a6d95a