1. 05 Sep, 2018 1 commit
  2. 04 Sep, 2018 1 commit
  3. 03 Sep, 2018 2 commits
  4. 02 Sep, 2018 1 commit
  5. 31 Aug, 2018 9 commits
    • Vlad Zahorodnii's avatar
      Clean up includes · 624a4531
      Vlad Zahorodnii authored
      Summary:
      * effects.h includes client.h and forward declares Client, both at the
        same time. Thus, delete the include;
      
      * the blur effect includes effects.h. That, most likely, is a leftover
        after 3f5bf65a.
      
      Test Plan: Compiles.
      
      Reviewers: #kwin, davidedmundson
      
      Reviewed By: #kwin, davidedmundson
      
      Subscribers: kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D15191
      624a4531
    • Andrius Štikonas's avatar
      Fix capitalization typo. · f96bea7c
      Andrius Štikonas authored
      f96bea7c
    • Vlad Zahorodnii's avatar
      [scenes/opengl] Fix overlaps in shadow texture atlas · dadcd511
      Vlad Zahorodnii authored
      Summary:
      If the corner shadow tiles(top-left, top-right, and so on) tiles are missing,
      then the left/top/right/bottom shadow tiles will overlap.
      
      This diff addresses that problem by changing how the shadow texture
      atlas is rendered:
      * corner tiles will be drawn in the corners of the atlas(buildQuads
        method expects them to be at the corners);
      * top, right, bottom, and left tile will be aligned to the top-left
        corner of the inner shadow rect.
      
      For majority of desktop themes, the shadow texture atlas looks the same.
      For example, here's for Aether:
      
      Before:
      {F6190484, layout=center, size=full}
      
      After:
      {F6190488, layout=center, size=full}
      
      Depends on D14783
      
      Reviewers: #kwin, davidedmundson
      
      Reviewed By: #kwin, davidedmundson
      
      Subscribers: davidedmundson, abetts, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D14784
      dadcd511
    • Vlad Zahorodnii's avatar
      [scenes/opengl] Correctly draw shadows when corner tiles are missing · 5e55664d
      Vlad Zahorodnii authored
      Summary:
      Current implementation of buildQuads assumes that corner shadow tiles
      are always present:
      
          const QRectF leftRect(
              topLeftRect.bottomLeft(),
              bottomLeftRect.topRight());
      
      but that assumption is wrong. For example, if the default panel is on
      the bottom screen edge, then the calendar popup won't have the
      bottom-left shadow tile(at least on Wayland). Which means that the left
      shadow tile won't be visible because
      topLeftRect.left() == bottomLeftRect.right().
      
      Corner rectangles only have to influence height of the left/right tile
      and width of the top/bottom tile. Width of the left/right tile and
      height of the top/bottom tile should not be controlled by corner tiles.
      
      Overall, this is how shadow quads are computed:
      
      * Compute the outer rectangle;
      * Compute target rectangle for each corner tile. If some corner tile is
        missing, move the target rectangle to the corresponding corner of the
        inner shadow rect and set its width and height to 0. We need to do
        that to prevent top/right/bottom/left tiles from spanning over
        corners:
      
      {F6190219, layout=center, size=full}
      
      We would rather prefer something like this if the top-left tile is
      missing:
      {F6190233, layout=center, size=full}
      
      * Fix overlaps between corner tiles;
      * Compute target rectangles for top, right, bottom, and left tiles;
      * Fix overlaps between left/right and top/bottom shadow tiles.
      
      Test Plan:
      * Ran tests;
      * Resized Konsole to its minimimum size(on X11 and Wayland);
      * Opened the calendar popup(on X11 and Wayland):
      
      Before:
      {F6190344, layout=center, size=full}
      
      After:
      {F6190346, layout=center, size=full}
      
      Reviewers: #kwin, davidedmundson
      
      Reviewed By: #kwin, davidedmundson
      
      Subscribers: abetts, davidedmundson, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D14783
      5e55664d
    • Roman Gilg's avatar
      [platforms/virtual] Set raw physical size of outputs · 95cb47ca
      Roman Gilg authored
      Summary: At least one test requires the physical size to be set.
      
      Test Plan:
      Lock screen screen edges test is passing again. Without the change the corner
      offset in the ScreenEdges class is not calculated correctly via the
      physicalDpiX() and physicalDpiY() values of an auxilliary QWidget.
      
      Reviewers: #kwin, davidedmundson
      
      Reviewed By: #kwin, davidedmundson
      
      Subscribers: davidedmundson, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D15183
      95cb47ca
    • Roman Gilg's avatar
      [colorcorrection] Set gamma through Output class · 9cf2730f
      Roman Gilg authored
      Summary:
      With the new Output class we can set the gamma directly here. This is also
      a stepping stone to adjust individual output gamma adjustment later on.
      
      This means any future backend, which aims to support the color correction
      frontend needs to use the Output class.
      
      Test Plan: Night Color test still passes.
      
      Reviewers: #kwin
      
      Subscribers: kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D11803
      9cf2730f
    • Roman Gilg's avatar
      [platforms/virtual] Let VirtualOutput inherit Output · b22c362b
      Roman Gilg authored
      Summary:
      Let VirtualOutput be a child class of the new generic class Output.
      This allows code sharing and a very similar behavior of the Virtual backend
      in comparision to the Drm backend.
      
      Test Plan:
      Autotests succesful with two exceptions: The decoration input test fails on
      testDoubleTap, row topLeft. This is to be expected because now the
      ScreenEdgeInputFilter captures the event at position (0,0) before the
      DecorationEventFilter can capture it. The autotest was adapted to take this
      special case into account.
      
      Also the lockscreen test fails, because the virtual output is currently missing
      the physical size yet.
      
      Reviewers: #kwin
      
      Subscribers: kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D11789
      b22c362b
    • Roman Gilg's avatar
      Introduce OutputScreens class · 34823782
      Roman Gilg authored
      Summary:
      Lift high-level properties into new Screens child class for platform plugins
      using the Output class.
      
      Directly make DrmScreens a child class of OutputScreens.
      
      Test Plan: Manually and auto tests with 94%.
      
      Reviewers: #kwin
      
      Differential Revision: https://phabricator.kde.org/D11782
      34823782
    • Roman Gilg's avatar
      Introduce generic Output class · fe63e21f
      Roman Gilg authored
      Summary:
      In order to separate high-level properties of individual outputs from
      hardware-specific ones and access these, introduce a new generic class Output.
      
      Also make the DrmOutput class directly a child class of this generic class.
      
      The long-term goal is to get rid of the Screens global object on Wayland and
      instead directly work with Output objects on compositing level.
      
      This should enable us long-term to do direct scanout to hardware planes, what
      I predict needs this generic output representation at one point.
      
      Test Plan: Manually.
      
      Reviewers: #kwin
      
      Subscribers: kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D11781
      fe63e21f
  6. 30 Aug, 2018 8 commits
  7. 29 Aug, 2018 1 commit
  8. 27 Aug, 2018 3 commits
  9. 26 Aug, 2018 3 commits
  10. 25 Aug, 2018 1 commit
  11. 22 Aug, 2018 1 commit
  12. 21 Aug, 2018 3 commits
    • Vlad Zahorodnii's avatar
      [effects/diminactive] Fix initialization of m_activeWindow on reconfigure · defa1061
      Vlad Zahorodnii authored
      Summary:
      The Dim Inactive effect sees the world a little bit differently.
      m_activeWindow is currently active window that can be dimmed later on.
      In most cases, it's the same as effects->activeWindow(). In rare cases,
      it can be nullptr, even when effects->activeWindow() is not equal to nullptr
      (e.g. when active window is a context menu popup).
      
      canDimWindow is a helper that returns true if a given window should be
      dimmed, otherwise it returns false. It has one special case: if a given
      window is equal to m_activeWindow, return false. I.e. don't dim active
      windows.
      
      Currently, if user changes config of this effect, active window becomes
      dimmed.
      
      The reason for that is we hit that special case when deciding whether
      effects->activeWindow() should be m_activeWindow.
      
      This change addresses that problem by resetting m_activeWindow so we
      don't hit that special case.
      
      Test Plan:
      * Opened KCM of this effect;
      * Changed strength;
      * (the KCM window stayed bright after I clicked "Apply" button).
      
      (everything else works as expected)
      
      Reviewers: #kwin, davidedmundson
      
      Reviewed By: #kwin, davidedmundson
      
      Subscribers: kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D14973
      defa1061
    • Vlad Zahorodnii's avatar
      [effects] Rewrite the Dim Inactive effect · 5165ee45
      Vlad Zahorodnii authored
      Summary:
      The Dim Inactive effect was rewritten mostly to fix most of issues with
      it, e.g. after leaving a full screen effect(e.g. Desktop Grid) windows
      sometimes are not dimmed back, or when a window becomes inactive there
      is no smooth transition, etc.
      
      {F5956124}
      //Before: the window is not smoothly dimmed.//
      
      {F5956127}
      //After: the window is smoothly dimmed.//
      
      In combination with an effect that animates the disappearing of windows,
      e.g. Glide, the rewritten Dim Inactive effect doesn't "flash" windows.
      If an active window has been closed, it will stay bright. If an inactive
      window has been closed, it will stay dimmed.
      
      Among other changes, the KCM has been re-designed to follow common KCM
      design in Plasma:
      
      {F5956128, layout=center, size=full}
      
      The way the rewritten Dim Inactive effect handles flashing/flickering problem can be
      reused in the Dialog Parent effect.
      
      ### Demo
      
      {F5959885}
      //Before: dimming of a window group.//
      
      {F5959886}
      //After: Dimming of a window group.//
      
      Depends on D13740
      
      CCBUG: 359251
      
      Test Plan:
      Test plan #1
      * Activated the Desktop Grid effect
      * Dimmed windows smoothly brightened
      * Left desktop grid
      * Windows dimmed back
      
      Test plan #2
      * Opened Dolphin and its Preferences window
      * Clicked on desktop, both Dolphin and the Preferences window dimmed
      * Clicked on Dolphin, both windows smoothly brightened back
      
      Reviewers: #kwin, #plasma, #vdg, davidedmundson
      
      Reviewed By: #kwin, #plasma, #vdg, davidedmundson
      
      Subscribers: davidedmundson, abetts, ngraham, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D13720
      5165ee45
    • Script Kiddy's avatar
      SVN_SILENT made messages (.desktop file) - always resolve ours · e3815aea
      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"
      e3815aea
  13. 20 Aug, 2018 1 commit
  14. 19 Aug, 2018 2 commits
    • Vlad Zahorodnii's avatar
      [effects/logout] Animate ksmserver-logout-greeter · 0a31feb3
      Vlad Zahorodnii authored
      Summary:
      On Wayland session, the logout screen has "ksmserver-logout-greeter
      ksmserver-logout-greet" window class, so let's animate it too.
      
      Test Plan:
      * Started Wayland session;
      * Pressed Ctrl+Alt+Del;
      * (the logout screen smoothly faded in);
      * Clicked the Cancel button;
      * (the logout screen smoothly faded out)
      
      * Started X11 session;
      * Pressed Ctrl+Alt+Del;
      * (the logout screen smoothly faded in);
      * Clicked the Cancel button;
      * (the logout screen smoothly faded out)
      
      Reviewers: #kwin, #plasma, davidedmundson
      
      Reviewed By: #kwin, #plasma, davidedmundson
      
      Subscribers: davidedmundson, abetts, kwin
      
      Tags: #kwin
      
      Differential Revision: https://phabricator.kde.org/D14848
      0a31feb3
    • Script Kiddy's avatar
      SVN_SILENT made messages (.desktop file) - always resolve ours · 7763b586
      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"
      7763b586
  15. 18 Aug, 2018 1 commit
  16. 17 Aug, 2018 2 commits