1. 08 Feb, 2020 1 commit
    • Heiko Becker's avatar
      Require kdecoration >= 5.18.0 · 6d8f3732
      Heiko Becker authored
      Summary:
      To successfully build kwin needs 13e6459a3baeebe6a7b594efd995b88f6dd7524e
      in kdecoration. Otherwise it fails with: "previewclient.h:93:11: error:
      'QSize KDecoration2::Preview::PreviewClient::size() const' marked
      'override', but does not override QSize size() const override;"
      So this is not a new requirement but just an update to the build system
      to reflect the actual requirements.
      
      Test Plan: Builds fine with the newly required version
      
      Reviewers: #kwin
      
      Subscribers: kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D27242
      6d8f3732
  2. 06 Feb, 2020 1 commit
  3. 16 Jan, 2020 3 commits
  4. 07 Jan, 2020 1 commit
    • Vlad Zahorodnii's avatar
      [nightcolor] Use a dedicated class for detection of system clock changes · e728460a
      Vlad Zahorodnii authored
      Summary:
      The ClockSkewNotifier provides a convenient way for monitoring system
      clock changes. One of the key ideas was to hide platform details from
      users of the class. This allows us to add a QTimer fallback path for
      operating systems that don't provide anything to detect system clock
      changes.
      
      In long term, I would like to move the new class to Frameworks.
      
      Reviewers: #kwin, davidedmundson
      
      Reviewed By: #kwin, davidedmundson
      
      Subscribers: davidedmundson, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D25962
      e728460a
  5. 10 Dec, 2019 1 commit
  6. 03 Dec, 2019 2 commits
  7. 26 Nov, 2019 1 commit
  8. 12 Nov, 2019 1 commit
  9. 05 Nov, 2019 1 commit
  10. 04 Nov, 2019 1 commit
    • David Edmundson's avatar
      Add KDEClangFormat cmake support · 0369011c
      David Edmundson authored
      Summary:
      This allows devs to run: "make clang-format" and format all files easily
      using the preset KDE clang format style
      
      This patch adds support so devs can easily test the intended formatting
      now, it doesn't change the code yet.
      
      Doing an initial run to commit everything will happen later.
      
      Test Plan:
      Ran script
      git diff was full of amazingly cleaned code
      
      See D25134
      0369011c
  11. 01 Nov, 2019 1 commit
    • David Edmundson's avatar
      Port one of session management connections state to a custom API · ec610fd7
      David Edmundson authored
      Summary:
      Currently kwin opens a second ICE connection to ksmserver in order to
      tell the state of kwin's whether we're logging out and saving clients or
      not.
      
      This requires that kwin launches after ksmserver to have the connection
      which is a dependency I want to break.
      
      Practically this code is already ksmserver specific as it relies on some
      custom code that sends the first saveState request to kwin first.
      
      Instead we can replace it with a bespoke IPC over DBus and siplify the
      code both end. This will allow several other future enhancements that we
      want with regards to handling the session state, as well as make an
      effort platform agnostic session management, as well as cleaning up some
      complex code.
      
      Ksmserver calls into kwin, rather than having kwin watch ksmserver state
      to allow us make sure it's race free.
      
      Reviewers: #kwin, zzag
      
      Reviewed By: #kwin, zzag
      
      Subscribers: romangg, zzag, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D24862
      ec610fd7
  12. 29 Oct, 2019 2 commits
    • Jonathan Esk-Riddell's avatar
      Update version number for 5.17.2 · c42a4234
      Jonathan Esk-Riddell authored
      GIT_SILENT
      c42a4234
    • Roman Gilg's avatar
      Dmabuf recovery on EGL reset · 7459aabc
      Roman Gilg authored
      Summary:
      The EGL platform might go away at any time through reconfiguration or because
      of a graphic error. KWin then resets the graphics. The dmabuf implementation
      must respect that and recover from a graphics reset by recreating all EGL
      images for existing buffer.
      
      This assumes that we won't change our graphics API mid-session and that
      supported plane and modifier configuration stays constant.
      
      In practise we remember all current dmabufs in a single map and only remove
      them if the client did destroy the resource.
      
      BUG: 411980
      CCBUG: 413403
      FIXED-IN: 5.17.2
      
      Test Plan: Applied screenedge configuration without crash.
      
      Reviewers: #kwin, zzag
      
      Reviewed By: #kwin, zzag
      
      Subscribers: fvogt, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D24954
      7459aabc
  13. 22 Oct, 2019 1 commit
  14. 10 Oct, 2019 3 commits
  15. 25 Sep, 2019 1 commit
    • Vlad Zahorodnii's avatar
      Rename Client to X11Client · ffcbe24e
      Vlad Zahorodnii authored
      Summary:
      Currently each managed X11 client is represented with an instance of
      Client class, however the name of that class is very generic and the
      only reason why it's called that way is because historically kwin
      was created as an x11 window manager, so "Client" was a sensible choice.
      
      With introduction of wayland support, things had changed and therefore
      Client needs to be renamed to X11Client in order to better reflect what
      that class stands for.
      
      Renaming of Client to X11Client was agreed upon during the last KWin
      sprint.
      
      Test Plan: Compiles, the test suite is still green.
      
      Reviewers: #kwin, romangg
      
      Reviewed By: #kwin, romangg
      
      Subscribers: romangg, davidedmundson, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D24184
      ffcbe24e
  16. 23 Sep, 2019 1 commit
  17. 19 Sep, 2019 2 commits
  18. 18 Sep, 2019 1 commit
  19. 17 Sep, 2019 2 commits
  20. 14 Sep, 2019 1 commit
  21. 10 Sep, 2019 1 commit
  22. 08 Sep, 2019 1 commit
  23. 30 Jul, 2019 1 commit
  24. 22 Jul, 2019 1 commit
    • Vlad Zahorodnii's avatar
      Run clang-tidy with modernize-use-override check · 8af2fa73
      Vlad Zahorodnii authored
      Summary:
      Currently code base of kwin can be viewed as two pieces. One is very
      ancient, and the other one is more modern, which uses new C++ features.
      
      The main problem with the ancient code is that it was written before
      C++11 era. So, no override or final keywords, lambdas, etc.
      
      Quite recently, KDE compiler settings were changed to show a warning if
      a virtual method has missing override keyword. As you might have already
      guessed, this fired back at us because of that ancient code. We had
      about 500 new compiler warnings.
      
      A "solution" was proposed to that problem - disable -Wno-suggest-override
      and the other similar warning for clang. It's hard to call a solution
      because those warnings are disabled not only for the old code, but also
      for new. This is not what we want!
      
      The main argument for not actually fixing the problem was that git
      history will be screwed as well because of human factor. While good git
      history is a very important thing, we should not go crazy about it and
      block every change that somehow alters git history. git blame allows to
      specify starting revision for a reason.
      
      The other argument (human factor) can be easily solved by using tools
      such as clang-tidy. clang-tidy is a clang-based linter for C++. It can
      be used for various things, e.g. fixing coding style(e.g. add missing
      braces to if statements, readability-braces-around-statements check),
      or in our case add missing override keywords.
      
      Test Plan: Compiles.
      
      Reviewers: #kwin, davidedmundson
      
      Reviewed By: #kwin, davidedmundson
      
      Subscribers: davidedmundson, apol, romangg, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D22371
      8af2fa73
  25. 09 Jul, 2019 2 commits
  26. 25 Jun, 2019 1 commit
  27. 23 Jun, 2019 1 commit
    • David Edmundson's avatar
      Close screen grabbing effect when screensaver starts · 3604aaf7
      David Edmundson authored
      Summary:
      The screenlock fails on X11 if it can't grab the keyboard.
      
      We can't nicely solve the generic case. We can solve the common case of
      a kwin effect being active.
      
      It's not critical, arguably not even desirable to have these effects
      persist after the screen is locked through an external trigger. We can
      just close the effect early.
      
      Key grabs have to be relased early before the close animation completes
      so that the locker doesn't have a race based on animation times.
      
      It's not ideal, but no worse than the current state for not much work.
      
      BUG: 234153
      
      Test Plan:
      locked screen on a timer
      opened various effects
      
      Reviewers: #kwin, zzag
      
      Reviewed By: #kwin, zzag
      
      Subscribers: ngraham, zzag, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D20890
      3604aaf7
  28. 18 Jun, 2019 1 commit
  29. 13 Jun, 2019 1 commit
    • Roman Gilg's avatar
      [platforms/x11/standalone] Port to AbstractOutput · 1a11abc8
      Roman Gilg authored
      Summary:
      Represent outputs in the X11 session via AbstractOutput. For that we
      move all Wayland specific parts of AbstractOutput into a new subclass
      AbstractWaylandOutput and let the outputs of our Wayland backends inherit
      from there.
      
      This should allow us to get rid of the Screens class later on.
      
      Test Plan: Manually in X session.
      
      Reviewers: #kwin, zzag, davidedmundson
      
      Reviewed By: #kwin, zzag, davidedmundson
      
      Subscribers: ngraham, zzag, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D19208
      1a11abc8
  30. 06 Jun, 2019 1 commit
  31. 16 May, 2019 1 commit