Commit graph

16309 commits

Author SHA1 Message Date
David Edmundson
29ca2a1e47 Merge branch 'Plasma/5.13' 2018-06-24 13:29:03 +01:00
David Edmundson
463ccfc8bb Revert "Workaround crash in Aurorae destruction"
This reverts commit 275b7ee0f4.

BUG: 395732
2018-06-24 13:28:23 +01:00
l10n daemon script
47b27b1885 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2018-06-24 07:14:49 +02:00
l10n daemon script
e69da579f6 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2018-06-24 05:32:09 +02:00
David Edmundson
c857c03561 Load Kwin's internal cursors for the highest resolution of attached monitors
Test Plan:
Hovered over decoration
Looked super crystal clear
Same physical size as when I hover over window contents (which had a buffer scale of 1)

Reviewers: #kwin, graesslin

Reviewed By: #kwin, graesslin

Subscribers: graesslin, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D13608
2018-06-23 23:26:54 +01:00
David Edmundson
1761b75b55 Set correct DPR on wayland cursors received from remote buffers
Summary:
It will then be renderered appropriately when painting to the output
buffer.

Test Plan: Updated unit test, plus used with other relevant patches

Reviewers: #kwin, graesslin

Reviewed By: #kwin, graesslin

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D13606
2018-06-23 18:17:51 +01:00
David Edmundson
6bdfea6d2f Remove concept of resolution dependent cursors
Summary:
It's not a concept that makes sense with proper scaling.

Cursor should be the big if you chose a big size, small if you choose a small size,
regardless of what output it happens to be on.

Test Plan:
Set size to 0
Ran kwin
Cursor size was fine

Reviewers: #kwin, graesslin

Reviewed By: #kwin, graesslin

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D13607
2018-06-23 18:15:41 +01:00
David Edmundson
2cc42ecc12 DRM cursor scaling
Summary:
We pass the buffer scale of the cursor through QImage::devicePixelRatio.

When copying the cursor with QPainter use Qt's in-built functionality to
handle resizing the cursor pixmap as necessary to match the screen.

As we're now resizing the cursor, the hotspot needs translating from
logical to device co-ordinates.

Test Plan: Used with associated patches

Reviewers: #kwin, graesslin

Reviewed By: #kwin, graesslin

Subscribers: graesslin, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D13605
2018-06-23 18:15:41 +01:00
David Edmundson
9ff1f77e8e Support cursor scaling in X windowed backend
Test Plan:
Ran kwin_wayland --windowed  --scale2

Hovered over deco. Got massive and detailed cursor
Hovered over a wayland client (Qt 5.11 not dev)
Got a massive, but slightly blocky cursor

Reviewers: #kwin, graesslin

Reviewed By: #kwin, graesslin

Subscribers: zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D13642
2018-06-23 18:15:41 +01:00
Vlad Zagorodniy
263503f8ec [effects/slide] Disable "Slide docks"
Summary:
D9638 made docks to slide to "fix" the problem when switching to a
virtual desktop that has a window in full screen mode:

{F5615542}

As it turns out, people don't like this kind of behaviour. Another
problem with sliding of docks is that pager goes away.

This change disables sliding of docks by default. One can enable sliding
of docks by checking "Slide docks" checkbox in slide effect KCM.

Yet, transition to/from virtual desktop with a window in full screen
mode doesn't look great but that's somewhat acceptable:

{F5915681}

//(we don't see issues that are present in the video above because the new slide effect elevates docks if sliding of docks is disabled)//

Test Plan: Switched between virtual desktops, the default panel didn't slide.

Reviewers: #kwin, #plasma, #vdg, ngraham, graesslin

Reviewed By: #kwin, #plasma, #vdg, ngraham, graesslin

Subscribers: ngraham, graesslin, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D13566
2018-06-23 12:06:08 +03:00
Vlad Zagorodniy
6a175ece48 [libkwineffects] Add keepBelow property to EffectWindow
Summary:
EffectWindow has keepAbove property, but not keepBelow.

This change adds keepBelow property as a counterpart to keepAbove.

Test Plan: Manually.

Reviewers: #kwin, mart

Reviewed By: #kwin, mart

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D13650
2018-06-22 12:39:01 +03:00
Vlad Zagorodniy
dcc349c1ef Add some missing properties to Deleted
Summary:
### keepAbove

Some effects(e.g. Dim Inactive) can take keep above state of a window
into account when they are making decision whether to operate on it.
Because Deleted doesn't expose keepAbove property, it will be always
`true`, which is wrong.

