1. 15 Oct, 2021 1 commit
    • Vlad Zahorodnii's avatar
      Fix AbstractClient::adjustedSize() for wayland windows with no committed buffer · 65b878f6
      Vlad Zahorodnii authored
      AbstractClient::constrainClientSize() forces the minimum client size of
      If AbstractClient::adjustedSize() is called before the XdgToplevelClient
      is mapped, it will return 1x1 rather than 0x0 as expected, which will
          QSize s = adjustedSize();
          if (s != size() && s.isValid())
      in AbstractClient::applyWindowRules(). Since 1x1 is different from 0x0,
      the xdg-toplevel surface is going to be resized to 1x1.
      BUG: 443705
      (cherry picked from commit ff3465a8)
  2. 14 Oct, 2021 1 commit
    • Heiko Becker's avatar
      Heiko Becker authored
      Since the KF5 version requirement was incremented to 5.86 the build
      started to fail (at least with KF 5.87.0) due to deprecations.
  3. 13 Oct, 2021 1 commit
    • Aleix Pol Gonzalez's avatar
      pipewire: Fix downloading software-rotated textures · 26aab43f
      Aleix Pol Gonzalez authored and Aleix Pol Gonzalez's avatar Aleix Pol Gonzalez committed
      At the moment we'll be setting the YInverted setting, but in practice
      that won't have any effect as it only changes the render matrix and
      we'll end up streaming inverted textures.
      This change addresses it by rendering it into another texture first to
      resolve this situation and then download that new texture instead.
      (cherry picked from commit c0718249)
  4. 12 Oct, 2021 2 commits
  5. 11 Oct, 2021 1 commit
  6. 07 Oct, 2021 3 commits
    • Jonathan Esk-Riddell's avatar
      Update version number for 5.23.0 · ff5a251b
      Jonathan Esk-Riddell authored
    • Vlad Zahorodnii's avatar
      wayland: Improve default placement of pointer · 1854708f
      Vlad Zahorodnii authored
      Currently, the pointer is moved to the center of the workspace. However,
      on a multi-monitor setup, the workspace center may not be the same as
      the center of the output it's on. That's the case with my setup -
      1920x1080, 1920x1080, 1080x1920 (the monitors are laid out in a row from
      left to right).
      This change improves the default placement of the pointer by actually
      moving it to the center of the screen that contains the workspace center
      so the pointer doesn't end up at some "random" position from the user's
      point of view.
      (cherry picked from commit 4f3ff4fb)
    • Xaver Hugl's avatar
      platforms/drm: set DPMS property properly · 63d39d81
      Xaver Hugl authored
      (cherry picked from commit 9f69d4c9)
  7. 06 Oct, 2021 1 commit
  8. 05 Oct, 2021 1 commit
    • Vlad Zahorodnii's avatar
      Clear should_get_focus in Workspace::focusToNull() · fba3f1e7
      Vlad Zahorodnii authored
      On X11, there are four input models. With some input models, it's okay
      if the window manager calls XSetInputFocus(), with others, the wm has to
      ask the client to make a XSetInputFocus() request.
      If kwin wants a client to take input focus, kwin will add the client
      to the should_get_focus list, which contains all the windows that
      are about to get input focus. Clients are popped from the list upon
      receiving FOCUS_IN events.
      A client will be added to the should_get_focus list even if kwin thinks
      that the client already has input focus because communication between
      the wm and xorg is async, anything can happen with input focus in meanwhile.
      On the other hand, the wm may sometimes focus the null window if no
      window should contain the input focus. The issue is that the
      should_get_focus list is not cleaned up in that case, which can lead to
      Workspace::mostRecentlyActivatedClient() returning wrong client and
      possibly other async related issues.
      We don't have such madness on Wayland as the compositor is in charge of
      handling input focus.
      This change makes Workspace::focusToNull() clear the should_get_focus,
      which is reasonable. We need to deactivate "in-flight" focus requests.
      This also fixes the bug where fullscreen Wayland windows don't go above
      docks and panels due to Workspace::mostRecentlyActivatedClient() returning
      bad client.
      BUG: 439405
      BUG: 395919
      (cherry picked from commit e6c77a1d)
  9. 04 Oct, 2021 7 commits
  10. 03 Oct, 2021 1 commit
    • Xaver Hugl's avatar
      platforms/drm: remove redundant check for placeholder output · 10a048e5
      Xaver Hugl authored
      It's not necessary, the placeholder output already gets created in DrmBackend::removeOutput
      if necessary. More improtantly it's missing the check for shutdown, which
      may cause issues if the computer is turned off while no outputs are connected.
      (cherry picked from commit d83da1cd)
  11. 01 Oct, 2021 6 commits
  12. 30 Sep, 2021 3 commits
  13. 29 Sep, 2021 1 commit
  14. 28 Sep, 2021 5 commits
  15. 27 Sep, 2021 2 commits
    • Xaver Hugl's avatar
      platforms/drm: fix dpms tracking · 1c2956d1
      Xaver Hugl authored
      DrmGpu::updateOutputs is now changing the state of some drm properties
      without changing the fitting output state (namely RenderLoop inhibition)
      which can lead to rendering being inhibited indefinitely in some cases
      (cherry picked from commit 7bca5d73)
    • Vlad Zahorodnii's avatar
      scenes/opengl: Fix clipping with transformed screens · 41d2ee14
      Vlad Zahorodnii authored
      Software-based clipping is naive. It maps the clip region from the
      global screen coordinates and intersects it with window quads. If the
      window is transformed, the quads won't be clipped as expected.
      Unfortunately, the OpenGL scene enables software-based geometry clipping
      if the screen transformed. It's not clear why it does so, perhaps as a
      performance optimization? Either way, this produces incorrect results
      when the screen is scaled.
      BUG: 440940
      (cherry picked from commit 0f6aa1c4)
  16. 26 Sep, 2021 2 commits
  17. 25 Sep, 2021 1 commit
  18. 23 Sep, 2021 1 commit