Commit Graph

3670 Commits (master)

Author SHA1 Message Date
Vlad Zahorodnii 1130c3878f [effects/morphingpopups] Start animation on windowFrameGeometryChanged
Summary:
EffectsHandlerImpl::windowFrameGeometryChanged is emitted when the frame
geometry of a window has _actually_ changed.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D26865
2020-02-12 10:52:26 +02:00
Vlad Zahorodnii 63b24b559a [effects/maximize] Use windowFrameGeometryChanged
Summary:
Use windowFrameGeometryChanged rather than windowGeometryShapeChanged
because we are interested only in frame geometry changes.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D26905
2020-02-12 10:52:26 +02:00
Vlad Zahorodnii 0253add426 [effects/thumbnailaside] Use windowFrameGeometryChanged
Summary:
Use windowFrameGeometryChanged rather than windowGeometryShapeChanged
because we are interested only in frame geometry changes.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D26906
2020-02-12 10:52:26 +02:00
Vlad Zahorodnii 37b8023f71 [effects/presentwindows] Use windowFrameGeometryChanged
Summary:
Use windowFrameGeometryChanged rather than windowGeometryShapeChanged
because we are interested only in frame geometry changes.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D26907
2020-02-12 10:52:26 +02:00
Vlad Zahorodnii f7891ee252 [effects/desktopgrid] Use windowFrameGeometryChanged
Summary:
Use windowFrameGeometryChanged rather than windowGeometryShapeChanged
because we are interested only in frame geometry changes.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D26908
2020-02-12 10:52:26 +02:00
Vlad Zahorodnii b3b5a54859 [effects/snaphelper] Use windowFrameGeometryChanged
Summary:
Use windowFrameGeometryChanged rather than windowGeometryShapeChanged
because we are interested only in frame geometry changes.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D26909
2020-02-12 10:52:26 +02:00
David Edmundson 3dbfa6a325 Return early if close button accepts input event
Summary:
Otherwise we close the effect whenever the close is pressed which is a
behavioural change.

That in turn leads to bigger bugs

BUG: 415155

Test Plan:
Ran effect
Clicked on the "Whitespace" of the dash
Clicked on the close

Now matches desktopgrid code

Reviewers: #kwin, zzag, ngraham

Reviewed By: #kwin, zzag, ngraham

Subscribers: ngraham, zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D27333
2020-02-12 10:03:39 +02:00
l10n daemon script 78c0095a5d 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"
2020-02-11 05:59:16 +01:00
l10n daemon script 49b5e227fb 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"
2020-02-09 09:36:06 +01:00
l10n daemon script e5546c9236 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"
2020-02-09 05:53:12 +01:00
l10n daemon script 40dfbb82a7 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"
2020-01-31 05:53:55 +01:00
l10n daemon script ec2204fbe1 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"
2020-01-29 09:28:27 +01:00
l10n daemon script 64786630a5 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"
2020-01-29 05:45:29 +01:00
l10n daemon script 1b31bb23d6 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"
2020-01-28 09:42:15 +01:00
l10n daemon script f859c2184a 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"
2020-01-28 05:51:43 +01:00
Vlad Zahorodnii 03ae441e23 Change project name to "KWin"
Summary: It's not "KWIN" nor "kWin" nor "kWIN" nor "kwin"

Test Plan: Qt Creator displays "KWin" with correct capitalization.

Reviewers: #kwin, meven

Reviewed By: meven

Subscribers: apol, meven, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D26500
2020-01-25 03:05:02 +02:00
David Edmundson 6cff9072d6 [effects] Port from deprecated method KCModule::changed 2020-01-24 01:18:48 +00:00
Vlad Zahorodnii 80d06c347b Merge branch 'Plasma/5.18' 2020-01-23 11:48:12 +02:00
Vlad Zahorodnii 7b910c51b1 [effects/morphingpopups] Don't animate popups when only shape changes
Summary:
The frame geometry stays still when only shape changes.

BUG: 416531

Reviewers: #kwin

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D26809
2020-01-23 11:47:49 +02:00
David Edmundson 8cedb797f9 Port DesktopGrid QtQuickWindow to EffectQuickView
Summary:
Lots of red, does the same thing in a simplified way avoiding creating a
real window and having to hack round it.

Test Plan: Click add and remove, remove button disables appropriately

Reviewers: #kwin, zzag

Reviewed By: #kwin, zzag

Subscribers: meven, zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D26381
2020-01-22 13:16:45 +00:00
l10n daemon script 86443d58ed 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"
2020-01-17 10:30:32 +01:00
l10n daemon script d462abe2f0 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"
2020-01-17 06:19:40 +01:00
Vlad Zahorodnii 91d89a9840 [effects/flipswitch] Add a const ref
Summary: Add a const reference to match prototype of KGlobalAccel::globalShortcutChanged.