### keepBelow

This property was added as a counterpart to keepAbove.

### caption

That's mostly for debugging purposes, e.g.

```lang=cpp
void CoolEffect::windowClosed(EffectWindow *w)
{
    qDebug() << w->caption() << "has been closed";
    qDebug() << "keep above:" << w->keepAbove();
}
```

Test Plan: Manually.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D13649
2018-06-22 12:27:39 +03:00
l10n daemon script
f44b04e61e SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2018-06-21 07:15:30 +02:00
David Edmundson
be5d0f6bac Merge branch 'Plasma/5.13' 2018-06-21 01:50:23 +01:00
David Edmundson
275b7ee0f4 Workaround crash in Aurorae destruction
Summary:
Workaround QtBug-68997

Deleting of a RenderControl/render controlled window triggers deletion
of other queued deleted items, putting KWin in a corrupt state. See Qt
bug report.

Deleting this queued means we know we don't have anything else going on
in the stack which should make this somewhat safe.

BUG: 395346

Test Plan:
Couldn't reproduce original crash. Based purely on the incomplete backtrace and code reading

Set an Aurorae theme. Closed some windows. Things still worked as before

Reviewers: #kwin, #plasma, mart

Reviewed By: #kwin, #plasma, mart

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D13614
2018-06-20 09:39:29 +01:00
Vlad Zagorodniy
e9ab34854d [effects] Ignore previous state of WindowForceBlurRole
Summary:
Currently, effects like Maximize, Slide Back have problems with setting
WindowForceBlurRole. They store previous state of WindowForceBlurRole.
This is wrong. Instead they should either ignore previous state of
WindowForceBlur or refcount forced role.

There's no need for refcounting right now. For example, if several effects
force blur or background contrast, they are most likely in a conflict.
Please notice that the Desktop Grid effect uses the Present Windows
effect only to calculate transformations.

Some other problems with the code that sets WindowForceBlurRole:
* Maximize effect stores previous state of WindowForceBlurRole only
  for one window. It ignores the fact that there could be several
  active maximize animations;
* Desktop Grid/Present Windows/Slide back don't clean after themselves.
  So, after using those effects for good amount of times, memory usage
  will bump.

Test Plan:
* Enabled blur for Konsole
* Maximized Konsole
* Activated Present Windows
* Activated Desktop Grid
* Raised another window(to trigger Slide Back)

Reviewers: #kwin, fredrik

Reviewed By: fredrik

Subscribers: fredrik, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D13479
2018-06-19 15:23:41 +03:00
Jonathan Riddell
e92b9a65d8 Update version number for 5.13.1
GIT_SILENT
2018-06-19 11:12:41 +01:00
Vlad Zagorodniy
64d1b0e93c [effects/slide] Add "Slide desktop background" option
Summary:
Some people may not like the sliding of desktop background. Add
corresponding option to disable the sliding of desktop background.

By disabling the sliding of desktop background and docks, one can
get old slide effect.

{F5912713, layout=center, size=full}

Test Plan:
* Unchecked "Slide desktop background" checkbox, switched desktop;
* Checked "Slide desktop background" checkbox, switched desktop.

Reviewers: #kwin, #plasma, #vdg, mart

Reviewed By: #kwin, #plasma, #vdg, mart

Subscribers: romangg, abetts, ngraham, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D13542
2018-06-19 12:35:53 +03:00
l10n daemon script
1879303d5b SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2018-06-19 06:02:57 +02:00
Alex Nemeth
982316072d [libkwineffects/kwinglutils] Calculate correct srcY0 and srcY1 in GLRenderTarget::blitFromFramebuffer
Summary:
There are several spaces that have to be considered in `GLRenderTarget::blitFromFramebuffer`:
* KWin logical space: the origin is located at the global top-left corner
* display space: the origin is located at the top-left corner of monitor/display
* OpenGL screen space: the origin is located at the bottom-left corner of monitor/display

Given `s`, which is in the KWin logical space, we have to transform it to the display space, then to the OpenGL screen space:

* KWin logical space -> display space: `y' = s.y() - s_virtualScreenGeometry.y()`
* display space -> OpenGL screen space: `y'' = s_virtualScreenGeometry.height() - y'`

Overall, `srcY0` and `srcY1` should be written as follows:

