Commit graph

3304 commits

Author SHA1 Message Date
Alex Nemeth
4156a0af4d [effects/slideback] Enable blur behind windows
Summary: Use the blur effect even while the window is sliding back.

Test Plan: {F5828577}

Reviewers: #kwin, #vdg, graesslin, ngraham

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

Subscribers: ngraham, graesslin, kwin, #kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D12625
2018-05-01 23:08:10 +02:00
Alex Nemeth
9644f29b8b [effects/maximize] Enable blur behind windows
Summary: Use the blur effect even while the window is being maximized/unmaximized.

Test Plan:
Before:

{F5828510}

After:

{F5828511}

Reviewers: #kwin, #vdg, graesslin, ngraham

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

Subscribers: ngraham, graesslin, zzag, kwin, #kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D12623
2018-05-01 23:04:56 +02:00
Alex Nemeth
c3e84e1073 [effects/desktopgrid] Enable blur behind windows
Summary: Use the blur effect even when the desktop grid is used.

Test Plan: {F5828458}

Reviewers: davidedmundson, fredrik, #vdg, #kwin, graesslin, ngraham

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

Subscribers: graesslin, kwin, #kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D12620
2018-05-01 23:01:55 +02:00
Alex Nemeth
424b9ac388 [effects/presentwindows] Enable blur behind windows
Summary:
Use the blur effect even when the present windows is used.
Previously it was only enabled for the close buttons and the dock.

Test Plan: {F5828442}

Reviewers: davidedmundson, fredrik, #vdg, #kwin, graesslin, ngraham

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

Subscribers: ngraham, zzag, kwin, #kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D12619
2018-05-01 22:59:08 +02:00
Friedrich W. H. Kossebau
a5a661211c Merge branch 'Plasma/5.12' 2018-04-30 23:50:35 +02:00
Friedrich W. H. Kossebau
86af84f13e Convert JS files to UTF-8 (from ISO-8859-15) 2018-04-30 23:37:10 +02:00
Alex Nemeth
16a0e24115 Fix blur noise effect using incorrect scaling value
Summary:
`QGuiApplication::primaryScreen()->logicalDotsPerInch()` sometimes reports incorrect scale value, for example 95.951 (or even lower) instead of 96.0 at 1x scale and this caused to simply darken blurred areas instead of noising them.
This patch sets a minimum 1x scale for the noise texture, because realistically we will never be below that.

Reviewers: davidedmundson

Reviewed By: davidedmundson

Subscribers: davidedmundson, kwin, #kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D12519
2018-04-30 18:02:29 +02:00
David Edmundson
437a36a2bb [KScreen Effect] Fix fade to black
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
2018-04-26 11:15:38 +02:00
Vlad Zagorodniy
48d30fa4fe [effects/presentwindows] Fix -Wint-in-bool-context
Summary:
Compiler: GCC 7.3.1
Distro: Arch Linux

Warning:

```
/home/vlad/KDE/src/kde/workspace/kwin/effects/presentwindows/presentwindows.cpp: In member function ‘void KWin::PresentWindowsEffect::rearrangeWindows()’:
/home/vlad/KDE/src/kde/workspace/kwin/effects/presentwindows/presentwindows.cpp:970:45: warning: ‘*’ in boolean context, suggest ‘&&’ instead [-Wint-in-bool-context]
                 m_gridSizes[screen].columns * m_gridSizes[screen].rows &&
```

Reviewers: #kwin, davidedmundson

Reviewed By: davidedmundson

Subscribers: davidedmundson, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D12209
2018-04-20 21:19:04 +03:00
Vlad Zagorodniy
3fcce012c0 [effects/minimizeanimation] Don't reset timeline
Summary:
Resetting timeline while animating a window causes some visual "glitches",
see videos below. Even though we can't use `QTimer::toggleDirection`,
that's safe to delete code which resets timeline because `prePaintScreen`
figures out correct direction of the timeline.

Before

{F5809862, layout=center, size=full}

After

{F5809898, layout=center, size=full}

Reviewers: #kwin, davidedmundson

Reviewed By: davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D12254
2018-04-20 21:16:09 +03:00
Vlad Zagorodniy
913f92ae9a [effects/magiclamp] Don't reset timeline
Summary:
Resetting timeline while animating a window causes some visual "glitches",
see videos below. Even though we can't use `QTimer::toggleDirection`,
that's safe to delete code which resets timeline because `prePaintScreen`
figures out correct direction of the timeline.

Before

{F5809835, layout=center, size=full}

After

{F5809850, layout=center, size=full}

Test Plan:
* Set duration to 5000
* Furiously click an icon in the task manager

Reviewers: #kwin, davidedmundson

Reviewed By: davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D12253
2018-04-20 21:10:47 +03:00
Vlad Zagorodniy
75fff17612 Fix unused param warnings
Summary:
Compiler: GCC 7.3.1
Distro: Arch Linux

Compiler warnings:

```
/home/vlad/KDE/src/kde/workspace/kwin/effects/blur/blur.cpp: In member function ‘void KWin::BlurEffect::upscaleRenderToScreen(KWin::GLVertexBuffer*, int, int, QMatrix4x4, QRect, QPoint)’:
/home/vlad/KDE/src/kde/workspace/kwin/effects/blur/blur.cpp:677:129: warning: unused parameter ‘windowShape’ [-Wunused-parameter]
 void BlurEffect::upscaleRenderToScreen(GLVertexBuffer *vbo, int vboStart, int blurRectCount, QMatrix4x4 screenProjection, QRect windowShape, QPoint windowPosition)
                                                                                                                                 ^~~~~~~~~~~
```

```
/home/vlad/KDE/src/kde/workspace/kwin/main_wayland.cpp: In function ‘void KWin::{anonymous}::gainRealTime(KWin::RealTimeFlags)’:
/home/vlad/KDE/src/kde/workspace/kwin/main_wayland.cpp:95:56: warning: unused parameter ‘flags’ [-Wunused-parameter]
 void gainRealTime(RealTimeFlags flags = RealTimeFlags::DontReset)
```

Reviewers: #kwin, davidedmundson

Reviewed By: davidedmundson

Subscribers: anemeth, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D12208
2018-04-20 21:07:27 +03:00
l10n daemon script
de8e2517e2 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-03-31 07:09:34 +02:00
l10n daemon script
e61383a198 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-03-31 05:20:59 +02:00
Igor Poboiko
2eded91897 [effects/coverswitch] Fix broken reflection on multi-monitor setup
ModelViewMatrix used to paint windows (which is aware about
multi-monitor configuration) was overriden by reflectionMatrix when
painting reflections, leading to wrong placement of reflections.
Now we just multiply old matrix and reflection matrix.

BUG: 378688

Differential Revision: https://phabricator.kde.org/D10465
2018-03-26 18:57:25 +02:00
l10n daemon script
6c00ed2df8 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-03-26 07:01:20 +02:00
l10n daemon script
c8c76f78b2 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-03-26 05:11:05 +02:00
Igor Poboiko
e3f0b537b6 [effects/coverswitch] Fix broken reflection on multi-monitor setup
ModelViewMatrix used to paint windows (which is aware about
multi-monitor configuration) was overriden by reflectionMatrix when
painting reflections, leading to wrong placement of reflections.
Now we just multiply old matrix and reflection matrix.

