1. 03 Dec, 2020 1 commit
  2. 27 Nov, 2020 1 commit
  3. 19 Nov, 2020 1 commit
  4. 17 Nov, 2020 2 commits
    • Aleix Pol Gonzalez's avatar
      Notify subsurfaces about output changes · c58ea3e8
      Aleix Pol Gonzalez authored and Aleix Pol Gonzalez's avatar Aleix Pol Gonzalez committed
      Otherwise they wouldn't notice and wouldn't update to the settings of
      the new output, like the new output's scaling.
      c58ea3e8
    • David Edmundson's avatar
      Allow small timeout intervals in IdleInterface · 9cf51bb1
      David Edmundson authored
      A threshold exists to stop users flooding the server for no reason.
      
      However, there is a usecase for small timeouts.
      
      rsibreak has a "please relax for 20 seconds" interface. Here it makes
      perfect sense to know if a user is active in small increments. The plan
      is to start a 1s timer and wait for that. Then we wait locally for 20s
      without a resume event.
      9cf51bb1
  5. 16 Nov, 2020 1 commit
  6. 11 Nov, 2020 2 commits
    • Vlad Zahorodnii's avatar
      Safely end drag if the source data device gets destroyed · d70552f6
      Vlad Zahorodnii authored
      We cannot end a drag after the destroyed() signal for the source data
      device is emitted because DataDeviceInterface and its d pointer are gone
      by that time.
      d70552f6
    • Vlad Zahorodnii's avatar
      Destroy all clients before destroying wl_display · e77f9ac2
      Vlad Zahorodnii authored
      One of the most disappointing things when writing autotests is dealing
      with a race condition where destructor requests are processed after all
      globals have been destroyed.
      
      With this change, the Display object will destroy all clients and their
      resources before destroying the wl_display object. The good thing about
      doing so is that shut down logic becomes simple. We don't have to assume
      that wl_resource objects can outlive their wl_global objects, etc. The
      bad thing is that it exposed a couple of pre-existing latent bugs in the
      data device and the xdg foreign code.
      
      closes plasma/kwayland-server#2
      e77f9ac2
  7. 10 Nov, 2020 1 commit
  8. 09 Nov, 2020 1 commit
  9. 06 Nov, 2020 1 commit
  10. 05 Nov, 2020 3 commits
  11. 04 Nov, 2020 4 commits
  12. 03 Nov, 2020 3 commits
  13. 02 Nov, 2020 2 commits
  14. 31 Oct, 2020 1 commit
  15. 30 Oct, 2020 3 commits
  16. 29 Oct, 2020 2 commits
  17. 28 Oct, 2020 4 commits
  18. 26 Oct, 2020 1 commit
  19. 21 Oct, 2020 2 commits
  20. 20 Oct, 2020 1 commit
    • Adrien Faveraux's avatar
      move keyboard to the new approach and refactor the keyboard_interface · 8a6d17f2
      Adrien Faveraux authored and Bhushan Shah's avatar Bhushan Shah committed
      - Get rid of the KF5 deprecated methods related to keymap,
        kwayland-server is not source compatible with kwayland, so we don't
        need to keep the deprecated methods
      - Move the key repeat, modifiers and keymap handling fully into the
        KeyboardInterface.
      - Get rid of some of the keyboard related code base from the
        seat_interface.
      
      Co-Author: Bhushan Shah <bshah@kde.org>
      8a6d17f2
  21. 19 Oct, 2020 1 commit
    • Vlad Zahorodnii's avatar
      Simplify how infinite input regions are handled · 42246b78
      Vlad Zahorodnii authored
      Some input related code in kwin is mislead by the fact that when the
      input region is infinite, SurfaceInterface::input() is going to return
      an empty QRegion object.
      
      We cannot really do that because the client could have just set a valid
      empty wl_region object to ignore all input events.
      
      This change makes SurfaceInterface assign an actually infinite region
      when a NULL input region has been passed to set_input_region().
      42246b78
  22. 16 Oct, 2020 1 commit
    • Bhushan Shah's avatar
      input-method-v1: Fix bug regarding the modifier handling · cd72d896
      Bhushan Shah authored
      modifiers request by the input method is supposed to send the raw
      modifiers based on the keymap of the keyboard grabbed as result of the
      grab_keyboard request. If input method client is not using the keysym
      functionality it can decide to not send out the modifiers_map, since it
      is already known to compositor as part of keymap event sent by it.
      
      While at it also guard against empty modifiers_map, if this happens
      ideally compositor should handle that information based on the keymap
      sent out using grab_keyboard function, but since currently, we do not
      have the grab_keyboard implemented in here, send out the NoModifier if
      that happens.
      cd72d896
  23. 14 Oct, 2020 1 commit
    • Sebastian Krzyszkowiak's avatar
      Send wl_pointer.frame when emulating pointer events out of touch ones · 8dae655b
      Sebastian Krzyszkowiak authored
      When touching a surface that doesn't register to wl_touch events, KWin
      didn't send frame events (which it does for regular pointer and touch
      events), causing severe updating issues with some clients.
      
      Test Plan:
      Launch a client that doesn't attach to wl_touch (for instance,
      rootston) with WAYLAND_DEBUG=client and watch the logs while touching
      its window.
      8dae655b