1. 15 Jul, 2020 1 commit
  2. 08 Jul, 2020 1 commit
    • Vlad Zahorodnii's avatar
      Allow creating global objects before Display is started · 1569acb4
      Vlad Zahorodnii authored and Vlad Zahorodnii's avatar Vlad Zahorodnii committed
      It can be especially useful if the compositor wants to ensure that all
      globals have been created before starting to accept client connections.
      
      Unfortunately, start() and terminate() stuff doesn't align well with it,
      so the terminate() method was dropped to ensure that Display always
      returns the same wl_display object.
      1569acb4
  3. 19 Jun, 2020 1 commit
    • Vlad Zahorodnii's avatar
      Introduce surface-to-buffer and buffer-to-surface matrices · 4d210a94
      Vlad Zahorodnii authored and Vlad Zahorodnii's avatar Vlad Zahorodnii committed
      The compositor needs to monitor changes in the mapping between the
      surface local coordinates and the buffer coordinates because texture
      coordinates correspond to the latter. One way to do it is to monitor
      things such as the surface size, the buffer size, the buffer scale,
      etc. The main problem with doing so is that there are so many factors
      that contribute to how mapping between the surface local coordinate
      space and the buffer coordinate space is performed.
      
      In order to provide a generic way for monitoring changes in the mapping
      between the surface local coordinate space and the buffer coordinate
      space, this patch introduces two new matrices. The first one specifies
      how the surface-local coordinates are mapped to buffer coordinates, and
      the other one specifies how to map the buffer coordinates to surface
      local coordinates.
      
      With the new two matrices, the compositor has a generic way to get
      notified when it has to re-compute texture coordinates.
      4d210a94
  4. 02 Jun, 2020 1 commit
    • Vlad Zahorodnii's avatar
      Add support for the wp_viewporter protocol · b9381012
      Vlad Zahorodnii authored
      The wp_viewporter compositor extension allows clients to crop and scale
      their surface. It can be useful for applications such as video players
      because it may potentially reduce their power usage.
      b9381012
  5. 29 May, 2020 2 commits
  6. 28 May, 2020 1 commit
  7. 26 May, 2020 1 commit
    • David Edmundson's avatar
      Add DataControl iface · d8b553e7
      David Edmundson authored
      Summary:
      This patch makes use of wlroot's DataControl interface to support
      clipboard management.
      
      Unlike wl_data_device clipboards are sent on every change to all
      watchers.
      If the data device has a selection set it updates immediately.
      
      Because it was started a year ago it uses the existing style of
      wrapping objects. The unit test uses the new approach.
      
      Test Plan:
      Updated kwin
      used wlroot's wl-copy, wl-paste which are xclip replacements to
      show that the clipboard updated correctly
      
      Reviewers: #kwin
      
      Differential Revision: https://phabricator.kde.org/D29330
      d8b553e7
  8. 18 May, 2020 1 commit
  9. 29 Apr, 2020 2 commits
  10. 19 Mar, 2020 1 commit
  11. 16 Mar, 2020 1 commit
  12. 25 Jan, 2019 1 commit
    • Fabian Vogt's avatar
      Add option to use wl_display_add_socket_auto · d671fcd0
      Fabian Vogt authored
      Summary:
      If automaticSocketNaming is enabled, it will use wl_display_add_socket_auto
      to allocate the next free socket. The resulting name can be retrieved using
      socketName after a successful start afterwards.
      
      Test Plan: Ran the new autotest, passes. kwin_wayland still uses the old behaviour.
      
      Reviewers: #kwin, #plasma, romangg
      
      Reviewed By: #kwin, #plasma, romangg
      
      Subscribers: davidedmundson, zzag, romangg, kde-frameworks-devel
      
      Tags: #frameworks
      
      Differential Revision: https://phabricator.kde.org/D17122
      d671fcd0
  13. 06 Nov, 2018 1 commit
  14. 04 Jul, 2018 1 commit
    • Bhushan Shah's avatar
      Fix some of cppcheck warnings · 84bc3cbd
      Bhushan Shah authored
      Summary:
      - selfInitialization
      - memleak
      
      I could probably suppress the selfInitialization warning, but probably
      is cleaner this way. Opinions welcome. This also fixes the memleak in
      autotest.
      
      Test Plan:
      - arc lint --everything
      - Fix issues
      - build
      - run tests
      
      Reviewers: #frameworks, aacid
      
      Reviewed By: aacid
      
      Subscribers: apol, aacid, kde-frameworks-devel
      
      Tags: #frameworks
      
      Differential Revision: https://phabricator.kde.org/D13559
      84bc3cbd
  15. 29 Jul, 2017 2 commits
  16. 01 Jul, 2017 1 commit
  17. 02 Jun, 2017 2 commits
  18. 11 Oct, 2016 1 commit
    • Martin Flöser's avatar
      [server] Use deleteLater when a ClientConnection gets destroyed · c0aa3a4a
      Martin Flöser authored
      Summary:
      In the situation that a wl_client gets destroyed while still
      wl_resources are around it can happen that one of them calls into the
      ClientConnection during the cleanup handling which gets triggered at the
      same time. This can then trigger a crash.
      
      This change uses deleteLater for the ClientConnection and sets the hold
      wl_client pointer to null instead of deleting directly. So the
      ClientConnection is still around while the Resources gets cleaned up.
      This is similar to the cleanup of Resource where on unbind the
      wl_resource pointer is set to null and the Resource gets delete later.
      
      BUG: 370232
      FIXED-IN: 5.28
      
      Reviewers: #plasma, bshah
      
      Subscribers: plasma-devel
      
      Tags: #plasma_on_wayland
      
      Differential Revision: https://phabricator.kde.org/D3004
      c0aa3a4a
  19. 13 Jul, 2016 1 commit
    • Martin Flöser's avatar
      [server] Handle no XDG_RUNTIME_DIR situation more gracefully · 9033c364
      Martin Flöser authored
      Summary:
      Even if the XDG_RUNTIME_DIR is not set, KWayland should not crash
      if methods are invoked which only make sense after the server was
      started successfully. This was not yet the case for
      Display::dispatchEvents.
      
      Also the wl_display was not destroyed in the situation that creating
      the socket failed.
      
      Test Plan:
      Test case added which simulates the situation of no
      XDG_RUNTIME_DIR being set.
      
      Reviewers: #plasma_on_wayland
      
      Subscribers: plasma-devel
      
      Tags: #plasma_on_wayland
      
      Differential Revision: https://phabricator.kde.org/D2077
      9033c364
  20. 19 May, 2016 1 commit
    • Martin Flöser's avatar
      [server] Improve the handling when clients disconnect · fd01e59a
      Martin Flöser authored
      Summary:
      So far the server component performed manual cleanup in some cases
      when a client disconnects. But this is not needed: the Wayland library
      calls the static unbind methods which do cleanup. If we cleanup ourselves
      this can result in double deletes in the worst case, so let's only use
      the Wayland functionality.
      
      Adjusted:
      * RegionInterface
      * SurfaceInterface
      * ShellSurfaceInterface (doesn't take a parent anymore)
      * DpmsInterface
      * QtSurfaceExtensionInterface
      * KeyboardInterface
      * PointerInterface
      * TouchInterface
      * DataOfferInterface
      * PlasmaShellSurfaceInterface
      
      For each adjusted case a test case is added to verify that the cleanup
      works. Exceptions are DpmsInterface as the actual Resource is not exposed
      at all in the Server component and DataOfferInterface as that is server
      side created.
      
      Reviewers: #plasma
      
      Subscribers: plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D1640
      fd01e59a
  21. 13 Apr, 2016 1 commit
  22. 25 Jan, 2016 1 commit
  23. 15 Dec, 2015 1 commit
  24. 10 Nov, 2015 1 commit
    • Martin Flöser's avatar
      [server] Add a convenient ClientConnection::destroy · a59a8fc8
      Martin Flöser authored
      Wrapper around wl_client_destroy. In case the ClientConnection got
      created through Display::createClient we need to destroy the
      ClientConnection again. The exiting client will not cause it to be
      destroyed.
      
      Reviewed-By: Bhushan Shah
      a59a8fc8
  25. 04 Nov, 2015 1 commit
  26. 02 Sep, 2015 1 commit
    • Martin Flöser's avatar
      Implement repeat info on wl_keyboard protocol · 48326670
      Martin Flöser authored
      * Raises wl_seat supported version to 4 in both server and client
      * Raises wl_keyboard supported version to 4 in wl_keyboard
      * wl_pointer and wl_touch are still on version 3
      * Raises minimum Wayland version to 1.6
      48326670
  27. 27 Nov, 2014 2 commits
  28. 26 Nov, 2014 2 commits
    • Martin Flöser's avatar
      Move pointer button handling from PointerInterface to SeatInterface · 417e020f
      Martin Flöser authored
      The button state is a seat-global state and not a per pointer state.
      All pressed/released and axis events are moved to the SeatInterface
      and just invoke the related method on the focused surface pointer.
      417e020f
    • Martin Flöser's avatar
      Create one PointerInterface for each pointer wl_resource · d8118bde
      Martin Flöser authored
      Makes PointerInterface more like other Interface classes wrapping
      wl_resource. The most important change is the handling of the
      focused surface. This is now kept in the SeatInterface and can also
      be set if there is no PointerInterface for the client yet.
      
      The unit tests had to be adjusted and some are also disabled as the
      button events are not yet moved into SeatInterface.
      d8118bde
  29. 25 Nov, 2014 3 commits
  30. 17 Nov, 2014 3 commits