BUG: 378688

Differential Revision: https://phabricator.kde.org/D10465
2018-03-25 13:26:50 +03:00
Friedrich W. H. Kossebau
5fe509fe17 Remove unused X-Plasma-DefaultSize 2018-03-25 03:13:37 +02:00
Friedrich W. H. Kossebau
5369913fd0 Remove unused X-Plasma-RemoteLocation entries 2018-03-25 03:09:28 +02:00
Nathaniel Graham
4dd5bfab09 Remove "move zoomed area" shortcuts by default
Summary: This is a follow-up for D11377, as requested by @graesslin. The patch removes the default shortcuts for the {nav Move zoomed area} actions.

Test Plan:
Deployed KWin with patch, killed and restarted KWin, created and logged into new user account, then zoomed in:
- {key Meta Ctrl Arrows} do not move the zoomed view
- The actions are still visible (without shortcuts) in {nav System Settings > Shortcuts > Global Shortcuts > KWin}
- You can still set custom shortcuts for the actions, and they work

Reviewers: #kwin, graesslin

Reviewed By: #kwin, graesslin

Subscribers: graesslin, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D11526
2018-03-20 17:23:04 -06:00
Nathaniel Graham
f1f97bb395 Expose more default window management shortcuts
Summary:
KWin's window management powers are not as discoverable as they could be--particularly tiling, which by default has no visible UI and no keyboard shortcuts. Resolving this issue is highly relevant to {T6831}.

This patch re-assigns the {key Meta arrowkeys} shortcuts that are currently used for `move zoomed area` (which are pretty esoteric, infrequently-used actions), adding {key ctrl} to their shortcuts. This allows us to use their valuable {key Meta arrowkeys} for more useful and commonly-used window management actions:
- {key Meta Left}: quick tile window to the left
- {key Meta Right}: quick tile window to the right
- {key Meta Up}: quick-tile window to the top
- {key Meta Down}: quick-tile the window to the bottom

The patch also sets some default shortctuts for minimize and maximize:
- {key Meta PageDown}: minimize window
- {key Meta PageUp}: maximize/de-maximize the window

Test Plan:
Do a clean build
`make test` (no new test failures)
Reboot
Create and log into a new user account

- {key meta up} tiles the active window to the top
- {key meta down} tiles the active window to the bottom
- {key meta left} tiles the active window to the left
- {key meta right} tiles the active window to the right
- {key meta PageDown} minimizes the active window
- {key meta PageUp} maximizes and de-maximizes the active window
- {key meta ctrl up} moves the zoomed area up
- {key meta ctrl down} moves the zoomed area down
- {key meta ctrl left} moves the zoomed area to the left
- {key meta ctrl right} moves the zoomed area to the right

Reviewers: #kwin, #plasma, romangg

Reviewed By: #kwin, #plasma, romangg

Subscribers: mart, romangg, broulik, jnoack, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D11377
2018-03-16 17:18:55 -06:00
Friedrich W. H. Kossebau
1a7a3b98ee Remove long-time deprecated Encoding=UTF-8 from desktop format files 2018-03-10 02:47:57 +01:00
l10n daemon script
3d5178a7c6 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-02-22 07:26:39 +01:00
l10n daemon script
e54baa8d73 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-02-22 05:20:00 +01:00
Vlad Zagorodniy
ddd406dfd9 [effects] replace old slide effect with a new one
Summary:
The new slide effect tries to separate each virtual desktop
as much as possible. This separation makes the new slide
effect more intuitive than the old one.

Test Plan:
* switch between virtual desktops
* or, move a window to another virtual desktop

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

Reviewed By: #kwin, #plasma, graesslin

Subscribers: mart, graesslin, abetts, ngraham, plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D9638
2018-02-16 06:09:27 +02:00
Alex Nemeth
cc0325af41 Added noise blur effect
Summary:
Added the option to turn on noise behind the blurred area.
The lowest strength value disables it completely, so it is optional and is disabled by default.

Test Plan:
Edit: this new screenshot shows the updated noise generation.
Edit2: separated the screenshots so you can flick through them to clearly see the differences

{F5694024}

{F5694031}

{F5694025}

{F5694028}

Reviewers: #kwin, #vdg, fredrik

Reviewed By: #vdg, fredrik

Subscribers: davidedmundson, matheusm, romangg, ivan, zzag, ngraham, kwin, #kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D10281
2018-02-14 00:13:08 +01:00
l10n daemon script
bdf1845342 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-02-12 07:04:02 +01:00
l10n daemon script
40862c034a 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-02-08 07:02:28 +01:00
l10n daemon script
3dbb47745f 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-02-08 05:13:52 +01:00
Martin Flöser
477d79b16a Merge branch 'Plasma/5.12' 2018-02-05 21:22:05 +01:00
l10n daemon script
93dd777351 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-02-05 06:51:49 +01:00
Alex Nemeth
f8ff40271e Removed the "fastblur" path
Summary:
Since the new blur is more efficient "fastblur" or "simpleblur" is not needed anymore for fullscreen blur.
Even my old low-end laptop from 2009 (with Intel T3300) can easily do fullscreen blur now with the new method without any hitch at all.

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

Reviewed By: #vdg, fredrik

Subscribers: avaragic, fredrik, ngraham, plasma-devel, kwin, #kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D10181
2018-02-03 19:04:11 +01:00
Alex Nemeth
0a22983bef Updated blur default value from 5/15 to 10/15
Summary: The default blur value of 5/15 is too low.

Test Plan:
Before:
{F5681825}

After:
{F5681826}

Reviewers: #vdg, #kwin, fredrik

Reviewed By: #vdg, fredrik

Subscribers: ngraham, kwin, #kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D10180
2018-02-01 19:56:51 +01:00
Alex Nemeth
977a5ef012 Reverted accidental file permission changes
Summary: In D9848 the file permissions in effects/blur where accidentally changed from 644 to 755.

Test Plan: {F5674656}

Reviewers: #kwin, hein

Reviewed By: hein

Subscribers: kwin, #kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D10100
2018-01-26 03:32:33 +09:00
Alex Nemeth
0179f741bb Updated the blur method to use the more efficient dual kawase blur algorithm.
Summary:
Updated the old and outdated blur method to use the much more efficient dual kawase blur method.
Now with this we can do virtually infinite blur with very very little performance cost.
The dual kawase blur method is basically downscaling and upscaling an image, but combined with the kawase blur shader.
Comparison: https://i.imgur.com/mh6Cw61.png
Left is old, right is new.
Comparison was done with the strongest blur setting in a VM running on an Intel i7-4790 and a GTX980
We can see here that the performance is even better with this new method.

Reviewers: #plasma, #kwin, graesslin, fredrik

Reviewed By: fredrik