```
srcY0 = s_virtualScreenGeometry.height() - (s.y() - s_virtualScreenGeometry.y() + s.height())
srcY1 = s_virtualScreenGeometry.height() - (s.y() - s_virtualScreenGeometry.y())
```

Test Plan:
Tweak background contrast effect to use GLRenderTarget::blitFromFramebuffer

```
diff --git a/effects/backgroundcontrast/contrast.cpp b/effects/backgroundcontrast/contrast.cpp
index f920fcd88..5247d83b8 100644
--- a/effects/backgroundcontrast/contrast.cpp
+++ b/effects/backgroundcontrast/contrast.cpp
@@ -447,11 +447,10 @@ void ContrastEffect::doContrast(EffectWindow *w, const QRegion& shape, const QRe
     GLTexture scratch(GL_RGBA8, r.width() * scale, r.height() * scale);
     scratch.setFilter(GL_LINEAR);
     scratch.setWrapMode(GL_CLAMP_TO_EDGE);
-    scratch.bind();

-    const QRect sg = GLRenderTarget::virtualScreenGeometry();
-    glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, (r.x() - sg.x()) * scale, (sg.height() - sg.y() - r.y() - r.height()) * scale,
-                        scratch.width(), scratch.height());
+    GLRenderTarget scratchTarget(scratch);
+    scratchTarget.blitFromFramebuffer(r);
+    scratch.bind();

     // Draw the texture on the offscreen framebuffer object, while blurring it horizontally

```

GLRenderTarget::blitFromFramebuffer without this change:
{F5817883, layout=center, size=full}

Reviewers: #kwin, fredrik, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kpiwowarski, davidedmundson, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D12452
2018-06-18 19:05:23 +01:00
Alex Nemeth
2419c949bf Fix multimonitor blur
Summary:
On wayland blur on secondary monitor would not render correctly.

BUG: 393723
Depends on D12452

Test Plan:
 - use more than one output
 - log in in a wayland session
 - open a transparent window (for example: Konsole with transparent and blur enabled profile)
 - drag the window to another screen
 - blurs the content under the window corretly

Reviewers: #kwin, graesslin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: apol, zzag, davidedmundson, kwin, #kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D12678
2018-06-18 19:05:23 +01:00
David Edmundson
6f6f224315 Merge branch 'Plasma/5.13' 2018-06-18 15:37:05 +01:00
Alex Nemeth
be3168b832 [effects/blur] Check for blitting support
Summary:
In D12678 blur was changed to use `blitFromFramebuffer()` instead of `glCopyTexSubImage2D()`
Now it checks if the GPU supports it.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D13246
2018-06-18 15:36:17 +01:00
Alex Nemeth
37f4c54d17 Fix blur on Wayland when scaling is used
Summary:
Blur should now work on Wayland when scaling is used.
This does not affect X11 as `GLRenderTarget::virtualScreenScale()` is always 1 on X11

BUG: 391387
Depends on D12678

Test Plan:
  - log in in a Wayland session
  - turn display scaling to 2x
  - open a transparent window (for example: Konsole with transparent and blur enabled profile)
  - blurs the content under the window corretly

Reviewers: davidedmundson, #kwin

Reviewed By: davidedmundson, #kwin

Subscribers: romangg, apol, zzag, kwin, #kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D12700
2018-06-18 15:35:41 +01:00
Vlad Zagorodniy
7bfaa6e913 [effects] Use more effectData() in BuiltInEffects
Summary:
While BuiltInEffects has effectData() function, many functions repeat
s_effectData.at(index(effect)), which is what effectData() is doing.

By using effectData(), we'll get rid of those repetitions and maybe make
easier transition to other underlying data structure that stores metadata
for builtin effects.

Test Plan: Compiles, all enabled builtin effects are loaded and working.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D13587
2018-06-18 16:28:57 +03:00
Vlad Zagorodniy
168109f3bb [effects/blur] Clean up shader code
Summary:
* Drop abstract BlurShader class
* Delete evil "using namespace KWin"
* Fix includes
* Use smart pointers
* Turn BlurShader into a QObject
* Fix coding style
* Add missing default cases
* Use default member initialization
* Delete methods that are used only once
* Use more const
* Use QRect::{top,right,bottom,left} methods in the setBlurRect method

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D13110
2018-06-18 15:50:52 +03:00
l10n daemon script
b6f22a98a7 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2018-06-18 07:51:12 +02:00
l10n daemon script
d8addb6b3a SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2018-06-18 07:25:30 +02:00
l10n daemon script
6b0d2fc027 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2018-06-18 05:35:02 +02:00
Vlad Zagorodniy
586460dbfc [kcmkwin/kwindesktop] Make Slide effect configurable
Summary:
Even though the Slide effect has a KCM, it's not possible to configure
it [slide effect] from the virtual desktops KCM.

