Commit Graph

3140 Commits (ddda524974d99249570e72d17f34215a735b2acc)

Author SHA1 Message Date
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 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
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 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 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