Commit graph

3304 commits

Author SHA1 Message Date
l10n daemon script
c244ee5e3e 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-10-07 06:07:19 +02:00
l10n daemon script
e16334b3f2 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-10-06 05:50:39 +02:00
Vlad Zagorodniy
0e50a9d55c Merge branch 'Plasma/5.14' 2018-10-04 21:41:38 +03:00
Vlad Zagorodniy
e9fd57285f [effects/zoom] Set wrap mode for cursor texture
Summary:
With the Oxygen cursor theme, a visual glitch can appear in the
bottom-left corner of the cursor when the screen is zoomed in.

The reason for that is we're using GL_REPEAT for GL_TEXTURE_WRAP_S
and GL_TEXTURE_WRAP_T. So, when the linear filter samples neighboring
texels in the bottom, it can sample some texels from the top (because of
GL_REPEAT).

To fix that, we have to set the wrap mode to GL_CLAMP_TO_EDGE.

BUG: 338254
FIXED-IN: 5.14.0

Test Plan:
Before:
{F6303912}

After:
{F6303913}

Tried other cursor themes(Breeze and Adwaita), everything looks okay.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: davidedmundson, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D15949
2018-10-04 21:40:49 +03:00
David Edmundson
a10647edf5 Disable fade effect during fullscreen effects
Summary:
This means that if one opens/closes a window whilst present windows (for
example) is active we don't have two effects meddling with the opacity.

Like glide and scale this disables if it's invoked during an active full
screen effect, but it does not cancel animations that are running when a
full screen effect is launched.

Test Plan:
Windows still fade normally as before
Ran sleep ; dolphin with present windows / cube
Present windows fades windows itself so it's hard to see any difference
But it's more technically correct

Reviewers: #kwin, zzag

Reviewed By: #kwin, zzag

Subscribers: zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D15933
2018-10-04 13:05:51 +01:00
l10n daemon script
d6e4096d76 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-10-04 05:56:51 +02:00
Vlad Zagorodniy
6cac594acb [effects/slide] Simplify logic that forces blur and background contrast
Summary:
The "Force" part in WindowForceBackgroundContrastRole and WindowForceBlurRole
is confusing. If WindowForceBlurRole is set on a window, background
behind it won't be blurred.

By setting WindowForceBlurRole we tell the Blur effect "that's fine to
do your business behind transformed windows."

The Slide effect only translates windows, it doesn't distort them, etc.
So, we can set WindowForceBackgroundContrastRole and WindowForceBlurRole
for all windows.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: davidedmundson, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D15707
2018-10-02 19:54:37 +03:00
Vlad Zagorodniy
6f5b3fbe40 [effects/slidingpopups] Do not add full window repaint in windowDeleted slot
Summary:
Full window repaints issued by the Sliding Popups effect can hide bugs in
other effects that animate the disappearing of windows (e.g. Scale).

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D15822
2018-10-02 19:51:52 +03:00
l10n daemon script
4bcd809664 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-10-02 05:58:17 +02:00
l10n daemon script
972108e585 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-09-30 05:55:57 +02:00
l10n daemon script
0b8453c62f 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-09-29 08:22:49 +02:00
l10n daemon script
9f9e9f796b 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-09-29 06:04:44 +02:00
Vlad Zagorodniy
e822d27cbe [effects/cube] Update cubecap texture
Summary: Current cubecap texture is an old KDE logo. Let's use something newer.

Test Plan:
Before:
{F6282237}

After:
{F6282239}

Before:
{F6282372}

After:
{F6282375}

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

Reviewed By: #kwin, #plasma, davidedmundson

Subscribers: davidedmundson, ngraham, broulik, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D15726
2018-09-28 21:20:11 +03:00
Vlad Zagorodniy
72ad5dc894 [effects/slide] Delete redundant checks
Summary:
If isActive() returns false, neither paintScreen nor paintWindow nor
postPaintScreen will be called.

So, `if (m_active)` checks are redundant.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D15708
2018-09-28 20:21:24 +03:00
Vlad Zagorodniy
1de9648a89 [effects/showpaint] Use a shortcut to toggle the effect
Summary:
The Show Paint effect is useful when debugging repaint regions issued by
effects. The only headache with it is necessity to enable/disable it.
Consider the following workflow:

* Do some change to an effect;
* Compile KWin (or the effect);
* Go to System Settings and enable the Show Paint effect;
* Test effect, check repaint regions, etc;
* Disable the Show Paint effect;
* Go to the step 1.

This workflow is really exhausting. Also, when testing repaints in a
nested compositor, things become quite messy.