Test Plan: Compiles.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D26668
2020-01-14 18:46:10 +02:00
Vlad Zahorodnii 55b4912004 Update my email address 2020-01-14 18:17:18 +02:00
l10n daemon script f5b018cc82 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"
2020-01-13 05:53:53 +01:00
l10n daemon script 04979d892f 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"
2020-01-12 06:02:49 +01:00
l10n daemon script 0b1e9cfb2c 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"
2020-01-09 05:53:26 +01:00
Sefa Eyeoglu ee5f63c070 [effects/slidingpopups] Tweak effect to make animation smoother and more consistent
Summary:
- Easing function for slide-in changed to InQuad
- Easing function for slide-out changed to OutQuad
- Opacity is now interpolated, too.

Reviewers: #vdg, zzag, #kwin, sefaeyeoglu, ndavis, davidedmundson

Reviewed By: #vdg, zzag, #kwin, sefaeyeoglu, ndavis, davidedmundson

Subscribers: niccolove, ngraham, abetts, davidedmundson, zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18000
2020-01-07 09:39:32 -07:00
l10n daemon script ab85638946 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"
2020-01-04 06:12:32 +01:00
Vlad Zahorodnii 31e664783f Revert "[effects/fallapart] Override scale, fade, and glide effect"
This reverts commit 1747e497e4.

Unfortunately, this patch causes fall apart effect to override sliding
popups effect, which we really don't want to do.
2019-12-12 15:31:56 +02:00
l10n daemon script 2c8ff56540 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"
2019-12-12 05:47:19 +01:00
David Edmundson 5114494b57 [effects/startupfeedback] Port to KConfigWatcher
Summary:
startupfeedback is a special case, rather than loading our own config we
load settings from klaunchrc.

In order to reload this means leaking kwin specific calls into the
launch feedback KCM. Using the new KConfigWatcher syntax, we can use a
generic solution for all this code.

Test Plan:
Changed the value in KCM
Opened dolphin
cursor did the right thing

Reviewers: zzag

Reviewed By: zzag

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D25834
2019-12-10 11:21:23 +00:00
l10n daemon script 27ba893b75 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"
2019-12-10 05:51:14 +01:00
Vlad Zagorodniy 1747e497e4 [effects/fallapart] Override scale, fade, and glide effect
Summary:
Currently the fall apart effect doesn't work in conjuction with window
open/close animation effects, e.g. scale. The reason for that is those
effects grab windows before the fall apart effect.

