1. 06 Jan, 2021 6 commits
    • Vlad Zahorodnii's avatar
      Drop flag to indicate if swap buffers is blocking · 7a3fa88f
      Vlad Zahorodnii authored
      We want the new compositing timing algorithm to be invariant regarding
      whether glXSwapBuffers() or eglSwapBuffers() block.
      7a3fa88f
    • Vlad Zahorodnii's avatar
      Drop the swap profiler · 2152598c
      Vlad Zahorodnii authored
      In hindsight, we want to swap buffers after finishing a compositing
      cycle, therefore there is no need for the swap profiler.
      2152598c
    • Vlad Zahorodnii's avatar
      Swap buffers after finishing a compositing cycle · 0ceff5fd
      Vlad Zahorodnii authored
      The compositing timing algorithm assumes that glXSwapBuffers() and
      eglSwapBuffers() block. While this was true long time ago with NVIDIA
      drivers, nowadays, it's not the case. The NVIDIA driver queues
      several buffers in advance and if the application runs out of them,
      it will block. With Mesa driver, swapping buffer was never blocking.
      
      This change makes the render backends swap buffers right after ending
      a compositing cycle. This may potentially block, but it shouldn't be
      an issue with modern drivers. In case it gets proven, we can move
      glXSwapBuffers() and eglSwapBuffers() in a separate thread.
      
      Note that this change breaks the compositing timing algorithm, but
      it's already sort of broken with Mesa drivers.
      0ceff5fd
    • Vlad Zahorodnii's avatar
      cmake: Remove FindFontconfig.cmake · ed88cbfb
      Vlad Zahorodnii authored
      It's in extra-cmake-modules now.
      ed88cbfb
    • Nate Graham's avatar
      Revert "cmake: Remove redundant include_directories()" · 3800181a
      Nate Graham authored
      This reverts commit 9b1ea1c7.
      
      This breaks compilation; apparently the include is not implicit and is
      thus needed after all.
      3800181a
    • pontaoski's avatar
      Implement xdgshell v3 · a92b465f
      pontaoski authored
      a92b465f
  2. 05 Jan, 2021 6 commits
    • Vlad Zahorodnii's avatar
      cmake: Remove FindUDev.cmake · 26b24906
      Vlad Zahorodnii authored
      It's in extra-cmake-modules now.
      26b24906
    • Vlad Zahorodnii's avatar
      cmake: Remove redundant include_directories() · 9b1ea1c7
      Vlad Zahorodnii authored
      libkwin is linked against imported XKB::XKB target. Thus the
      include_directories() is redundant.
      9b1ea1c7
    • Vlad Zahorodnii's avatar
      Drop hwcomposer backend · 7e5c1698
      Vlad Zahorodnii authored
      Plasma Mobile announced that they plan to drop support for Halium
      devices, see the announcement blog post [1] for the reasons that led to
      such a decision.
      
      But just to summarize, here are some of the key points from the post:
      
       * Some of our team members no longer have access to reference LG Nexus
         5X device anymore
       * After KDE Neon switched to using Ubuntu 20.04 we no longer are
         updating the rootfs for halium devices
       * After several important architecture changes in upstream KWin, the
         hwcomposer backend might be broken and we have no way of verifying it
      
      If the community members are interested in reviving the hwcomposer
      backend,
      
        * it pretty much needs rewrite/re-thinking given differences of hwc1
          and hwc2 API for hwcomposer part of it, see also [2]
        * It also needs removal of Android 5 based libhardware API as we don't
          think code can be kept sane with 3 different levels of ifdefs
        * This backend needs better way of fixing difference between
          CAF/non-CAF devices then just recompiling with different headers,
          maybe env vars?
        * This backend does not support various things like transformation/
          rotation etc, and is not exactly feature complete as the DRM backend
      
      [1] https://www.plasma-mobile.org/2020/12/14/plasma-mobile-technical-debt.html
      [2] https://github.com/erfanoabdi/kwin/commit/83f563c339b83fd8a4df3b12ee3ee05032c35bd2
      7e5c1698
    • David Edmundson's avatar
      Bump libkwineffects so version · ae440bdc
      David Edmundson authored
      There was an ABI breaking change when presentation times were added.
      It has not been bumped since Plasma 5.20
      ae440bdc
    • Ismael Asensio's avatar
      kcm/kwinrules: Detect and suggest activities from a window · 6eda92a0
      Ismael Asensio authored
      Add the activities info to the list of properties provided by
      the `queryWindowInfo()` dBus method, and suggest them to the
      user when inspecting a given window.
      
      An empty activity list means "All Activities" (null UUID)
      Also get the null UUID value instead of having it hardcoded.
      6eda92a0
    • Cyril Rossi's avatar
      KCM KWinScripts implement KCModuleData to highlight default at module level · 8a79f38d
      Cyril Rossi authored
      Use highlight in KPluginSelector
      Also remove PluginKeyword in .desktop file
      8a79f38d
  3. 04 Jan, 2021 4 commits
    • Ismael Asensio's avatar
      kcm/kwinrules: Restore method textOfValue() · 247d9c38
      Ismael Asensio authored
      This convenience invokable method was removed in 66ee8985
      by mistake, since it's still used in RulesEditor.qml
      
      While at it, optimize arguments to const &
      247d9c38
    • Vlad Zahorodnii's avatar
      autotests: Convert testScreens into an integration test · 93194a67
      Vlad Zahorodnii authored
      At the moment, the Screens class is convoluted with ifdefs because of
      MockScreens.
      
      The goal of this change is to reduce the number of usages of the
      MockScreens class so it is possible to get rid of the ifdefs.
      93194a67
    • Vlad Zahorodnii's avatar
      Remove Findepoxy.cmake · c324cd14
      Vlad Zahorodnii authored
      It's in extra-cmake-modules now.
      c324cd14
    • Michael Tunnell's avatar
      Apply Initially as default value of new Properties · 5193658a
      Michael Tunnell authored
      Change the default value from "Do Not Affect" to "Apply Initially" when
      adding new properties in Window Rules.
      
      REASON: prior "Do Not Affect" as default and occasionally I forget to
      change the setting to something else when adding new properties.
      Unfortunately, this means I forget to do it and so it isn't saved when
      I close the window. I will then go back in to change it to Apply Initially
      or in some cases have to add the new property again as it wasn't saved in
      the set.
      
      I think if Apply Initially were to be the default it would be an easier
      and faster experience to add new properties.
      5193658a
  4. 03 Jan, 2021 2 commits
  5. 31 Dec, 2020 3 commits
  6. 29 Dec, 2020 2 commits
  7. 21 Dec, 2020 8 commits
  8. 20 Dec, 2020 1 commit
    • Vlad Zahorodnii's avatar
      Avoid destroying yet alive color devices · d70e6c2c
      Vlad Zahorodnii authored
      This is a typo that I forgot to fix, therefore not requesting code
      review. After QVector::erase() has been called, we cannot use the
      iterator as it will lead to undefined behavior.
      d70e6c2c
  9. 18 Dec, 2020 1 commit
  10. 17 Dec, 2020 7 commits