Because purpose of this effect is to debug repaints (and because this
effect is not meant for daily usage), I think that's fine to change
how it's activated.

This patch improves the workflow by changing the way how this effect
gets activated. Instead of enabling/disabling it, one can just use a shortcut
to activate or deactivate the effect.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: broulik, davidedmundson, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D15703
2018-09-28 20:12:22 +03:00
Vlad Zagorodniy
fa6fa27935 [effects] Move the Desktop Cube Animation effect to its own directory
Summary: Just little tidying.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D15725
2018-09-28 20:07:32 +03:00
Vlad Zagorodniy
12bd16968f [effects/blur] Add missing override keywords
Test Plan: Compiles.

Reviewers: #kwin, broulik

Reviewed By: broulik

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D15712
2018-09-24 15:42:22 +03:00
Vlad Zagorodniy
646032a99d [effects/morphingpopups] Use enumerators from the DataRole enum
Summary:
Use Effect.WindowForceBackgroundContrastRole and Effect.WindowForceBlurRole
instead of integers to improve readability.

Reviewers: #kwin, broulik

Reviewed By: broulik

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D15709
2018-09-24 15:41:13 +03:00
Igor Poboiko
1115ca8490 [effects/cubeslide] Fix "sticky" windows detection on Wayland
Summary: This is second part of {D15175}, and aimed at fixing Bug 390366.
The problem was that effect relied on isManaged() to detect OSDs and notifications, that should be painted on top of the cube. On Wayland, the desktop window itself is not managed, which made it "sticky".

Instead we use isSpecialWindow() check to explicitly make notifications and OSDs sticky.
It still requires fixing Plasma::Dialog, since it does not set isSpecialWindow() flag correctly.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D15496