Subscribers: hein, dos, luebking, broulik, romangg, zzag, anthonyfieroni, mart, davidedmundson, fredrik, ngraham, plasma-devel, kwin, #kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D9848
2018-01-26 02:31:45 +09:00
l10n daemon script
1e09646791 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-01-22 06:35:04 +01:00
l10n daemon script
769ebe2c67 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-01-22 04:58:18 +01:00
Martin Flöser
e200d74031 [effects/blur] Disable texture cache on Wayland
Summary:
It is known to create problems especially on multi-screen and is not as
important on Wayland as it used to be on X11 thanks to things like
buffer age and in general better rendering.

Test Plan: Opened the config module and verified that the option is
hidden

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D9879
2018-01-15 17:13:08 +01:00
l10n daemon script
f597615fa4 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-01-12 04:58:41 +01:00
l10n daemon script
8a3128c8cf 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-01-09 05:06:46 +01:00
l10n daemon script
655f184a61 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-01-07 05:00:26 +01:00
l10n daemon script
7764de0470 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-01-06 04:52:25 +01:00
l10n daemon script
301f7199fb 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-01-05 05:03:50 +01:00
l10n daemon script
a252ff9656 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-01-04 04:53:47 +01:00
l10n daemon script
196423d267 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-01-03 06:51:15 +01:00
l10n daemon script
7effd6bf19 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-01-02 04:47:58 +01:00
Vlad Zagorodniy
20780c6f21 [effects/slide] Handle moving clients
Summary:
Currently, slide effect doesn't handle a case when there
is a moving client. This results in having window jumps.
This commit fixes it by fixing position of the moving client
during switching to another desktop.

Test Plan: * send window one desktop to the left/right using shortcuts

Reviewers: #kwin, #plasma, graesslin

Reviewed By: #kwin, #plasma, graesslin

Subscribers: graesslin, plasma-devel, kwin

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D9487
2018-01-01 17:12:52 +02:00
Vlad Zagorodniy
8a02a802ae [effects/slide] Add 'Duration' option
Summary:
At the moment, there is no way to tweak duration of the slide animation.
This change adds a configuration module so it is possible to change
the duration.

Test Plan:
* enable virtual desktops
* go to `System Settings > Desktop Behaviour > Desktop Effects`
  and select Slide effect under "Virtual Desktop Switching Animation"
* click settings/options button and change duration

Reviewers: #kwin, #plasma, graesslin

Reviewed By: #kwin, #plasma, graesslin

Subscribers: graesslin, plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D9382
2018-01-01 16:54:02 +02:00
l10n daemon script
0abc5e020f 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"
2017-12-25 04:44:28 +01:00
l10n daemon script
be4cde23ec 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"
2017-12-20 07:06:47 +01:00
l10n daemon script
7ac8a30cd6 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"
2017-12-12 04:41:56 +01:00
l10n daemon script
c9023582aa 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"
2017-12-10 04:43:39 +01:00
l10n daemon script
c04c285b6a 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"
2017-12-03 04:50:14 +01:00
Kai Uwe Broulik
9e8773cb43 [Contrast / Blur Effects] Port from QRegion::rects() to QRegion iterators
Especially the BlurEffect::expanded() method is called a lot.
Saves creating a temporary QVector.

Differential Revision: https://phabricator.kde.org/D9101
2017-12-02 17:38:14 +01:00
Kai Uwe Broulik
11e95d5de1 Honor animationsSupported in minimize, slide and sliding popups effects
Differential Revision: https://phabricator.kde.org/D8938
2017-11-23 10:34:06 +01:00
Martin Flöser
f8be3f746b [effects] Delay creation of EffectFrames in WindowGeometryEffect
Summary:
Without Xwayland KWin starts so fast that the creation of the EffectFrame
triggers a crash in the Wayland integration as the KWin internal
connection isn't fully setup.

To workaround this crash the creation of the EffectFrame is delayed till
the first usage. It doesn't make sense to try to fix the actual crash as
it would require to defer the creation of all Effects.

Test Plan: New test case added which crashes without this fix.

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D8821
2017-11-21 19:28:00 +01:00
Aleix Pol
af85ca6fe5 Merge branch 'Plasma/5.11' 2017-11-17 17:31:46 +01:00
Aleix Pol
db6c7e17e6 Fix build with a KWindowSystem framework that doesn't pull QWidget
Summary: Fixes the build with D8705

Test Plan: Just adds includes, I wonder if it should go into Plasma/5.8 and /5.11 too

Reviewers: #plasma, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: graesslin, plasma-devel, kwin, #kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D8706
2017-11-17 17:30:58 +01:00
l10n daemon script
644f595df6 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"
2017-10-29 04:58:06 +01:00
l10n daemon script
2e371f9634 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"
2017-10-29 03:39:13 +01:00
l10n daemon script
0032609f21 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"
2017-10-05 06:47:00 +02:00
l10n daemon script
e85c3f386f 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"
2017-10-05 05:15:58 +02:00
David Edmundson
2a34fdde4c Merge branch 'Plasma/5.11' 2017-09-29 13:31:48 +01:00
David Edmundson
b3020d6f5a Don't recreate kwayland blurmanager on screen size changes
Summary:
Instead of calling reconfigure() on screen size changes, which deletes
and recreates the effect, we can just update the one texture that's mapped to
the screen size.

---

From the wayland commit.

>What surprises me is that BlurManager recreates for Output changes.
>That sounds like a bug in KWin (or an area which could be improved).

I had thought the same and wrote this (though wanted to have kwayland fixed first)

Test Plan:
Logged in and out (my screen resizes on startup due to scaling)
Tested on my X machine by turning a screen off. Nothing broke, plasma
panels looked the same.

Note: Eike tried this patch last week and claimed kwin still crashed.
We don't have a backtrace so it could have been something unrelated,
applied wrong or that he was deliberately lying to wind me up.

Reviewers: #plasma, graesslin

Reviewed By: #plasma, graesslin

Subscribers: graesslin, plasma-devel, kwin, #kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D7877
2017-09-29 13:30:54 +01:00
David Edmundson
55d219429a Don't reload background contrast effect on screen resize
Summary:
Similar to the Blur patch. Arguably rven less reason as this doesn't
have a texture the size of the workspace.

We don't need to delete and recreate the entire effect every time the
screen changes; This deletes the wayland global which causes quite a bit
of extra work for the clients.

Test Plan:
Changed resolution under X, and scale under wayland
Panel looked the same and nothing exploded

Reviewers: #plasma, graesslin

Reviewed By: #plasma, graesslin

Subscribers: graesslin, plasma-devel, kwin, #kwin

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D7937
2017-09-29 13:30:42 +01:00
Kai Uwe Broulik
a7c396caeb [ScreenEdgeEffect] Create glow Svg on demand
Keeps it from loading the Svg and all the Plasma stuff (Theme etc) that comes with it on startup.

Differential Revision: https://phabricator.kde.org/D8011
2017-09-28 10:18:36 +02:00
l10n daemon script
0a6bd71f0e 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"
2017-09-22 05:01:54 +02:00
l10n daemon script
41e55956ad 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"
2017-09-21 04:56:35 +02:00
l10n daemon script
8cf01bb021 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"
2017-09-20 10:25:04 +02:00
Martin Flöser
90e77a939a [effects] Support xcbConnectionChanged for support properties
Summary:
Several effects announce a support property atom on the root window. This
change forwards the KWin::Application's signal that the xcbConnection
changed to the EffectsHandler so that the effects can respond to it.