Test Plan:
* Enable the fall apart effect and the scale effect;
* Close a window.
(without this patch the window doesn't fall apart)

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: ngraham, davidedmundson, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D19723
2019-12-06 11:01:18 +02:00
l10n daemon script 6526efe72a 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"
2019-12-03 05:49:05 +01:00
David Edmundson f45ad69c78 Port away from overloaded KCModule signal
Test Plan: Compiles

Reviewers: #kwin, apol, zzag

Reviewed By: #kwin, apol, zzag

Subscribers: zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D25666
2019-12-02 09:03:14 +00:00
Yuri Chornoivan a853e3370a Fix minor typos 2019-11-26 19:48:29 +02:00
Yuri Chornoivan 84244a7cf6 Use URL with transport encryption 2019-11-26 19:39:20 +02:00
Nicolas Fella f62086f9d3 [effects] Remove unneeded link to KService
Test Plan: builds

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D25547
2019-11-26 17:30:04 +01:00
Nicolas Fella 44c558c31f Remove unused QLinkedList includes
Test Plan: builds

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Maniphest Tasks: T12087

Differential Revision: https://phabricator.kde.org/D25544
2019-11-26 13:29:59 +01:00
l10n daemon script 1f8e4bba85 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"
2019-11-20 05:46:13 +01:00
l10n daemon script 48c253355b 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"
2019-11-12 05:44:06 +01:00
l10n daemon script a6b705bb75 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"
2019-11-11 05:31:05 +01:00
l10n daemon script 148168dc47 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"
2019-11-09 05:38:53 +01:00
l10n daemon script aa3a16845b 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"
2019-11-06 05:43:12 +01:00
l10n daemon script cd04a6c901 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"
2019-11-05 05:34:25 +01:00
l10n daemon script a0d98a61c5 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"
2019-11-04 05:27:01 +01:00
l10n daemon script f0a021eae5 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"
2019-11-03 05:21:29 +01:00
l10n daemon script 2bb025cbdb 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"
2019-11-02 05:41:14 +01:00
Kai Uwe Broulik 66f2e2b158 Merge branch 'Plasma/5.17' 2019-11-01 22:43:50 +01:00
Kai Uwe Broulik 87f36f53b3 [effects/startupfeedback] Fallback to small icon size when no cursor size is configured
As appears to be the case with the default setup...

BUG: 413605
FIXED-IN: 5.17.3

Differential Revision: https://phabricator.kde.org/D25065
2019-11-01 22:40:35 +01:00
David Edmundson e4ac215fcb [effects] Add effect to hold the desktop window static after plasmashell quits
Summary:
When a plasma session quits, the order of plasmashell and clients quitting is undetermined.

This looks bad as our desktop background disappears quite early. Rather than changing the real order, we can have kwin reference the last pixmap of any desktop and hold on to it.

Lasting till the compositor quits means it stays on the X frontbuffer till X quits and the experience is seamless.

Test Plan: Logged out (with relevant other ksmserver patches)

Reviewers: #kwin, zzag

Reviewed By: #kwin, zzag

Subscribers: zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D24864
2019-11-01 17:14:55 +00:00
Albert Astals Cid e144748c7a Add some const &
Summary:
Won't make things go much faster since everything that was
being passed by value is refcounted but still const & is a bit faster
than refcounting

For shared pointers instead of adding const & we move them into the
destination variable saving some cpu usage but at the same time making
clear the pointer is being stored by not being const &

Reviewers: zzag

Reviewed By: zzag

Subscribers: zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D25022
2019-10-30 19:23:01 +01:00
l10n daemon script 71c3f063bb 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"
2019-10-23 09:01:14 +02:00
l10n daemon script cfd296326b 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"
2019-10-23 05:33:32 +02:00
David Edmundson 1af0ee3f71 [effects/presentwindows] Fix newly introduced memory leak
Summary: Introduced by accident in my port.

Reviewers: #kwin

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D24835
2019-10-21 16:45:19 +01:00
David Edmundson cd99a901f6 [effects/presentwindows] Port present windows to EffectQuickView
Summary:
Removes over 100 lines of rather confusing code, implicitly introduces a
sharedEngine. Doesn't perform hide/show by moving a window offscreen.

As for the freeze, proving that EffectQuickView covers this case without
lots of extra C++ is an important pre-requisite for ever moving this
effect to a magic declarative API.

General code structure remains the same.

Test Plan: Opened present windows

Reviewers: #kwin, zzag

Reviewed By: #kwin, zzag

Subscribers: zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D24240
2019-10-21 14:36:39 +01:00
l10n daemon script 6789573d88 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"
2019-10-20 08:55:01 +02:00
l10n daemon script d9ed103196 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"
2019-10-20 05:22:16 +02:00
l10n daemon script 05d5656712 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"
2019-10-19 09:16:12 +02:00
l10n daemon script 0fcb85804d 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"
2019-10-19 05:33:29 +02:00
l10n daemon script bb7051dd3a 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"
2019-10-18 05:38:34 +02:00
Kai Uwe Broulik 6429019a0f Merge branch 'Plasma/5.17' 2019-10-17 19:04:40 +02:00
Kai Uwe Broulik 2497f901d7 [effects/startupfeedback] Scale application icon size with cursor size
KWin doesn't use Qt scaling and as such the icon remains tiny.
Instead, make it follow the cursor size as the user is likely to have larger cursors on high dpi.

Differential Revision: https://phabricator.kde.org/D24714
2019-10-17 19:04:14 +02:00
l10n daemon script fe27d39b5c 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"
2019-10-17 05:41:38 +02:00
Vlad Zahorodnii f93875535c Update my last name 2019-09-29 17:03:25 +03:00
Vlad Zagorodniy 5469558c1a [effects/slidingpopups] Don't start animation if there is no slide edge
Summary:
Given that slide in/out animation duration is not initialized when slide
location is NoEdge, assert statement will be triggered in slideIn().

Reviewers: #kwin

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D23564
2019-09-23 17:28:56 +03:00
Vlad Zahorodnii b8a6fd7c46 Don't initialize QFlags<T> with nullptr
Summary: This looks very odd.

Test Plan: Compiles.

Reviewers: #kwin, romangg

Reviewed By: #kwin, romangg

Subscribers: apol, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D24086
2019-09-19 21:42:34 +03:00
Vlad Zahorodnii 62a7db7028 Use nullptr everywhere
Summary:
Because KWin is a very old project, we use three kinds of null pointer
literals: 0, NULL, and nullptr. Since C++11, it's recommended to use
nullptr keyword.

This change converts all usages of 0 and NULL literal to nullptr. Even
though it breaks git history, we need to do it in order to have consistent
code as well to ease code reviews (it's very tempting for some people to
add unrelated changes to their patches, e.g. converting NULL to nullptr).

Test Plan: Compiles.

Reviewers: #kwin, davidedmundson, romangg

Reviewed By: #kwin, davidedmundson, romangg

Subscribers: romangg, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D23618
2019-09-19 17:48:21 +03:00
Vlad Zahorodnii dcf91d4321 Cleanup style in CMakeLists.txt files
We have lots of inconsistency at the moment in CMakeLists.txt files. Most
of it is due to kwin being a very old project. This change hopefully fixes
all of it.
2019-09-17 16:03:05 +03:00
l10n daemon script fd702c3644 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"
2019-09-17 05:29:51 +02:00
l10n daemon script da8d16deca 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"
2019-09-16 05:20:24 +02:00
Frederik Gladhorn b64e67ce7c Remove disabled TabGroup feature
Summary:
This has been commented out since 2014, I doubt it will come back.
This is a big amount of code, maintenance will be easier without it.

Reviewers: #kwin, zzag

Reviewed By: #kwin, zzag

Subscribers: romangg, graesslin, kwin

Tags: #kwin, #documentation

Differential Revision: https://phabricator.kde.org/D23069
2019-09-14 10:58:48 +02:00
Vlad Zahorodnii 2adbcf7b1d [effects/windowgeometry] Fix -Wdeprecated-declarations 2019-09-12 22:19:34 +03:00
Vlad Zagorodniy 4d4d9990dd [effects/wobblywindows] Draw clients below opaque wobbly windows
Summary:
Given that wobbly windows effect takes optimized render path, it needs
to clear the clip region of about to be transformed opaque window.

BUG: 411092
FIXED-IN: 5.17.0

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D23774
2019-09-07 23:50:12 +03:00
Vlad Zagorodniy 86b2b70458 [effects/wobblywindows] Remove traits of an open/close animation
Summary:
Wobbly Windows effect is capable of animating a window when it's shown
or hidden. However, this feature has been hidden since it was added.
One needs to know how the effect works in order to enable these animations.

Therefore there's no good reason to keep these two animations because
practically no one uses them and they only add maintenance burden.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D23763
2019-09-07 13:21:38 +03:00
Vlad Zagorodniy 630006e6f7 Delete unused includes
We don't use assert().
2019-09-06 16:07:55 +03:00
Vlad Zagorodniy 7a3722b4f5 Switch to Q_ASSERT
Summary:
Switch to Q_ASSERT in order to make code a bit more consistent. We have
places where both assert and Q_ASSERT are used next to each other. Also,
distributions like Ubuntu don't strip away assert(), let's hope that
things are a bit different with Q_ASSERT.

Test Plan: Compiles.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: romangg, davidedmundson, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D23605
2019-08-31 20:07:05 +03:00
l10n daemon script 082baf6662 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"
2019-08-30 05:26:49 +02:00
Frederik Gladhorn 12886cf442 Be consistent about touch point id type: use qint32
Summary:
There is no point in using quint32 and casting back and forth in numerous places.
Fix a bunch of compiler warnings that we implicitly cast between signed and unsigned.
This makes things consistent with what we get from libinput.

Reviewers: #kwin, romangg

Reviewed By: #kwin, romangg

Subscribers: zzag, romangg, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D23086
2019-08-11 22:15:05 +02:00
l10n daemon script f1bbe935d3 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"
2019-08-07 05:12:10 +02:00
l10n daemon script bb32691980 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"
2019-07-31 05:23:00 +02:00
Vlad Zagorodniy 684b4b635e Use more traditional doxygen style
Summary:
So far we were following a bit unique and rare doxygen comment style:

    /**
     * Contents of the comment.
     **/

Doxygen comments with this style look balanced and neat, but many people
that contribute to KWin don't follow this style. Instead, they prefer
more traditional doxygen comment style, i.e.

    /**
     * Contents of the comment.
     */

Reviewing such changes has been a bit frustrating for me (so selfish!)
and for other contributors.

This change switches doxygen comment style in KWin to a more traditional
style. The main reason for doing this is to make code review process easier
for new contributors as well us.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D22812
2019-07-29 22:06:19 +03:00
Vlad Zagorodniy 8af2fa73dc Run clang-tidy with modernize-use-override check
Summary:
Currently code base of kwin can be viewed as two pieces. One is very
ancient, and the other one is more modern, which uses new C++ features.

The main problem with the ancient code is that it was written before
C++11 era. So, no override or final keywords, lambdas, etc.

Quite recently, KDE compiler settings were changed to show a warning if
a virtual method has missing override keyword. As you might have already
guessed, this fired back at us because of that ancient code. We had
about 500 new compiler warnings.

A "solution" was proposed to that problem - disable -Wno-suggest-override
and the other similar warning for clang. It's hard to call a solution
because those warnings are disabled not only for the old code, but also
for new. This is not what we want!

The main argument for not actually fixing the problem was that git
history will be screwed as well because of human factor. While good git
history is a very important thing, we should not go crazy about it and
block every change that somehow alters git history. git blame allows to
specify starting revision for a reason.

The other argument (human factor) can be easily solved by using tools
such as clang-tidy. clang-tidy is a clang-based linter for C++. It can
be used for various things, e.g. fixing coding style(e.g. add missing
braces to if statements, readability-braces-around-statements check),
or in our case add missing override keywords.

Test Plan: Compiles.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: davidedmundson, apol, romangg, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D22371
2019-07-22 20:03:22 +03:00
Aleix Pol d3253257f9 Copy the packages into the build directory so they can be found without installign
Summary: Fixes the execution of tests when not installed

Test Plan: Removed the installed effect and testTranslucency

Reviewers: #kwin, zzag

Reviewed By: #kwin, zzag

Subscribers: zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D22490
2019-07-16 17:31:24 +02:00
Aleix Pol 6cd9b2ba25 Install KPackages with kpackage_install_package
Summary:
Removes a bunch of boilerplate CMake code and allows kpackage to do
some smart things, e.g. drops our runtime dependency on the
DesktopFileParser and we get to just use json directly.

Test Plan: Ran kwin, now it doesn't use the desktop to json translation path, everything still works.

Reviewers: #kwin, zzag

Reviewed By: #kwin, zzag

Subscribers: davidedmundson, zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D22474
2019-07-16 14:21:14 +02:00
l10n daemon script 9c0a71c37f 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"
2019-07-13 05:18:09 +02:00
Vlad Zagorodniy 5e0e708a76 Port away from deprecated QImage::byteCount
Summary:
QImage::byteCount() was deprecated in Qt 5.10. It is advised to use
QImage::sizeInBytes() method instead.

Reviewers: #kwin, apol

Reviewed By: apol

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D22355
2019-07-10 02:02:15 +03:00
Vlad Zagorodniy 4e5d3d0010 Port away from QRegion::rects
Summary:
QRegion::rects was deprecated in Qt 5.11. It is advised to use begin()
and end() methods instead.

Reviewers: #kwin, romangg

Reviewed By: #kwin, romangg

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D22353
2019-07-10 01:00:51 +03:00
Vlad Zagorodniy 927f579df9 Port away from deprecated qSort function
Reviewers: #kwin, romangg

Reviewed By: #kwin, romangg

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D22354
2019-07-10 00:00:29 +03:00
Vlad Zagorodniy c7639fd7ed Port away from deprecated headers
Summary: Headers like stdio.h are deprecated in C++.

Test Plan:
Compiles.

clangd no longer spews these warnings

{F6997789, size=full}

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D22351
2019-07-09 23:59:07 +03:00
Kai Uwe Broulik ea97928426 Merge branch 'Plasma/5.16' 2019-07-09 11:15:20 +02:00
Fredrik Höglund 5191311d36 [effects/blur] Disable sRGB when the framebuffer is linear
Disable sRGB rendering when the color encoding of the default
framebuffer is linear.

BUG: 408594
FIXED-IN: 5.16.3

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

Signed-off-by: Fredrik Höglund <fredrik@kde.org>
2019-07-09 00:43:33 +02:00
David Edmundson 3604aaf74c Close screen grabbing effect when screensaver starts
Summary:
The screenlock fails on X11 if it can't grab the keyboard.

We can't nicely solve the generic case. We can solve the common case of
a kwin effect being active.

It's not critical, arguably not even desirable to have these effects
persist after the screen is locked through an external trigger. We can
just close the effect early.

Key grabs have to be relased early before the close animation completes
so that the locker doesn't have a race based on animation times.

It's not ideal, but no worse than the current state for not much work.

BUG: 234153

Test Plan:
locked screen on a timer
opened various effects

Reviewers: #kwin, zzag

Reviewed By: #kwin, zzag

Subscribers: ngraham, zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D20890
2019-06-23 18:00:47 +02:00
Nate Graham 4dd4ca8f1c [effects/presentwindows] Allow closing windows on middle-click
Summary:
Plasma's Task manager exposes an optional  feature whereby the user
can middle-click on a window to close it, but the Present Windows effect
does not do the same.

The presence of a close button you can left-click does not replace the desirable
feature to be able to middle-click on a window to close it, because then the
whole window becomes a click target, so it can be much much faster than
having to aim for the little close button. Also it's off by default, so a user
who goes out of their way to turn it on is signaling that they want to accept the
risk of accidentally closing a window by accident.

Finally, the feature is not allowed for left-click, so people can never accidentally
wreck Present Windows for themselves by assigning it to left-click by accident
and then mistakenly closing their windows.

This reverts commit 55585514f9.

FEATURE: 321190
FIXED-IN: 5.17.0

Test Plan:
Set "Close window" in the Present windows effect, trigger effect, and middle-click on window

{F6815303}

Reviewers: #kwin, davidedmundson, broulik, zzag, #plasma, hein, mart

Reviewed By: #kwin, #plasma, mart

Subscribers: mart, abetts, apol, zzag, luebking, kossebau, graesslin, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D21083
2019-06-21 10:25:32 -06:00
Kai Uwe Broulik 8a2f2b5fb9 [effects/login] Reduce animation time
On modern machines session startup takes a few seconds where the 2s might artificially slow down the process by like 50%.
This makes the animation quicker to make the system feel ready quicker.

Differential Revision: https://phabricator.kde.org/D21904
2019-06-19 18:24:55 +02:00
Gabriel Felipe Huwe 92d482b331 [effects/screenshot] Remove outdated reference to KSnapshot
Summary:
Since KSnapshot is no longer used, I modified the text in `effect_builtins.cpp` to reflect that, changing it to a generic "screenshot tools".

BUG: 408407
FIXED-IN: 5.17.0

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: filipf, davidedmundson, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D21700
2019-06-10 08:48:19 -06:00
l10n daemon script d3f1078c94 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"
2019-06-09 08:29:13 +02:00
l10n daemon script e4ba37109f 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"
2019-06-09 05:13:32 +02:00
Vlad Zagorodniy 4ece0a9f40 Merge branch 'Plasma/5.12' into Plasma/5.16 2019-05-27 17:31:10 +03:00
Vlad Zagorodniy 67444e3659 [effects/screenshot] Upload data to xpixmap in chunks
Summary:
xcb_put_image doesn't handle big images well. Contrary to XPutImage, the
caller must manually split the data in such a way that each xcb_put_image
request doesn't exceed the maximum request length. Not doing so will result
in libxcb shutting down the connection.

CCBUG: 338489
CCBUG: 388182

Test Plan: Take a screenshot of an active fullscreen client on a 4K monitor.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: davidedmundson, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D21370
2019-05-27 17:30:21 +03:00
Vlad Zagorodniy d94eb29d07 [effects/thumbnailaside] Specify screen projection matrix
Summary:
The Lanczos filter is applied to thumbnails, so we need to specify screen
projection matrix in order to properly project window coordinates into
screen-space.

BUG: 407485

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D21224
2019-05-15 12:35:00 +03:00
l10n daemon script ee60653640 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"
2019-05-08 05:51:51 +02:00
Vlad Zagorodniy e8b45cce11 [effects/cubeslide] Cancel active animation when number of desktops has changed
Summary:
If a virtual desktop is removed, then desktopChanged will be followed by
numberDesktopsChanged signal. In which case, we have to cancel the
active animation because front_desktop might be no longer valid when
it's time to perform compositing.

BUG: 406452

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D21064
2019-05-07 15:13:09 +03:00
Kai Uwe Broulik df85907de3 Support CriticalNotification type and place it in a CriticalNotificationLayer
Differential Revision: https://phabricator.kde.org/D20629
2019-05-02 10:29:38 +02:00
l10n daemon script cc81964fce 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"
2019-05-02 05:57:21 +02:00
Friedrich W. H. Kossebau 1fb4baf365 [effects/screenedge] Support "hint-stretch-borders"
Summary:
Some old themes have the flag set and also a style which expects the
borders to be stretched. Given that the documentation on techbase
describes widgets/glowbar still as "a frame without a prefix", one also
would assume that all the optional hints (which make sense) still apply.
Even more, the Air & Oxygen themes have the hint also set, though for
their rendering it makes no difference.
The small code needed seems worth the unbreaking of old themes as well
as giving theme creators another variable of freedom for their styles.

Test Plan:
Glow bar still works on all corners and edges with all themes as before,
though rendering now as expected for themes which have the
"hint-stretch-borders" set.

Reviewers: #kwin, zzag, davidedmundson

Reviewed By: #kwin, zzag, davidedmundson

Subscribers: davidedmundson, zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D20621
2019-04-17 15:22:15 +02:00
Vlad Zagorodniy e3d1ddd2bf Merge branch 'Plasma/5.15' 2019-04-15 11:20:19 +03:00
Vlad Zagorodniy 0a8c436f7f [effects/fallapart] Don't animate popups
Summary: BUG: 405971

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D20568
2019-04-15 11:20:06 +03:00
l10n daemon script 6b769152d3 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"
2019-04-12 09:04:10 +02:00
l10n daemon script ef3f1e57ba 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"
2019-04-12 05:58:07 +02:00
Vlad Zagorodniy 3d46801e5f [wayland] Make sure that only the fading popups effect animates outline
Summary:
Window open/close animation effects should not animate the outline
because the end result is a bit awkward.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D19886
2019-04-09 14:21:22 +03:00
l10n daemon script 576efedb1a 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"
2019-04-06 09:35:59 +02:00
l10n daemon script a32e103fe8 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"
2019-04-06 09:08:58 +02:00
l10n daemon script 8e1485b4c8 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"
2019-04-06 06:06:15 +02:00
Volker Krause 008143c9db Update URLs to use https
Summary: Largely done automatically using the tools from D19996.

Reviewers: yurchor, zzag

Reviewed By: yurchor, zzag

Subscribers: zzag, yurchor, kwin, kde-doc-english

Tags: #kwin, #documentation

Differential Revision: https://phabricator.kde.org/D20017
2019-03-25 19:26:23 +01:00
l10n daemon script 0aa9cb1f7a 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"
2019-03-09 05:50:43 +01:00
Vlad Zagorodniy 0984f6ccfd Merge branch 'Plasma/5.15' 2019-03-08 10:39:26 +02:00
l10n daemon script 1d59d436a5 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"
2019-03-08 08:53:22 +01:00
l10n daemon script 54d236df37 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"
2019-03-08 06:00:16 +01:00
l10n daemon script 6230ca2e4a 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"
2019-03-07 08:45:16 +01:00
l10n daemon script d92791af07 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"
2019-03-07 05:55:07 +01:00
Kai Uwe Broulik aaa9c5ecb9 Merge branch 'Plasma/5.15' 2019-03-05 23:01:37 +01:00
Kai Uwe Broulik 2ea6fc2abe [effects/screenshot] Set m_windowMode in screenshotWindowUnderCursor
BUG: 374864
FIXED-IN: 5.15.3

Differential Revision: https://phabricator.kde.org/D19552
2019-03-05 22:59:44 +01:00
l10n daemon script 6a7483ae5e 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"
2019-02-23 08:38:50 +01:00
l10n daemon script 19793b9492 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"
2019-02-23 05:48:12 +01:00
Vlad Zagorodniy 58de7d6862 Merge branch 'Plasma/5.15' 2019-02-18 16:27:45 +02:00
Vlad Zagorodniy 55d3f2933f [effects/desktopgrid] Don't copy windows on X11
Summary:
Currently, the Desktop Grid effect tries to copy a client when user
moves it. But on X11 such behavior doesn't make sense because
a client can't be on multiple desktops (except on all).

BUG: 404442
FIXED-IN: 5.15.1

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D19116
2019-02-18 16:27:13 +02:00
Vlad Zagorodniy 0d7415336f [effects] Make sure that all effects reset the streaming buffer
Summary:
The streaming buffer is shared so we have to reset it before rendering
something. Otherwise, it's basically undefined behavior.

For example, if the streaming buffer had been used for rendering a
geometry with some color, then the Background Contrast effect may crash
in GLVertexBuffer::bindArrays, it all depends on whether there is any
bounded GLShader. To fix that, the buffer has to be reset.

BUG: 356141

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: davidedmundson, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D19034
2019-02-15 15:51:54 +02:00
Vlad Zagorodniy 96a02c7560 [effects/logout] Hide configure button in Desktop Effects KCM
Summary:
The configure button should be hidden because this effect doesn't
have any kcms.

Reviewers: #kwin, ngraham

Reviewed By: ngraham

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18984
2019-02-14 13:45:30 +02:00
Vlad Zagorodniy 7b20e1f66f Overhaul doxygen comments
Summary:
We have a mix of different doxygen comment styles, e.g.

    /*!
      Foo bar.
     */

    /**
     * Foo bar.
     */

    /** Foo bar.
     */

    /**
     * Foo bar.
     */

    /**
     * Foo bar.
     **/

To make the code more consistent, this change updates the style of all
doxygen comments to the last one.

Test Plan: Compiles.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18683
2019-02-12 19:29:33 +02:00
Vlad Zagorodniy 16a2799b3a Merge branch 'Plasma/5.15' 2019-02-07 02:11:14 +02:00
Vlad Zagorodniy bdddf4daf2 [effects/screenedge] Use correct blend function
Summary:
Glow textures already have the red, green, and blue channels
premultiplied by the alpha component (because of QImage), thus we can't
use GL_SRC_ALPHA for sfactor in glBlendFunc.

BUG: 403570

Test Plan:
Before:
{F6592391}

After:
{F6592392}

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18803
2019-02-07 02:10:57 +02:00
Kai Uwe Broulik f86d70aa63 Merge branch 'Plasma/5.15' 2019-02-05 13:28:56 +01:00
Kai Uwe Broulik 7a914e70b6 Merge branch 'Plasma/5.12' into Plasma/5.15 2019-02-05 13:28:45 +01:00
Kai Uwe Broulik bc5978b759 [effects/startupfeedback] Fix shader
Provide both 1.10 and 1.40 shaders.

Differential Revision: https://phabricator.kde.org/D18757
2019-02-05 13:28:14 +01:00
Alex Nemeth 3c2148a5fb [effects/blur] Update blur to be more natural
Summary:
This gets rid of the dark area that may appear between very different colors by doing the blur in SRGB colorspace.
This is not enabled for GLES, and will use the previous blur type.

Test Plan:
Before:
{F6577457}

After:
{F6577458}

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

Reviewed By: #vdg, fredrik, ngraham

Subscribers: Codezela, fredrik, abetts, Petross404, rapiteanu, filipf, rooty, ngraham, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18377
2019-01-31 19:21:40 +01:00
Martin Flöser 02a0561016 Add windowsystem plugin for KWin's qpa
Summary:
KWindowSystem provides a plugin interface to have platform specific
implementations. So far KWin relied on the implementation in
KWayland-integration repository.

This is something I find unsuited, for the following reasons:
 * any test in KWin for functionality set through the plugin would fail
 * it's not clear what's going on where
 * in worst case some code could deadlock
 * KWin shouldn't use KWindowSystem and only a small subset is allowed
to be used

The last point needs some further explanation. KWin internally does not
and cannot use KWindowSystem. KWindowSystem (especially KWindowInfo) is
exposing information which KWin sets. It's more than weird if KWin asks
KWindowSystem for the state of a window it set itself. On X11 it's just
slow, on Wayland it can result in roundtrips to KWin itself which is
dangerous.

But due to using Plasma components we have a few areas where we use
KWindowSystem. E.g. a Plasma::Dialog sets a window type, the slide in
direction, blur and background contrast. This we want to support and
need to support. Other API elements we do not want, like for examples
the available windows. KWin internal windows either have direct access
to KWin or a scripting interface exposed providing (limited) access -
there is just no need to have this in KWindowSystem.

To make it more clear what KWin supports as API of KWindowSystem for
internal windows this change implements a stripped down version of the
kwayland-integration plugin. The main difference is that it does not use
KWayland at all, but a QWindow internal side channel.

To support this EffectWindow provides an accessor for internalWindow and
the three already mentioned effects are adjusted to read from the
internal QWindow and it's dynamic properties.

This change is a first step for a further refactoring. I plan to split
the internal window out of ShellClient into a dedicated class. I think
there are nowadays too many special cases. If it moves out there is the
question whether we really want to use Wayland for the internal windows
or whether this is just historic ballast (after all we used to use
qwayland for that in the beginning).

As the change could introduce regressions I'm targetting 5.16.

Test Plan:
new test case for window type, manual testing using Alt+Tab
for the effects integration. Sliding popups, blur and contrast worked fine.

Reviewers: #kwin

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18228
2019-01-27 08:59:58 +01:00
Vlad Zagorodniy 253ff428a7 [effects] Port to new connect syntax
Summary:
The new connect syntax has several advantages over the old syntax:

(a) Connecting with the new syntax is faster;
(b) It is compile time checked.

There are still a few places where the old connect syntax is used, e.g.
connecting to QML buttons in the Desktop Grid effect.

Test Plan:
Have been testing this patch for ~2 weeks, haven't noticed any
regressions.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: davidedmundson, broulik, graesslin, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18368
2019-01-26 01:22:06 +02:00
l10n daemon script 433a121838 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"
2019-01-25 08:42:24 +01:00
l10n daemon script fcb45426a9 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"
2019-01-25 05:40:11 +01:00
Vlad Zagorodniy 2458b95e8c Remove executable bit from presentwindows.cpp 2019-01-18 21:16:41 +02:00
l10n daemon script 64658c9d37 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"
2019-01-16 09:09:19 +01:00
l10n daemon script b7f6e57eff 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"
2019-01-14 05:39:00 +01:00
l10n daemon script 8f12ba90b9 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"
2019-01-11 05:41:32 +01:00
l10n daemon script 90306f5c08 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"
2019-01-06 05:42:41 +01:00
David Edmundson fe47a8d9b9 [effects/slideback] Port away from deprecated EffectWindow::desktop
Summary:
Not only does the function windowsShareDesktop become a lot more complex
with the new desktop cardinality comparing if they share any desktop
isn't actually what we want.

If I have 2 windows on desktop 1 and the lower stacked window is also on
desktop 2, when I switch desktops the focus will change, but we don't
want to animate anything here as on this dekstop it has nothing to slide
in front of.

Instead this patch simply checks both windows are on the current
desktop.

Test Plan:
Loaded a few windows. Some on one, some on more.
Before if a window was on desktop 1&2 it wouldn't animate on 2.

Windows now seem to animate when they should and not when they shouldn't.

Reviewers: #kwin, zzag

Reviewed By: #kwin, zzag

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D17943
2019-01-03 16:47:28 +00:00
Vlad Zagorodniy 1084f162aa [effects/slidingpopups] Port away from deprecated EffectWindow::desktop
Summary:
If a window is not on the current virtual desktop, then it won't be
painted/slided. Thus, we can replace EffectWindow::desktop by
EffectsHandler::currentDesktop.

Test Plan: The effect still works correctly on both X11 and Wayland.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D17944
2019-01-03 18:12:50 +02:00
l10n daemon script f76280231f 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-12-28 05:34:06 +01:00
l10n daemon script 91f5938a7f 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-12-24 05:25:01 +01:00