This change addresses the problem above.

### Before

{F5912774, layout=center, size=full}

### After

{F5912775, layout=center, size=full}

BUG: 395377

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: davidedmundson, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D13544
2018-06-17 19:38:32 +03:00
Roman Gilg
ddb44b4383 Small code style improvement 2018-06-14 15:48:52 +02:00
Vlad Zagorodniy
8593823f6c [effects/fallapart] Fade out window parts
Summary:
Window parts disappear very rapidly, it feels not really pleasant.
Animate also opacity so window parts disappear over time. This
makes fall apart animation more pleasant.

### Before

{F5912359}

### After

{F5912360}

Test Plan:
* Enabled fall apart effect
* Closed System Settings

Reviewers: #kwin, #plasma, #vdg, davidedmundson

Reviewed By: #kwin, #plasma, #vdg, davidedmundson

Subscribers: ngraham, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D13528
2018-06-14 16:38:12 +03:00
David Edmundson
9260b3c51e Revert "Disable unit test which fails to compile on the CI system."
This reverts commit e6cdf966ff.

[11:18] <bcooksley> it should be okay to restore
2018-06-14 11:31:24 +01:00
Vlad Zagorodniy
5daa612bce [effects/fallapart] Fix flickering problem
Summary:
The Fall Apart effect doesn't grab windows so a conflict could happen
if an alternative window open/close animation effect is enabled(e.g.
Fade, Glide).

### Before

{F5912324}

//Fall apart and Fade conflict with each other.//

### After

{F5912325}

//Only Fall apart animates the disappearing of System Settings.//