All effects which announce a support property connect to this new signal
and re-announce the property. In case the xcb connection died (future
XWayland crashing case) it is set to XCB_ATOM_NONE by that. In case the
xcb connection got created (future delayed XWayland startup) the atom is
set to the proper value.

In addition all usages of the support properties are guarded, so that no
nonesense actions are performed if the support property is XCB_ATOM_NONE.

Test Plan: Only compile tested as we don't have XFree KWin yet

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D7761
2017-09-12 18:53:31 +02:00
l10n daemon script
5a7d6d3df9 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"
2017-08-28 04:30:46 +02:00
Martin Flöser
981662a6b5 [effects] Don't register touch edges which don't exist
Summary:
Apparently some old configs made PresentWindows register the top left
corner which does not make any sense as that's not supported by touch.
So to be sure, don't register those edges.

BUG: 383797
FIXED-IN: 5.11

Test Plan: Not tested, I'm on Wayland

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D7508
2017-08-24 13:38:55 +02:00
l10n daemon script
e18032b849 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"
2017-08-13 04:59:14 +02:00
l10n daemon script
bbad15f661 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"
2017-08-10 04:56:42 +02:00
l10n daemon script
004a9aa6ea 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"
2017-08-07 04:53:10 +02:00
Martin Gräßlin
063e796b18 [effects/backgroundcontrast] Remove ContrastShader::pixelSizeLocation
Credits to clang for finding an unused private variable.
2017-07-31 18:00:17 +02:00
Martin Gräßlin
3f238470c8 [effects/wobblywindows] Move computeVectorBounds into ifdef section
Fixes unused function warning with clang.
2017-07-31 17:58:57 +02:00
l10n daemon script
ec11cfd04f 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"
2017-07-30 04:57:22 +02:00
l10n daemon script
f14540485f 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"
2017-07-29 04:45:55 +02:00
Martin Flöser
8527ac30dc Fix unused-parameter warnings as reported by GCC 2017-07-28 21:31:09 +02:00
l10n daemon script
ccc69e8105 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"
2017-07-26 08:52:42 +02:00
Martin Flöser
cf62ac8039 [effects] Exclude OSD windows from desktop grid
Summary:
BUG: 376987
FIXED-IN: 5.10.4

Test Plan: Compiles

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D6835
2017-07-22 17:47:15 +02:00
Martin Flöser
24ff93854d [effects/slideback] Ignore windows which are not in visible area
Summary:
The PresentWindows effect does not hide the window to close the selected
window. Instead it moves it outside the visible area. As this is a
"special" KWin window it is on top of the stacking order and needs to be
ignored in the slideback effect.

Instead of doing a special casing for this window the effect is changed
to ignore windows outside the visible area in general. Windows outside
the visible area just don't make sense to block the slideback effect.

BUG: 381402
FIXED-IN: 5.10.4

Test Plan: Slideback works after using Present Windows effect

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D6468
2017-07-06 19:12:06 +02:00
l10n daemon script
07259cfa59 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"
2017-06-28 09:36:23 +02:00
l10n daemon script
8765f5b4c3 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"
2017-06-23 05:46:51 +02:00
l10n daemon script
1680a4e9eb 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"
2017-06-13 05:58:57 +02:00
l10n daemon script
1112188a8b 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"
2017-06-10 05:41:19 +02:00
l10n daemon script
85ede03a57 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"
2017-06-04 05:39:14 +02:00
l10n daemon script
2a6048c885 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"
2017-05-25 05:40:47 +02:00
l10n daemon script
0f66fa648f 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"
2017-05-22 05:32:13 +02:00
l10n daemon script
30113e72b7 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"
2017-05-14 05:28:03 +02:00
l10n daemon script
1d8b61deb4 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"
2017-05-11 04:19:45 +02:00
l10n daemon script
9ad87d3909 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"
2017-05-10 07:42:38 +02:00
David Edmundson
80f21064f1 Merge branch 'scaling' 2017-04-29 14:11:13 +01:00
David Edmundson
44a6050e83 Add scaling support into BlurEffect::doBlur
Summary:
This patch caputres from the framebuffer using the framebuffer's
geometry, factoring in scale. We then keep the current normal DPI
framebuffer causing it to downsample there.

This is good because:
- it keeps the code very simple
- it's a performance optimisation. Blurring on 4k is naturally more
expensive than at regular DPI. Downsampling keeps it the same - and you
can't see a difference given it's high DPI and you're going to blur it
anwyay.
- it keeps kernel sizes somewhat resolution independent so it will look
just as blurry across multiple screens.

::doCachedBlur still needs doing.

Test Plan:
Ran an app
Ran the kwindowsystem blur test
Observed the right part of the window being blurred

Reviewers: #plasma

Subscribers: plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D4963
2017-04-28 10:23:14 +01:00
David Edmundson
24c9194f4c Scaling support in ColorPicker effect
Summary:
glReadPixels needs the correct location relative to the
framebuffer so we need to factor in the scale as well as translation
when going from compositor space.

Test Plan:
Ran the plasma colour picker plasmoid in windowed mode
Clicked on multiple parts of a window
It was right every time

Reviewers: #plasma

Subscribers: plasma-devel, kwin, #kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D4950
2017-04-28 10:23:13 +01:00
David Edmundson
f445a99a74 Support scaling in BackgroundContrast effect
Summary:
Background contrast reads pixels from the framebuffer
we need to convert from compositor to framebuffer co-ordinates
when an output is scaled

Test Plan:
Ran the manual test in kwindowsystem. Moved window over dolphin.
Visually checked output

Reviewers: #plasma

Subscribers: plasma-devel, kwin, #kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D4949
2017-04-28 10:23:13 +01:00
l10n daemon script
dc447860be 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"
2017-04-25 10:05:35 +02:00
Martin Gräßlin
857d8a9c37 Add a KSharedConfigPtr for kcminputrc to KWin::Application
Summary:
There are a few places where KWin needs to read values from kcminputrc.
As I need to add yet another one it makes more sense to properly
structure it like in other cases and have only one kcminputrc hold in
the application. This also allows to better mock the config values in
the integration tests.

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D5540
2017-04-24 21:01:03 +02:00
Martin Gräßlin
919b497f90 [effects/slideback] Consider windows which do have painting disabled as not usable
Summary:
On Wayland it can happen that a window is still in the stacking order
although it is not visible. This is mostly the case for Plasma windows.
So far the slideback effect did not ignore those windows and as they are
higher in the stacking order than most other windows it blocked the
effect from working once a Plasma panel element got closed.

This change considers a window which has painting disabled in the
stacking order as not usable and thus filters out all those windows.

BUG: 364483

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D5462
2017-04-20 17:03:12 +02:00
l10n daemon script
4a5734c3c4 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"
2017-04-17 04:05:09 +02:00
l10n daemon script
4c3404e150 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"
2017-04-16 04:05:25 +02:00
Martin Gräßlin
2132b1e0c8 [effects] Use arg="true" in the kcfg files
Summary:
By changing all kcfg to have arg="true" we can pass in the same
KSharedConfigPtr into all effects. This allows to have fake config in
the tests and in the planned effect demo mode.