BUG: 390366
FIXED-IN: 5.15.0
2018-09-17 22:27:21 +03:00
Vlad Zagorodniy
91ddeea750 [effects/coverswitch] Port to TimeLine
Test Plan: Compiles and still works.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: davidedmundson, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D15302
2018-09-17 13:35:46 +03:00
l10n daemon script
c7455c7177 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-09-17 07:34:47 +02:00
l10n daemon script
ce7e79cdd6 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-09-17 05:41:57 +02:00
l10n daemon script
a77b7a8df7 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-09-15 07:49:44 +02:00
l10n daemon script
57df948ca1 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-09-15 06:01:01 +02:00
Igor Poboiko
525e96cc18 [effects/cubeslide] Slightly improve readability of the code 2018-09-14 12:52:32 +03:00
Vlad Zagorodniy
9043c092f9 [effects/cubeslide] Always slide desktop window 2018-09-14 12:46:34 +03:00
Igor Poboiko
ca1b5ea107 [effects/cubeslide] Fix visual glitches with Blur / BackgroundContrast effect
Summary:
Bugs occurred because KWin was not very happy when windows were painted during CubeSlideEffect::paintScreen().
Another issue is that blur, although it was supposed to, did not work at all (haven't found appropriate bug on bugzilla).
As well as background contrast effect.

This patch does the following thing:

 - Adopted WindowForceBlur / WindowForceBackgroundContrast logic from SlideEffect, instead of panels/stickyWindows QSets (those become useless anyway)
 - Added shouldAnimate code, which determines whether a window should be animated with the cube (i.e. ordinary windows) or should stick (i.e. panels or pinned windows, if corresponding options are checked in the settings)
 - It paints an additional non-transformed screen, on which it paints only "sticky" windows. This is done because otherwise KWin would apply blur not behind the OSD, but on the same place on moving cube face.
 - (in addition) switched to new Qt5 connect syntax.

Reviewers: #kwin, zzag

Differential Revision: https://phabricator.kde.org/D15175

BUG: 361516
BUG: 362360
FIXED-IN: 5.15.0
2018-09-14 12:36:55 +03:00
David Edmundson
93b3ace067 [effects/fadedesktop] Fade to the correct opacity
Summary:
An opacity animation calls multiplyOpacity not setOpacity, therefore we
want to always fade between 0 and 1, not up to the window opacity.

Reviewers: #kwin, zzag

Reviewed By: #kwin, zzag

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D15476
2018-09-14 10:09:32 +02:00
David Edmundson
4ecbacff77 [effects/fadedesktop] Port to explicit animate API
Summary: No behavioural changes

Test Plan:
Set a slow animation speed
Changed desktop

Reviewers: #kwin, zzag

Reviewed By: #kwin, zzag

Subscribers: zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D15473
2018-09-14 10:09:22 +02:00
l10n daemon script
e4ff50624a 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-09-13 05:57:35 +02:00
Vlad Zagorodniy
74994a7fbd [effects/trackmouse] Allow to use both modifiers and shortcut
Summary:
The Track Mouse effect can be toggled either by pressing modifier keys
and moving mouse or by pressing a shortcut. It's not possible to use
the latter and then the former without changing config.

But there is one caveat, in order to use shortcut, you have to uncheck
all modifier keys. This seems to be not very intuitive.

In addition to that, the KCM allows to change shortcut even if there is
some checked modifier.

As the title says, this change makes possible to use both modifier keys
and shortcut to activate this effect without changing config.

KCM:
{F6237308, layout=center, size=full}

BUG: 398124
FIXED-IN: 5.14.0

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

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

Subscribers: broulik, abetts, ngraham, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D15272
2018-09-12 16:37:05 +03:00
Vlad Zagorodniy
cc1f30b43d [effects/showpaint] Modernize code
Summary:
Summary of changes:
* Use QVector to store colors
* Add Q_OBJECT macro
* Port away from QRegion::rects
* Fix coding style
* Use default member initialization
* Use nullptr
* Reserve rects in paintXrender

The behavior of this effect haven't been changed, it still acts as before.

Test Plan: Compiles, and the Show Paint effect is still a psychedelic thing.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D15424
2018-09-11 17:01:17 +03:00
Vlad Zagorodniy
113ebe9bc2 [effects] Fix type of X-KWin-Video-Url
Summary:
The desktop file parser supports only QString, QStringList, Int, Double,
and Bool. QUrl is not a supported type for some reason.

Thus, let's use QString for X-KWin-Video-Url.

Reviewers: #kwin, broulik

Reviewed By: broulik

Subscribers: Zren, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D15373
2018-09-11 13:46:35 +03:00
Vlad Zagorodniy
03a2a05fc7 [effects/dialogparent] Fix strict mode issues
Summary:
Modification of undeclared variables is illegal in the strict mode, e.g.

```lang=js
mainWindows = window.mainWindows();
```

is illegal.

Test Plan: The Dialog Parent effect works with both QScriptEngine and QJSEngine.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D15413
2018-09-10 22:49:49 +03:00
Vlad Zagorodniy
617b4d92fa [effects/magnifier] Fix 1 px gap between magnified area and frame
Summary:
The x-coordinate of the area's left edge and y-coordinate of the area's
top edge are adjusted by 1px leading to a gap between the frame and
magnified area. Because area has type of QRect, we have to adjust only
coordinates of the right and bottom edge by 1 px.

Because QRectF::right() == QRectF::x() + QRectF::width(), we can use
QRectF, which leads to more cleaner code because we don't need to do 1px
adjustments.

Test Plan:
Before:
{F6235388, layout=center, size=full}

After:
{F6235439, layout=center, size=full}

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: davidedmundson, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D15275
2018-09-10 13:08:25 +03:00
l10n daemon script
62d659b90f 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-09-07 06:02:56 +02:00
Vlad Zagorodniy
3a46b3707a [effects/slide] Use QOverload
Summary: With QOverload the code is slightly cleaner.

Test Plan: Compiles.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D15300
2018-09-05 21:01:43 +03:00
l10n daemon script
ce31ac08d4 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-09-04 06:05:23 +02:00
l10n daemon script
1f4682f249 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-09-02 05:50:35 +02:00
Vlad Zagorodniy
624a453109 Clean up includes
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 3f5bf65a9e.

Test Plan: Compiles.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D15191
2018-08-31 22:58:11 +03:00
Andrius Štikonas
f96bea7c73 Fix capitalization typo. 2018-08-31 16:29:40 +00:00
Kai Uwe Broulik
0fd939425b Avoid global static for effects
Otherwise we call i18n without a QCoreApplication

Differential Revision: https://phabricator.kde.org/D15163
2018-08-30 13:01:43 +02:00
Yuri Chornoivan
bf58da3e9a Fix minor EBN issues 2018-08-29 21:02:16 +03:00
l10n daemon script
5e2e9dfa32 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-08-27 05:52:15 +02:00
l10n daemon script
67332d7c9d 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-08-26 05:43:38 +02:00
l10n daemon script
ef7079b3c5 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-08-25 05:42:28 +02:00
l10n daemon script
c2531b8637 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-08-22 05:48:57 +02:00
Vlad Zagorodniy
defa1061af [effects/diminactive] Fix initialization of m_activeWindow on reconfigure
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
2018-08-21 16:01:55 +03:00
Vlad Zagorodniy
5165ee45b5 [effects] Rewrite the Dim Inactive effect
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
2018-08-21 11:50:37 +03:00
l10n daemon script
e3815aea00 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-08-21 05:48:42 +02:00