Test Plan:
* Enabled fall apart effect and fade effect
* Closed a window

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D13527
2018-06-14 13:22:58 +03:00
David Edmundson
3e2ff0e870 compare doubles to doubles
Summary:
Should resolve undefined reference to `bool QTest::qCompare<double, int>
error on 5.9

Test Plan:
Still compiles/passes
Not actually tested on 5.9

Reviewers: #kwin, #plasma

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D13526
2018-06-14 09:21:07 +01:00
Ben Cooksley
e6cdf966ff Disable unit test which fails to compile on the CI system.
This test is blocking the ability of the CI system to return to service for Extragear projects on some platforms.

This commit may not be reverted without the explicit consent of Sysadmin.

CCMAIL: plasma-devel@kde.org
CCMAIL: kwin@kde.org
2018-06-14 20:00:32 +12:00
l10n daemon script
f9a3a97dc7 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2018-06-13 07:33:20 +02:00
Roman Gilg
2694839099 Remove pointer constraint on resource unbind
Summary:
A client might delete its pointer lock/confinement object. This is supposed to
directly remove the pointer lock/confinement in KWin, but did not explicitly
until now.

BUG: 388885

Test Plan:
Tested manually with Neverball, Nexuiz and the new pointer constraints test
application. The pointer constraints autotest is also appended.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: davidedmundson, graesslin, kwin

Tags: #kwin

Maniphest Tasks: T8923

Differential Revision: https://phabricator.kde.org/D13466
2018-06-11 22:46:06 +02:00
Vlad Zagorodniy
e38ecfcbcf [effects/slide] Completely delete forced roles
Summary:
The slide effect doesn't completely remove forced blur and background
contrast roles. According to `EffectWindow::setData` implementation,

```lang=cpp
void EffectWindowImpl::setData(int role, const QVariant &data)
{
    if (!data.isNull())
        dataMap[ role ] = data;
    else
        dataMap.remove(role);
    emit effects->windowDataChanged(this, role);
}
```

in order to delete previously set data, we should pass a null variant.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: davidedmundson, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D13470
2018-06-11 15:32:19 +03:00
Vlad Zagorodniy
1a1845b7d7 [effects/slide] Use FormLayout in KCM
Summary:
HBoxLayout was a bad choice for label-spinbox pairs. Use appropriate
layout(FormLayout) for such things.

Test Plan: The KCM still looks the same.

Reviewers: #kwin, mart

Reviewed By: #kwin, mart

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D13422
2018-06-11 15:31:56 +03:00
David Edmundson
1193e3c369 Correctly check forcebackgroundcontrastrule
Summary:
WindowBackgroundContrastRole property is a bool or undefined.

QVariant::isValid() returns true for QVariant(false) which is not what
we want for this code.

toBool on an invalid QVariant will return false.

Test Plan:
NA. Was based on code review.
To get a bug you'd have to PresentWindows/Slide effect manipulate a sliding popup, which
AFAIK doesn't happen.

Reviewers: #kwin

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D13478
2018-06-11 10:44:05 +01:00
David Edmundson
5b4eb80c8f Set specific edge cursor shape when resizing
Summary:
Instead of seeing the cursor <--> on the left edge you now see an icon
that looks like |<-  .

This brings kwin decorations in line with GTK CSD icons.

In theory this is also useful to tell which window will resize in the
case of side-by-side windows (regardless of whether borders are on or
not). In practice with the adwaita icon theme I tested with it's not
very intuitive to realise which is which till you learn the icon.

Change is more involved than it should be as Qt::CursorShape doesn't
have these entries, and I don't want to shadow that enum internally or
have
to change kwin effect code.

Specifics depend on cursor icon theme if they are not present it will
fallback to the <--> icon. (Breeze does not have them currently)

Test Plan:
Resized some windows (on X and on Wayland)
Correct icon appeared on Adwaita
Existing icon appeared on Breeze

Reviewers: #plasma

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D13396
2018-06-11 10:05:07 +01:00
Roman Gilg
fcfe8763f6 [tests] Fix unconfine Button 2018-06-10 19:50:44 +02:00
Martin Flöser
c86fdf4c54 Merge branch 'Plasma/5.13' 2018-06-10 09:20:00 +02:00
Martin Flöser
c44adda40f Hide decoration tooltip when the decoration gets destroyed
Summary:
BUG: 394977
FIXED-IN: 5.13.1

Test Plan: Manual testing

Reviewers: #kwin, #plasma

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D13299
2018-06-10 09:18:51 +02:00
Roman Gilg
497d077349 [tests] Add pointer constraints test
Summary:
Provides a testing application for pointer locking and pointer confining in
a Wayland session.

The application can be started with QT_QPA_PLATFORM variable set to wayland
or xcb to test constraining in native mode as well as through Xwayland.

Several modes and properties can be selected to test various forms of locking
and confining.

{F5899580}

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: davidedmundson, zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D13439
2018-06-09 15:22:49 +02:00
Vlad Zagorodniy
7550d2a020 [effects/dimscreen] Use QSet for checking whether activated window asks for permissions
Summary:
Do not construct QStringList with classes of windows that ask for
permissions. Instead, create a static set of those window classes (to
avoid the unnecessary construction of QStringList and make lookups
faster).

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D13440
2018-06-09 12:27:52 +03:00
Bhushan Shah
7e2687ed3f Update version number for 5.13.0
GIT_SILENT
2018-06-07 17:46:55 +05:30
Vlad Zagorodniy
d50f28033a [kcmkwin/kwindecoration] Properly render shadows with big tiles
Summary:
Decoration KCM module doesn't render properly shadows with big tiles.
This change tries to address that problem by clipping overlaps, similar
to the OpenGL backend.

Before

{F5734862, layout=center, size=full}

After

{F5734863, layout=center, size=full}

Test Plan:
* apply a given patch https://raw.githubusercontent.com/zzag/repo/sources/arch/breeze/refine-decoration-shadows.patch to breeze
* go to System Settings/Application Style/Window Decorations

Reviewers: #kwin, graesslin

Reviewed By: #kwin, graesslin

Subscribers: abetts, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D10942
2018-06-07 12:47:01 +03:00
Vlad Zagorodniy
2d01ba6450 [scenes/qpainter] Draw decoration shadows
Summary:
QPainter doesn't render decoration shadows. It renders only
shadows provided through ShadowInterface.

With this change, painting of shadows is done in similar way OpenGL backend is
currently doing.

Before

{F5734867, layout=center, size=full}

After

{F5734870, layout=center, size=full}

Depends on D10811 (dummy decoration with shadows in autotests)

Test Plan:
* start kwin with QPainter backend enabled:

```
KWIN_COMPOSE=Q kwin_wayland --xwayland --windowed
```

* open konsole and kate:

```
DISPLAY=:1 konsole
DISPLAY=:1 kate
```

Reviewers: #kwin, graesslin, davidedmundson

Reviewed By: davidedmundson

Subscribers: abetts, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D10943
2018-06-07 12:27:31 +03:00