Also it means that we don't have to hardcode the name kwinrc into the
files. In the configs - where we cannot access the effectshandler - we
use the define KWIN_CONFIG which gets generated based on the compile
time arguments.

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D3571
2017-04-15 10:03:34 +02:00
l10n daemon script
d966302de7 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"
2017-04-11 09:44:49 +02:00
l10n daemon script
3e6f042dc2 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"
2017-04-10 04:01:17 +02:00
l10n daemon script
c6b32908bf 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"
2017-04-09 04:07:54 +02:00
l10n daemon script
25e6f46153 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"
2017-04-08 04:20:31 +02:00
Martin Gräßlin
c080dca8ec Register touch screen edges in effects
Summary:
All effects which use a (pointer) screen edge now also support the touch
screen edges. These are:
 * Cube (cylinder, sphere)
 * DesktopGrid
 * PresentWindows (current, all, class)

Reviewers: #kwin, #plasma

Subscribers: plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D5269
2017-04-07 16:17:17 +02:00
l10n daemon script
1e81a12b99 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"
2017-04-07 04:09:53 +02:00
Kai Uwe Broulik
1eb950a985 Desaturate non-responsive windows
When an application is not responding, its window is desaturated to communicate this.
Also "(Not Responding)" is added to the title bar.

Differential Revision: https://phabricator.kde.org/D5245
2017-04-05 11:16:23 +02:00
Martin Gräßlin
a405a2ac1a Merge branch 'Plasma/5.9' 2017-03-31 07:44:21 +02:00
Martin Gräßlin
49fc310594 [slidingpopups] Only remove WindowClosedGrabRole if the effect owns the grab
Summary:
The effect unset the WindowClosedGrabRole unconditionally if it does not
manage the window. This results in any grab set by other effects to break.

BUG: 376609
FIXED-IN: 5.9.5

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D5225
2017-03-31 07:42:11 +02:00
l10n daemon script
2d0f08b006 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"
2017-03-28 09:41:02 +02:00
Martin Gräßlin
22c91df2ec Add support for global touchpad swipe gestures
Summary:
This change adds global touchpad swipe gestures to the
GlobalShortcutsManager and hooks up the swipe gestures as defined at the
Plasma Affenfels sprint:
 * swipe up: Desktop Grid
 * swipe down: Present Windows
 * swipe left: previous virtual desktop
 * swipe right: next virtual desktop

The main work is handled by two new classes: SwipeGesture and
GestureRecognizer. This is implemented in a way that it can be extended
to also recognize touch screen gestures and pinch gestures.

The SwipeGesture defines what is required for the gesture to trigger.
Currently this includes the minimum and maximum number of fingers
participating in the gesture and the direction. The gesture gets
registered in the GestureRecognizer.

The events for the gesture are fed into the GestureRecognizer. It
evaluates which gestures could trigger and tracks them for every update
of the gesture. In the process of the gesture tracking the
GestureRecognizer emits signals on the Gesture:
 * started: when the Gesture gets considered for a sequence
 * cancelled: the Gesture no longer matches the sequence
 * triggered: the sequence ended and the Gesture still matches

The remaining changes are related to hook up the existing shortcut
framework with the new touchpad gestures. The GlobalShortcutManager
gained support for it, InputRedirection and EffectsHandler offer methods
to register a QAction. VirtualDesktopManager, PresentWindows and
DesktopGrid are adjusted to support the gesture.

Reviewers: #kwin, #plasma_on_wayland

Subscribers: plasma-devel

Tags: #plasma_on_wayland

