1. 16 Jul, 2020 1 commit
  2. 15 Jul, 2020 1 commit
  3. 29 Apr, 2020 1 commit
  4. 19 Mar, 2020 1 commit
    • Vlad Zahorodnii's avatar
      Pass a dedicated fd to each keyboard for the xkb keymap · 6bfa71d8
      Vlad Zahorodnii authored
      Summary:
      To better isolate the clients from each other eachh KeyboardInterface
      creates it's own dedicated temporary file and sends the fd for this
      temporary file to the client. This means the memory for the keymap is no
      longer shared between all clients, every client has an own copy.
      
      To support this the existing API to set the keymap is deprecated and
      replaced by a new method setKeymapData which takes the content of the
      keymap as a byte array. The now deprecated method which takes a file
      descriptor is changed to use the new setKeymapData method. For that it
      reads the content of the file.
      
      The implementation in KeyboardInterface to create the file descriptor is
      based on the implementation of KWin. As I implemented the change in KWin
      (see 3b4c508ee36ac74c37e77fcaa14d106397ad2994) it is not a problem from
      GPL vs LGPL perspective.
      
      The change includes test cases to verify that the content of the keymap
      is properly passed to the client and that the memory is no longer shared.
      
      BUG: 381674
      
      Reviewers: #kwin, #frameworks, davidedmundson, zzag
      
      Reviewed By: #kwin, zzag
      
      Subscribers: plasma-devel, kde-frameworks-devel
      
      Tags: #frameworks
      
      Differential Revision: https://phabricator.kde.org/D14910
      6bfa71d8
  5. 16 Mar, 2020 1 commit
  6. 23 Jan, 2020 1 commit
  7. 14 Sep, 2019 1 commit
  8. 16 Jul, 2017 1 commit
    • Martin Flöser's avatar
      [server] Send keyboard leave when client destroys the focused surface · 98e5d269
      Martin Flöser authored
      Summary:
      This is a change inspired by https://bugreports.qt.io/browse/QTBUG-61930.
      When Qt closes a window due to a key press event it starts to repeat the
      event as KWayland does not send a keyboard leave event. Weston on the
      other hand does send out the keyboard leave. In my opinion it doesn't
      make much sense to send out the keyboard leave in this situation and in
      my opinion that is a client bug, but if it makes clients happy we can
      send them the keyboard leave. Similar this should be done for pointer,
      touch, etc.
      
      BUG: 382280
      
      Test Plan: Run the example added to the Qt bug and it worked fine
      
      Reviewers: #frameworks, #plasma
      
      Subscribers: plasma-devel
      
      Tags: #plasma_on_wayland, #frameworks
      
      Differential Revision: https://phabricator.kde.org/D6683
      98e5d269
  9. 28 Jun, 2016 2 commits
  10. 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
  11. 07 Apr, 2016 1 commit
    • Martin Flöser's avatar
      [server] Pass keyboard focus to child surface on pointer click · 55f3a295
      Martin Flöser authored
      If the focused pointer and keyboard surface is the same we use pointer
      clicks as a hint to which child surface should have keyboard focus.
      
      Keyboard focus handling for sub surfaces is rather limited overall.
      We just don't have a good model on how to determine which child surface
      should get the keyboard focus. When passing focus to a surface there
      is no way to know which of the sub-surfaces should get the focus.
      Ideally the client should handle this, but that's just not the case.
      
      The best we have is a reference through the pointer. But that's of
      course also limited. Keyboard focus passed to the surface for another
      reason (Alt+Tab) cannot select the proper sub-surface without interaction
      from another input device.
      
      Reviewers: #plasma
      
      Subscribers: plasma-devel
      
      Projects: #plasma
      
      Differential Revision: https://phabricator.kde.org/D1330
      55f3a295
  12. 06 Apr, 2016 1 commit
  13. 09 Sep, 2015 1 commit
    • Martin Flöser's avatar
      Fix doxygen generation · 502e1c5d
      Martin Flöser authored
      Doxygen doesn't like our callback listener at all. We need to hide
      it from doxygen, otherwise docu doesn't get generated.
      502e1c5d
  14. 02 Sep, 2015 2 commits
  15. 26 May, 2015 1 commit
  16. 21 Apr, 2015 1 commit
    • Martin Flöser's avatar
      [server] Better split flushing events and dispatch events · 9c65ef76
      Martin Flöser authored
      Running real world applications (Xwayland) showed that it doesn't like
      at all that we do a dispatch when we are going to flush. This caused
      in a very reliable manner a "Connection closed" error in XWayland, taking
      down the client and in return the (xwayland-enabled) server.
      9c65ef76
  17. 12 Dec, 2014 1 commit
  18. 26 Nov, 2014 3 commits
  19. 25 Nov, 2014 2 commits