1. 16 Jan, 2019 1 commit
  2. 12 Nov, 2018 1 commit
  3. 02 Nov, 2018 1 commit
  4. 01 Nov, 2018 1 commit
  5. 28 Oct, 2018 1 commit
    • Erik Kurzinger's avatar
      [effects/presentwindows] Avoid potential freeze during fill-gaps · 4348cd56
      Erik Kurzinger authored
      Summary:
      When using the natural layout algorithm with the fill-gaps option, a small
      error (less than one) is introduced in windows' aspect ratio each time they are
      enlarged due to floating-point roundoff.
      
      Currently, the algorithm computes the width and height enlargement factors and
      then attempts to enlarge in each of the four possible directions, repeating
      until it can't enlarge any windows any further.  Hence, this aspect ratio error
      can be multiplied by up to four. Especially for small, long, and narrow
      windows, this can result in a total error of greater than one by the end of
      that loop iteration. If this occurs, on subsequent iterations the height
      enlargement factor might then be computed as negative violating some of the
      core assumptions of the algorithm and resulting in the loop iterating endlessly
      until one of the window dimensions overflows, freezing the program for up to
      several minutes.
      
      To fix this, the height enlargement factor should be re-computed based on the
      new width each time the window is enlarged, ensuring the error introduced in
      the aspect ratio never exceeds one.
      
      BUG: 364709
      BUG: 380865
      BUG: 368811
      
      FIXED-IN: 5.15.0
      
      Test Plan:
      The most reliable way to reproduce the freeze seems to be to activate the
      desktop-grid effect while a tool-tip window is fading in.
      Ensure desktop-grid is configured to use present windows, and that present
      windows is configured to use the natural layout algorithm with the fill gaps
      option selected.
      
      The freeze is still intermittent, but using this method should be able to be
      triggered within about 10 tries without this fix.
      After applying the fix, the freeze has never been observed.
      
      Reviewers: #kwin, zzag
      
      Reviewed By: #kwin, zzag
      
      Subscribers: graesslin, kwin, zzag
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D16278
      4348cd56
  6. 26 Oct, 2018 1 commit
    • Erik Kurzinger's avatar
      [effects/desktopgrid] Specify screen projection matrix when drawing moving window · 408ed806
      Erik Kurzinger authored
      Summary:
      Currently, when the user is moving a window in the desktop grid it is drawn from
      the paintScreen function to ensure it appears above all other windows. However,
      when drawing the window, the screenProjectionMatrix for the WindowPaintData structure
      is never specified. Because of this, the window will not be visible if OpenGL
      compositing along with Lanczos scaling are in use since its coordinates will never
      be projected into screen-space (unless the window is maximized, in which case the
      scaling code is bypassed).
      
      BUG: 361371
      BUG: 364509
      
      FIXED-IN: 5.14.3
      
      Test Plan:
      Ensure OpenGL compositing is enabled and the scaling method is set to "Accurate" on
      hardware supporting this option. Additionally, ensure the desktop grid effect is
      active and is configured to use Present Windows. Open a window and ensure is it not
      maximized. Click on the window and drag it around - its contents should remain visible
      the entire time and follow the mouse.
      
      Reviewers: #kwin, zzag, graesslin, davidedmundson
      
      Reviewed By: #kwin, zzag, davidedmundson
      
      Subscribers: broulik, davidedmundson, kwin, #kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D16430
      408ed806
  7. 24 Oct, 2018 1 commit
  8. 12 Oct, 2018 1 commit
  9. 29 Sep, 2018 1 commit
  10. 25 Sep, 2018 1 commit
  11. 08 Sep, 2018 1 commit
  12. 04 Sep, 2018 1 commit
  13. 30 Aug, 2018 2 commits
  14. 27 Aug, 2018 1 commit
  15. 26 Aug, 2018 1 commit
  16. 15 Aug, 2018 2 commits
  17. 11 Aug, 2018 1 commit
  18. 03 Aug, 2018 1 commit
  19. 30 Jul, 2018 1 commit
  20. 22 Jul, 2018 1 commit
  21. 12 Jul, 2018 1 commit
  22. 27 Jun, 2018 1 commit
  23. 25 Jun, 2018 1 commit
  24. 18 Jun, 2018 1 commit
  25. 02 Jun, 2018 1 commit
  26. 31 May, 2018 1 commit
  27. 20 May, 2018 3 commits
    • Martin Flöser's avatar
      Do not save kwinrulesrc on every window opening/closing · 9a02ed4d
      Martin Flöser authored
      Summary:
      Our rule handling has had a grave error for years. Whenever a window
      with a rule was openend or closed the kwinrulesrc was written back to
      disk.
      
      The reason for this behavior is that temporary rules need to be discarded
      once they were used. For that there is a method discardUsed which invokes
      requestDiskStorage whenever a rule for the window was found. But it did
      not check whether there was a rule requiring this.
      
      This change modifies the discardUsed to track whether it changed a rule
      and only writes back in case there was a change.
      
      BUG: 393911
      FIXED-IN: 5.12.6
      
      Test Plan: Only compile tested
      
      Reviewers: #kwin, #plasma
      
      Subscribers: kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D12749
      9a02ed4d
    • Martin Flöser's avatar
      Update seat's timestamp after waking up screen through double tap · 69afe4d2
      Martin Flöser authored
      Summary:
      The drm platform has a special handling for touch events while the
      screen is in dpms. All touch events are filtered out, but a double
      tap wakes up the screen.
      
      Due to the filtering out of the events the idle timers were not reset.
      So if you only double tapped, the screen turned on, but not off again.
      
      This change updates the timestamp after double tap, so that the idle
      timers are restarted. All other events are still filtered out, to not
      have "fake" events (e.g. smart phone in pocket) wake up the device.
      
      BUG: 392754
      FIXED-IN: 5.12.6
      
      Test Plan: only compile tested
      
      Reviewers: #kwin, #plasma
      
      Subscribers: kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D12668
      69afe4d2
    • Martin Flöser's avatar
      Use XdgShell Unstable V6 in nested wayland platform · f28d44e5
      Martin Flöser authored
      Summary:
      Changing the creation of the nested window from unstable v5 to v6 in
      order to be supported on more compositors and to use KWin's better
      supported platform.
      
      Targeting 5.12 as this will help to remove support for unstable v5
      from KWayland.
      
      Test Plan: Run a nested KWin/Wayland on KWin/Wayland, everything looked fine
      
      Reviewers: #kwin, #plasma
      
      Subscribers: kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D11806
      f28d44e5
  28. 19 May, 2018 2 commits
    • Martin Flöser's avatar
      Do not unset cursor image when cursor enters a surface · e3250460
      Martin Flöser authored
      Summary:
      From Wayland documentation:
      "When a seat's focus enters a surface, the pointer image is undefined and
      a client should respond to this event by setting an appropriate pointer
      image with the set_cursor request."
      
      KWin's interpretation so far for the undefined pointer image was to
      remove the pointer image when entering a surface waiting for the client
      to set a cursor image. This can result in a short flicker as there might
      be a frame without a cursor image.
      
      This patch changes the behavior by keeping the previous image till the
      application set a new one. This brings some advantages:
       * if the application is not responding a cursor is still shown
       * if the same cursor is used as in the previous window we don't have a
      flicker
      
      CCBUG: 393639
      
      Test Plan: I cannot see the flicker, so only tested with the adjusted tests
      
      Reviewers: #kwin, #plasma
      
      Subscribers: kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D12631
      e3250460
    • Script Kiddy's avatar
      SVN_SILENT made messages (.desktop file) - always resolve ours · 4be9264b
      Script Kiddy authored
      In case of conflict in i18n, keep the version of the branch "ours"
      To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
      4be9264b
  29. 18 May, 2018 1 commit
  30. 01 May, 2018 1 commit
  31. 30 Apr, 2018 1 commit
  32. 26 Apr, 2018 1 commit
    • David Edmundson's avatar
      [KScreen Effect] Fix fade to black · 437a36a2
      David Edmundson authored
      Summary:
      When you have two windows ontop of each other and you turn them
      transparent, evidently you'll be able to see through them.
      Not only does it look unpolished if the desktop window flashes through
      your windows, it can pose a privacy risk as you'd be able to briefly
      look through the lock screen.
      
      This patch fades apps to black intead of to transparent. As this looks
      weird for panels, so windows are also faded to opaque (if relevant) at
      the same rate.
      
      BUG: 388384
      
      Reviewers: #plasma, graesslin
      
      Subscribers: luebking, plasma-devel, kwin, #kwin
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D9608
      437a36a2
  33. 25 Apr, 2018 1 commit
  34. 24 Apr, 2018 2 commits