1. 30 Oct, 2020 9 commits
    • Ismael Asensio's avatar
      queryWindowInfo: Differenciate between unmannaged and user cancel · a89b66a2
      Ismael Asensio authored
      Previous fix here didn't take into account the case where use can
      cancel the query (by pressing Esc).
      a89b66a2
    • Benjamin Port's avatar
      Fix build without krunner · 0faf2826
      Benjamin Port authored and Benjamin Port's avatar Benjamin Port committed
      0faf2826
    • Andrey Butirsky's avatar
      fix: [1/2] Keyboard Layout applet doesn't follow actual layout switching · cfcf2baa
      Andrey Butirsky authored
      We need to emit DBus signal on every layout change - explicit(keyboard shortcut, layout applet click)
      and implicit(focus window with different layout).
      Otherwise, external layout applet might not get updated.
      
      DIGEST:
      BUG: 426900
      cfcf2baa
    • Benjamin Port's avatar
      Add windows runner · cf4335ca
      Benjamin Port authored and Benjamin Port's avatar Benjamin Port committed
      Move windows runner from plasma-workspace to kwin (convert it to dbus runner)
      
      This will allow to interract with windows on wayland too
      cf4335ca
    • Vlad Zahorodnii's avatar
    • Konstantinos Smanis's avatar
      Allow configuring click behavior in Desktop Grid effect · dbcf43ab
      Konstantinos Smanis authored and David Edmundson's avatar David Edmundson committed
      The following click behaviors are defined:
       * Switch desktop and activate window [default]
       * Switch desktop only
      
      The former emulates the previous default of activating clicked windows
      using the Present Windows effect. The latter introduces a new mode where
      the clicked window is not activated, allowing the user to select a
      virtual desktop without worrying about disrupting the last active
      window.
      
      The configuration toggle that controlled the use of the Present Windows
      effect has been subsumed into the first click behavior, i.e., if the
      effect is enabled, it will be implicitly triggered.
      dbcf43ab
    • Vlad Zahorodnii's avatar
      458ea6dc
    • Vlad Zahorodnii's avatar
      ac203818
    • Vlad Zahorodnii's avatar
      Store repaint regions per individual screen · 74391e25
      Vlad Zahorodnii authored
      AnimationEffect schedules repaints in postPaintWindow() and performs
      cleanup in preScreenPaint(). With the X11-style rendering, this doesn't
      have any issues, scheduled repaints will be reset during the next
      compositing cycle.
      
      But with per screen rendering, we might hit the following case
      
          - Paint screen 0
          - Reset scheduled repaints
          - AnimationEffect::prePaintScreen(): update the timeline
          - AnimationEffect::postPaintScreen(): schedule a repaint
      
          - Paint screen 1
          - Reset scheduled repaints
          - AnimationEffect::prePaintScreen(): destroy the animation
          - AnimationEffect::postPaintScreen(): no repaint is scheduled
      
          - Return to the event loop
      
      In this scenario, the repaint region scheduled by AnimationEffect will
      be lost when compositing is performed on screen 1.
      
      There is no any other way to fix this issue but maintain repaint regions
      per each individual screen if per screen rendering is enabled.
      
      BUG: 428439
      74391e25
  2. 29 Oct, 2020 11 commits
  3. 28 Oct, 2020 4 commits
  4. 27 Oct, 2020 4 commits
    • Ismael Asensio's avatar
      kwinrules: Fix binding loop on coordinate editor · 73f335ad
      Ismael Asensio authored
      Only set the model value when the user explicitly interacts
      with the control.
      
      This fixes a bug where some detected properties (position
      and size) were not fully applied due to the the binding loop.
      73f335ad
    • Vlad Zahorodnii's avatar
      platforms/drm: Hide sw cursor if there is no pointer · b53d195f
      Vlad Zahorodnii authored
      Currently, if there is no pointer, only the hardware cursor will be
      hidden. If the software cursor is forced, you are going to see a dead
      immovable cursor.
      b53d195f
    • Vlad Zahorodnii's avatar
      Provide cursor geometry in device-independent pixels · 170a0b63
      Vlad Zahorodnii authored
      QImage::size() returns the size of the cursor image in the native
      pixels. We cannot use it as the cursor size.
      170a0b63
    • Vlad Zahorodnii's avatar
      platform/drm: Fix clipped HiDPI hardware cursors · c8eeefbd
      Vlad Zahorodnii authored
      If an output is rotated, we will compute a transform matrix for the
      cursor plane to rotate its contents.
      
      In order to compute that matrix we need the rect of the cursor in the
      device-independent pixels, the scale factor and the output transform.
      
      The problem is that we provide a rect of the cursor in the native
      pixels. This may result in the cursor being partially or fully clipped.
      
      CCBUG: 424589
      c8eeefbd
  5. 26 Oct, 2020 5 commits
  6. 25 Oct, 2020 7 commits