Differential Revision: https://phabricator.kde.org/D5097
2017-03-27 17:43:44 +02:00
l10n daemon script
36c22ed0cb 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"
2017-03-26 05:00:12 +02:00
l10n daemon script
26ca314687 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"
2017-03-25 06:02:34 +01:00
l10n daemon script
b160c5babb 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"
2017-03-25 04:37:53 +01:00
Martin Gräßlin
89058173f7 Merge branch 'Plasma/5.9' 2017-03-24 17:08:15 +01:00
Martin Gräßlin
3ab0de5e18 Merge branch 'Plasma/5.8' into Plasma/5.9 2017-03-24 17:06:09 +01:00
l10n daemon script
8725f2441e 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"
2017-03-22 05:17:38 +01:00
l10n daemon script
3836e04881 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"
2017-03-22 05:00:58 +01:00
l10n daemon script
5f0b92bac5 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"
2017-03-22 04:02:11 +01:00
l10n daemon script
603b45c5f1 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"
2017-03-21 09:44:08 +01:00
l10n daemon script
4d0303fafe 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"
2017-03-19 03:56:45 +01:00
Luboš Luňák
df861b1702 initialize a member
slotWindowClosed() accesses it
2017-03-17 16:17:36 +01:00
l10n daemon script
12a02451df 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"
2017-03-17 03:50:12 +01:00
l10n daemon script
5be29cc42f 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"
2017-03-16 05:18:16 +01:00
Marco Martin
a7b7ce9ec0 new logout effect
Summary:
new logout effect: it's just a slow fade in of the logout
greeter (window is usable immediately tough

Test Plan: logout greeter now fades in without setting the window opacity manually

Reviewers: graesslin, #plasma

Reviewed By: graesslin, #plasma

Subscribers: broulik, plasma-devel, kwin, #kwin

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D5045
2017-03-15 17:47:22 +01:00
Marco Martin
063587db99 store contrast matrix per-window
Summary:
as different windows can have different contrast region parameters,
store color matrices per window
BUG:339237

Test Plan: logout window doesn't break panel anymore

Reviewers: #plasma, graesslin

Reviewed By: #plasma, graesslin

Subscribers: broulik, plasma-devel, kwin, #kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D5048
2017-03-15 12:02:30 +01:00
l10n daemon script
6660431ce1 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"
2017-03-07 14:39:25 +01:00
Thomas Lübking
5c700eefd5 Glide effect: skip invisible windows
BUGS: 359831
REVIEW: 127378
2017-02-25 23:47:28 +01:00
l10n daemon script
bb4005ec50 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"
2017-02-23 08:18:46 +01:00
l10n daemon script
3fcb19f42f 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"
2017-02-23 06:22:20 +01:00
l10n daemon script
8cb6d42191 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"
2017-02-21 12:50:44 +01:00
l10n daemon script
0380027611 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"
2017-02-20 07:43:31 +01:00
l10n daemon script
429d15941e 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"
2017-02-20 06:00:53 +01:00
l10n daemon script
26339e6d6c 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"
2017-02-13 05:52:41 +01:00
l10n daemon script
c2bc7d4d04 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"
2017-02-10 07:31:10 +01:00
Martin Gräßlin
1173f190bc Merge branch 'Plasma/5.9' 2017-01-25 13:59:39 +01:00
Martin Gräßlin
d38bce776f Add support for skip close animation to OnScreenMessage
Summary:
This change adds support for marking the OnScreenMessage as it should
skip close animation. The screenshot effect is adjusted to use the
on screen message instead of the custom effect frame.

Test Plan: Message window is not captured when taking screenshot

Reviewers: #kwin, #plasma_on_wayland

Subscribers: plasma-devel, kwin

Tags: #plasma_on_wayland, #kwin

Differential Revision: https://phabricator.kde.org/D4091
2017-01-25 13:54:34 +01:00
l10n daemon script
add47b39fe 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"
2017-01-21 06:45:37 +01:00
Albert Astals Cid
73c7c767ef Merge remote-tracking branch 'origin/Plasma/5.8' into Plasma/5.9 2017-01-21 00:17:14 +01:00
Rafał Szalecki
a43049f688 Fixed initial graying out options in Cube Effect settings
Typically after deselecting "Show caps" option, the associated options "Cap color" and "Display image on caps" are grayed out (triggered by signal). The bug was when Desktop Cube settings were closed and opened again then the options were not grayed out.

Succesfully compiled and tested by deselecting "Show caps" option in Desktop Cube settings, closing the settings window and opening it once again. The options "Cap color" and "Display image on caps" were then grayed out.

REVIEW: 129194
2017-01-21 00:16:30 +01:00
l10n daemon script
006d127b09 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"
2017-01-07 06:37:50 +01:00
Martin Gräßlin
ab45659677 Add support for on-screen-message to kwineffects
Summary:
This adds support for the new on-screen-message support to the
kwineffects API and makes use of it in the colorpicker effect.

Not yet added to screenshot effect as for that we need support for
skip close animation on the on-screen-message window.

Reviewers: #plasma, #kwin

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D3803
2016-12-24 09:56:48 +01:00
l10n daemon script
13d389efd1 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"
2016-12-20 13:30:44 +01:00
l10n daemon script
818ed8f4ad 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"
2016-12-13 05:42:59 +01:00
l10n daemon script
c855555903 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"
2016-12-13 04:11:59 +01:00
l10n daemon script
23e500a273 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"
2016-12-05 05:13:10 +01:00
l10n daemon script
82debf5548 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"
2016-12-05 03:59:35 +01:00
David Edmundson
aae24bb07d Don't register a new service for screenshots
Summary:
If you're going to have kwin in the service name anyway there's
absolutely no benefit to having clients not use the existing
org.kde.KWin.

Test Plan: Object is still registered.

Reviewers: #plasma, graesslin

Reviewed By: #plasma, graesslin

Subscribers: graesslin, plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D3357
2016-11-25 10:15:11 +00:00
Martin Gräßlin
2cc55e4077 [effects] Add a colorpicker effect
Summary:
The effect exports itself to DBus as object "/ColorPicker" and provides
an own interface "org.kde.kwin.ColorPicker".

It has one exported method to DBus "pick" which returns a QColor. When
invoked an interactive position picking selection is started. If it ends
the effect reads the color value at the picked position from the OpenGL
color buffer.

This implements T4568.

Reviewers: #kwin, #plasma_on_wayland, broulik

Subscribers: plasma-devel, kwin

Tags: #plasma_on_wayland, #kwin

Differential Revision: https://phabricator.kde.org/D3480
2016-11-25 09:30:34 +01:00
Martin Gräßlin
b42eb9a310 [effects] Cleanup screenshot effect
Summary:
This change cleans up the screenshot effect a little bit.
* better check whether a screenshot is already being taken
* proper DBus error messages
* less duplication of error message strings
* don't keep the QDBusConnection around

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D3493
2016-11-25 08:52:09 +01:00
Martin Gräßlin
f9f7b84cb4 Add interactive position selection to screenshot screen under cursor
Summary:
A second interactive selection mode gets added to select a position on
the screen. This is handled by the same input event filter as for the
window selection. Just that instead of returning a window, it returns a
QPoint.

This allows to pick a point on the screen which we need to screenshot
the screen under the mouse cursor and in future for color picking.

The screenshot effect provides two new dbus methods to (interactively)
select a screen or fullscreen. This allows spectacle to screenshot the
(full) screen with still having the user in control.

Reviewers: #kwin, #plasma_on_wayland, bgupta

Subscribers: plasma-devel, kwin

Tags: #plasma_on_wayland, #kwin

Differential Revision: https://phabricator.kde.org/D3475
2016-11-25 07:38:37 +01:00
l10n daemon script
47a7f24ed5 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"
2016-11-25 06:39:44 +01:00
l10n daemon script
966775d609 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"
2016-11-25 05:07:25 +01:00
Martin Gräßlin
451bbb54dd [effects] Handle windowShown and windowHidden in fade effect
Summary:
For Wayland windows we can have a sequence of window unmapped
(windowHidden signal) followed by a windowClosed way later when the
application quits. This is for example the case with menus.

The result of this was that the fade out animation triggered when the
application quit showing all the already closed menus again.

This change implements a windowShown and windowHidden handler and
triggers the fadeIn/Out animation on it. If the window gets shown
again the existing fadeOut animation gets cancelled, so that it can run
again.

If a window gets closed for which a fade out animation has been run
already, it's not triggered again, thus ensuring that we don't see
zombie windows.

CCBUG: 372622

Reviewers: #kwin, #plasma_on_wayland, hein

Subscribers: plasma-devel, kwin

Tags: #plasma_on_wayland, #kwin

Differential Revision: https://phabricator.kde.org/D3419
2016-11-22 07:18:27 +01:00
Martin Gräßlin
fbab204968 [effects] Add a screenshot dbus method which takes a file descriptor
Summary:
The idea behind this mode is to support applications like spectacle
(see T4458). The calling application passes a file descriptor (created
through e.g. a pipe) and the screenshot effect writes the captured image
into that fd.

The advantage over the existing variant which writes to a file in the
/tmp directory is that this is peer-to-peer between the requesting
application and KWin. No other application can get to that image.

The change also includes setting SIGPIPE to ignore. It showed that when
the reading side already cancelled the read prior to KWin writing out
the image we get a SIGPIPE which results in application termination,
which is not what we want in case of a Wayland compositor. The sigpipe
can be ignored as Qt (and libpng) handles that error just fine at
runtime.

Reviewers: #kwin, #plasma_on_wayland

Subscribers: plasma-devel, kwin

Tags: #plasma_on_wayland, #kwin

Differential Revision: https://phabricator.kde.org/D3412
2016-11-22 07:17:57 +01:00
Martin Gräßlin
cfdc1acbd3 [effects] Show info message in interactive window screenshot mode
Summary:
While taking an interactive screenshot we should inform the user about
what's going on, how to take the screenshot and how to cancel it.

For this the effect creates an EffectFrame with the required
information.

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D3403
2016-11-22 07:17:28 +01:00
Martin Gräßlin
27376e39ef [effects] Add interactive window selection mode to ScreenshotEffect
Summary:
EffectsHandler gains a new method to startInteractiveWindowSelection
which just delegates to the one in Platform. That way a window can be
selected and returned to an Effect.

The screenshot effect makes use of this new functionality and provides
an interactive window screenshot mode which saves to a temporary file.
Note that this is not yet the variant intended for use in spectacle.

Test Plan: Took a screenshot on Wayland

Reviewers: #kwin, #plasma_on_wayland

Subscribers: plasma-devel, kwin

Tags: #plasma_on_wayland, #kwin

Differential Revision: https://phabricator.kde.org/D3367
2016-11-17 14:06:01 +01:00
Martin Gräßlin
adfaac4d60 [effects] Show a notification when a screenshot got saved to file
Summary:
Inform the user about the path to where a screenshot got saved through a
notification. This is helpful on the one hand that the user sees that
the screenshot got saved and from a security perspective that the user
is informed when a screenshot is taken through the dbus interface. It
doesn't prevent non-authorized screenshot taking, but at least the user
is informed about it.

Reviewers: #kwin, #plasma, #vdg

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D3376
2016-11-16 13:05:49 +01:00
Martin Gräßlin
620663cb28 [effects] Introduce kcfg for SlidingPopups
Summary: Uses the normal animationTime kcfg settings.

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D3375
2016-11-16 13:05:02 +01:00
Martin Gräßlin
10f641d5d9 [effects] Introduce kcfg for FallApart effect
Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D3374
2016-11-16 13:04:44 +01:00
Martin Gräßlin
40ad7ef4e9 [effects] Improve interaction between Glide and SlidingPopups effect
Summary:
The glide effect tried to not animate any window the SlidingPopups
effect animates. But it detected that in a very crude way. It announced
the KDE_SLIDE atom and checked for windows having that property set.

This has a few disadvantages:
* KWindowEffects::isEffectAvailable gets confused as an effect announces
  support for SlidingPopups which doesn't provide SlidingPopups
* The approach can only work for X11 windows
* The approach causes X11 usage in the ctor

With this change the GlideEffect implements a slot for
EffectsHandler::windowDataChanged to detect that the SlidingPopupsEffect
grabbed the window. The X11 atom interaction is removed.

Reviewers: #kwin, #plasma_on_wayland

Subscribers: plasma-devel, kwin

Tags: #plasma_on_wayland, #kwin

Differential Revision: https://phabricator.kde.org/D3296
2016-11-16 09:05:41 +01:00
Martin Gräßlin
75ab998de8 [effects] Clean up saving of DesktopGrid config
Summary:
The DesktopNameAlignment was once set through the kcfg generated file
and once manually. We don't need the manual double save.

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D3340
2016-11-15 07:19:52 +01:00
Martin Gräßlin
a8fa1626eb [effects] Drop loading shadow config from MagicLamp
Summary:
This has basically been dead code for ages. The Shadow effect got
dropped in an early 4.x version. We shouldn't transform the window based
on old shadow values, so completely removed.

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D3339
2016-11-15 07:19:26 +01:00
Martin Gräßlin
2b93939a67 [effects] Save zoom settings using kcfg generated class
Summary:
We have the kcfg generated settings object, so no need to manually write
the config save code for zoom and magnifier effect.

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D3338
2016-11-15 07:19:01 +01:00
Martin Gräßlin
002d667436 Merge branch 'Plasma/5.8' 2016-11-07 13:46:13 +01:00
Martin Gräßlin
fb69b791a1 Ensure that all Effects honour the grab roles correctly
Summary:
When windows get added some effects grab the window and want to be the
only one animating this window. For this the grab roles exists. An
effect being notified later on evaluates the grab state and does not
start the animation.

This process failed due to being dependent on the order the effects are
loaded. Window Added/Closed are signals emitted by EffectsHandler, thus
first come, first serve. The requested effect order does not play into
it.

Due to that it could happen that an Effect which should not animate,
started to animate as the grab was still there.

This change adds the possibility to be notified whenever the window data
changes. A new signal is added to EffectsHandler which is emitted
whenever the windowData changes. The interested effects connect to it
and cancel their (just started) animation for the window.

Adjusted effects are:
* ScaleIn
* Fade
* WobblyWindows

In case of WobblyWindows an additional logical error was fixed that the
animations were only run when an effect grabbed instead of the other way
around.

BUG: 336866
FIXED-IN: 5.8.4

Reviewers: #kwin, #plasma, broulik

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D3211
2016-11-07 11:45:09 +01:00
Martin Gräßlin
8c163f2b93 [effects] Support capture cursor image in Screenshot effect
Summary:
The screenshot methods to blit the screen so far did not capture the
cursor image. But sometimes it is useful to also capture the cursor
image.

This change extends the exported methods to take an optional bool
argument whether to capture the screen. The default is not changed and
still not captures the cursor.

Reviewers: #kwin, #plasma_on_wayland

Subscribers: plasma-devel, kwin

Tags: #plasma_on_wayland, #kwin

Differential Revision: https://phabricator.kde.org/D3118
2016-11-07 11:42:45 +01:00
Martin Gräßlin
288cf06b90 Create KSelectionOwner in StartupFeedbackEffect only on X11
Summary:
On Wayland we do not need the selection. By only creating the
KSelectionOwner on X11 an X11-runtime dependency is removed from the
StartupFeedbackEffect.

Reviewers: #kwin, #plasma_on_wayland

Subscribers: plasma-devel, kwin

Tags: #plasma_on_wayland, #kwin

Differential Revision: https://phabricator.kde.org/D3121
2016-11-07 11:42:10 +01:00
Martin Gräßlin
d9612b327c Merge branch 'Plasma/5.8' 2016-11-07 11:41:30 +01:00
l10n daemon script
fcdc3e5a2c 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"
2016-11-04 09:48:38 +00:00
Martin Gräßlin
3c6371390d [desktopgrid] Don't manipulate virtual desktop of desktop window
Summary:
Desktop Grid has a feature that right or middle clicking a window toggles
the on all desktop state. If that is done for a desktop window, things
obviously start to fail.

KWin internally allows to change virtual desktop for all windows, even
for windows like the desktop or docks. Changing in KWin core is not a
solution.

Thus a special casing in desktop grid is added to disallow the selection
for desktop windows.

BUG: 372037
FIXED-IN: 5.8.4

Test Plan: Tried right clicking desktop window and other windows.

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D3253
2016-11-04 09:32:24 +01:00
Martin Gräßlin
d1076fc5b9 Merge branch 'Plasma/5.8' 2016-11-03 08:51:49 +01:00
David Edmundson
254690e899 Correctly set i18n suffix in mousemark spinbox.
Summary:
QSpinBox can't handle plural suffixes. Something previously done by
KIntSpinBox.

Using setSuffix(ki18np("pixel", "pixels")).toString() does nothing, as
at the time of conversion we don't know which one to use.

This patch uses KPluralHandlingSpinBox and correct ki18np.

Note, "new" dependency was already linked implicitly in other kwin, but
we need to add it for this KCM.

Test Plan:
Opened KCM (in English) set counter to 1 pixel and 2 pixels.
No longer had a big warning. Also appropriate number of s's appeared.

Reviewers: #plasma

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D3222
2016-11-02 13:07:39 +00:00
l10n daemon script
9e23d20f8f 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"
2016-10-31 12:00:16 +00:00
Martin Gräßlin
bedc01b108 [kwineffects] Add hide/show cursor to EffectsHandler
Summary:
The implementation delegates to the Platform to perform the actual
show/hide of the cursor image.

This replaces the implementation in the zoom effect which so far
directly interacted with xfixes to show/hide the cursor. This is now
provided by the x11/standalone platform. And due to this change the zoom
effect can now properly hide the cursor on platform DRM (wayland) as
well.

Test Plan: Zoom effect on Wayland hides the cursor

Reviewers: #kwin, #plasma_on_wayland

Subscribers: plasma-devel, kwin

Tags: #plasma_on_wayland, #kwin

Differential Revision: https://phabricator.kde.org/D3120
2016-10-31 11:47:20 +01:00
l10n daemon script
32d5e83aae 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"
2016-10-31 09:27:06 +00:00
Martin Gräßlin
54ca4a9b55 Merge branch 'Plasma/5.8' 2016-10-28 16:43:04 +02:00
Martin Gräßlin
94c5704af7 [effects/translucency] Cancel existing animations before starting new
Summary:
It can happen that startAnimation is invoked multiple times for a
window. In case it was invoked a second time the previous animation was
not cancelled. This resulted in the set-animation to never end. When
closing a window, it would stay around as a translucent, non-interactive
window zombie.

This change ensures that existing animations get cancelled.

BUG: 342716
FIXED-IN: 5.8.3

Test Plan: Tested through autotest and manually.

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D3190
2016-10-28 16:24:49 +02:00
l10n daemon script
94d009ec02 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"
2016-10-21 12:01:48 +00:00
l10n daemon script
501128ccf4 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"
2016-10-21 09:32:33 +00:00
Martin Gräßlin
ea52ef9e57 Add a PlatformCursorImage to Platform and EffectsHandler
Summary:
There are several effects (screenshot, zoom) which need access to the
cursor image and cursor hotspot. So far these effects used X11
unconditionally to get the cursor which obviously does not work on
Wayland.

This change adds a new class PlatformCursorImage to kwinglobals which
wraps what a cursor is (image and hotspot) and adds a new virtual method
to Platform to provide such a PlatformCursorImage. By default it's the
cursor image the Platform tracks. On X11/standalone platform this new
virtual method is overriden and provides a PlatformCursorImage from X11
using the code previously used in screenshot effect.

Screenshot effect and zoom are adjusted to use the new API instead of
X11.

Test Plan:
Zoom effect tested on Wayland, now gets the proper cursor icon.
X11 functionality not yet tested.

Reviewers: #kwin, #plasma_on_wayland

Subscribers: plasma-devel, kwin

Tags: #plasma_on_wayland, #kwin

Differential Revision: https://phabricator.kde.org/D3093
2016-10-20 07:51:49 +02:00
Martin Gräßlin
bef9c9c8c5 Adjust blur and contrast for multi-output rendering on Wayland
Summary:
The glCopyTex(Sub)Image calls are adjusted to take the per output
rendering into account. In addition contrast effect sets the model view
projection matrix in each call to ensure it's on the correct screen.

Blur probably needs more changes for the cached texture to work, but
it's a start.

Test Plan: Blur and Background contrast work on multi-screen wayland

Reviewers: #kwin, #plasma_on_wayland

Subscribers: plasma-devel, kwin

Tags: #plasma_on_wayland, #kwin

Differential Revision: https://phabricator.kde.org/D3101
2016-10-18 16:38:50 +02:00
Martin Gräßlin
eadfcb3d4f [effects] Make screenshot effect work with multiple output rendering
Summary:
Adjusts the screenshot effect to mutliple output rendering. In that case
the blit from framebuffer can only get one output. Thus the effect needs
to blit every output and combine the rendering result.

Reviewers: #kwin, #plasma_on_wayland

Subscribers: plasma-devel, kwin

Tags: #plasma_on_wayland, #kwin

Differential Revision: https://phabricator.kde.org/D3059
2016-10-17 09:03:22 +02:00
Martin Gräßlin
e9b25f176a [effects] Delay taking screenshot into next rendering cycle
Summary:
For windows the screenshot effect already delayed the rendering into the
next cycle. But for the fullscreen variants which save to a file the
Screenshot effect did try to take the shot directly.

This can be problematic as e.g. the OpenGL context might not be bound at
all. Also this makes it impossible to screenshot multiple screens
together in the Wayland case.

This change delays the DBus replies, schedules the geometry and takes
the screenshot in the next rendering pass. It does not fix the
multiscreen wayland problem yet.

Reviewers: #kwin

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D3052
2016-10-14 11:38:08 +02:00
l10n daemon script
b545785325 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"
2016-10-13 09:54:01 +00:00
l10n daemon script
b2bed00c82 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"
2016-10-02 12:02:41 +00:00
l10n daemon script
7edab3f5fb 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"
2016-10-02 09:33:28 +00:00
l10n daemon script
7bff98cec1 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"
2016-09-25 09:31:25 +00:00
l10n daemon script
75e318f907 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"
2016-09-20 12:51:52 +00:00
Martin Gräßlin
d910217bb9 [effects] Repaint expandedGeometry in HighlightWindowsEffect
Summary:
The highlight windows effect tried to trigger repaints with the shadow
included by having an hardcoded pixel offset. This of course breaks if
the shadow is larger than the hardcoded value.

The reason presented on why it was done like that is no longer true and
in the effects the actual visible area including decorations and shadows
is available through the expandedGeometry.

BUG: 368495

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D2748
2016-09-14 10:44:07 +02:00
l10n daemon script
6ae917d7f8 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"
2016-09-13 10:27:05 +00:00
Martin Gräßlin
2545162f87 Support highlighting windows through EffectsHandlerImpl
Summary:
So far TabBox used highlight windows by passing window ids around through
an X property. This doesn't work on Wayland where we don't have window
ids for our TabBox and the Wayland windows.

This change introduces a new Effect::Feature for HighlightWindows which
the HighlightWindowsEffect provides. The EffectsHandlerImpl has a new
method to highlightWindows which it delegates to that effect if it is
loaded by invoking a new performFeature method.

The TabBoxHandler now passes the highlighting to the effects system
instead of updating the x11 property. Thus this works on Wayland and
at the same time improves the X11 side by no longer having to go through
the property protocol.

Test Plan: Verified that Alt+Tab highlights the windows on Wayland correctly.

Reviewers: #kwin, #plasma_on_wayland

Subscribers: plasma-devel, kwin

Tags: #plasma_on_wayland, #kwin

Differential Revision: https://phabricator.kde.org/D2630
2016-09-13 08:36:12 +02:00
Martin Gräßlin
156bf258e9 Merge branch 'Plasma/5.7' 2016-09-12 13:14:15 +02:00
l10n daemon script
2befb1f81c 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"
2016-09-05 09:38:26 +00:00
l10n daemon script
ab459fb126 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"
2016-08-28 11:30:20 +00:00
Martin Gräßlin
b78848ef36 [effects] Add enum value for new TouchPoints effect
BUG: 367727
2016-08-24 16:24:04 +02:00