Commit graph

3619 commits

Author SHA1 Message Date
Vlad Zahorodnii
b028ae56d9 [effects/logout] Start the animation on only windowAdded or windowClosed
windowShown and windowHidden are emitted when the window becomes visible
and hidden, respectively. For example, that can be the case when the
window has been minimized or unminimized. We have to start animations
only when windowAdded or windowClosed has been emitted.
2020-06-01 15:13:03 +03:00
Vlad Zahorodnii
9d4c8fda09 [effects/slidingpopups] Start the animation on only windowAdded or windowClosed
windowShown and windowHidden are emitted when the window becomes visible
and hidden, respectively. For example, that can be the case when the
window has been minimized or unminimized. We have to start animations
only when windowAdded or windowClosed has been emitted.
2020-06-01 15:13:03 +03:00
Vlad Zahorodnii
6f822b22bb [effects/fade] Start the animation on only windowAdded or windowClosed
windowShown and windowHidden are emitted when the window becomes visible
and hidden, respectively. For example, that can be the case when the
window has been minimized or unminimized. We have to start animations
only when windowAdded or windowClosed has been emitted.
2020-06-01 15:13:03 +03:00
Vlad Zahorodnii
076b8bc14c [effects/zoom] Implement text caret tracking
The text caret tracking feature allows to keep the text caret inside the
zoomed area. It can be especially useful when the zoomed area is smaller
than the text editor.

BUG: 362189
2020-06-01 10:43:59 +03:00
Vlad Zahorodnii
c1ea0412a4 [effects/zoom] Implement focus tracking with QAccessibilityClient
Currently, the focus tracking functionality in the zoom effect does not
work because it relies on kaccessibleapp, which is dead. Luckily for us,
there is a library called libqaccessibilityclient that provides a way
to monitor focus changes.

BUG: 421234
2020-06-01 10:43:59 +03:00
l10n daemon script
7230c95320 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-05-31 20:24:40 +02:00
Vlad Zahorodnii
30a5b11148 Merge branch 'Plasma/5.19' 2020-05-29 10:55:16 +03:00
Vlad Zahorodnii
ed02ece38d Merge branch 'Plasma/5.19' 2020-05-29 10:48:45 +03:00
Vlad Zahorodnii
309fbf1837 [effects/blur] Don't blur outside the frame rect
We need to clip the blur region to ensure that the background behind
client side drop shadows is not blurred.

BUG: 422202
2020-05-29 10:42:48 +03:00
David Edmundson
e3044e619e Correctly align natural layout in present windows
Summary:
Present windows works as follows:

- It moves all windows about until nothing is overlapping with any
other window.
- This doesn't resize anything so ultimately we end up with a new
co-ordinate space that's bigger than the screen depending on the amount
of overlap.

 - We then render this whole view transformed to the screen

The rectangle "bounds" is in overviewpixels, with "scale" being the
ratio to convert to screen pixels.

When adjusting the new bounds there's an attempt to centre align things.
As bounds is in "overviewpixels" we multiply references to the previous
bounds by scale, and divide everything through at the end. bounds.x/y
were missed.

This is mostly unoticable except on massive super-ultra-wide monitors
which will otherwise have a tendency to shift to the left.

Test Plan:
Kai created a whole new test framework for this code that copy pasted
this algorithm then showed mock windows as rectangles

Reviewers: #kwin, apol, broulik, zzag

Reviewed By: #kwin, apol, broulik, zzag

Subscribers: zzag, apol, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D29705
2020-05-26 10:52:16 +01:00
David Edmundson
963491cc5e [effects/blur] Update to kwayland changes 2020-05-26 09:52:17 +01:00
Christian Muehlhaeuser
7b545bf47a Improve code readability of presentwindows effect
Summary:
Added newlines in various places to make the code a bit easier
to read and digest.
2020-05-24 08:58:39 +00:00
Vlad Zahorodnii
1dd3c7e8ba [effects/showfps] Calculate "correct" FPS
Summary:
cca0e15b45 broke code that calculates the value of the fps counter.

The frames field stores timestamps of previous frames, not time between
each two consecutive frames.

This change doesn't attempt to make the show fps compute more accurate
performance metrics, e.g. how much times it takes to execute rendering
commands on the GPU, etc.

Test Plan: The Show FPS effect displays more sensible values.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: davidedmundson, broulik, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D29247
2020-05-07 09:17:02 +03:00
Laurent Montel
86cbf73386 Fix compile with strict iterator 2020-05-01 13:02:39 +02:00
Aleix Pol
3a9d7a6e9d Port KWin to KWaylandServer
Summary: Away from KWayland::Server and KF5WaylandServer.

Test Plan: Builds, ran nested session

Reviewers: #kwin, #plasma, #frameworks, davidedmundson, zzag

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

Subscribers: zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D29278
2020-04-30 12:56:08 +02:00
Méven Car
137a6a1705 ScreenShotEffect: Add a shouldReturnNativeSize argument to screenshotFullscreen
Summary:
Add a shouldReturnNativeSize to screenshotFullscreen so that KWin can export
screenshot that are screen pixel accurate.

Useful for spectacle to be able to do rectangular selection kind of screenshot.

Test Plan:
Example of a top screen using a 1.25 scale ratio being export in native resolution
{F8255144}
(The top screen has a bigger size than its virtual geometry and next screen doesn't overlap)

Example of the same screen in virtual resolution:
{F8255146}

Reviewers: #kwin, davidedmundson, bport, zzag, apol

Reviewed By: #kwin, davidedmundson

Subscribers: broulik, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D29122
2020-04-29 19:16:22 +02:00
l10n daemon script
34de0b746e 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-04-29 06:38:00 +02:00
l10n daemon script
028aecaaf9 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-04-27 06:06:37 +02:00
l10n daemon script
b8b71daed6 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-04-22 06:37:43 +02:00
Méven Car
66898e7f46 Wayland: Allow to take single screen screenshots using scale factor without loss
Summary:
The screenshot made on screens with scale factor were downscaled by their scale factor making them blurry.
It prevents taking screenshots of missing Hidpi related bugs showing the issues under Wayland.

This fix the case of a single screenshot, but not the rest:
Multiscreen screenshot downscales the screen using scale factor.
Spectacle rectangular selection screenshot is broken as soon as some scale factor different than 1 is used on any screen.

Test Plan:
Under Wayland with a scale factor on a screen, take a screenshot using spectacle.
The output image is not downscaled and has the same size as the screen resolution.

No other change to any other screenshot mode, or under X.

Reviewers: davidedmundson, #kwin

Reviewed By: davidedmundson, #kwin

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D29010
2020-04-20 16:12:26 +02:00
Benjamin Port
864f355870 Set cursor size default to 24 to align with KCM
Reviewers: #plasma, meven, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: kwin

Tags: #kwin

Maniphest Tasks: T12040

Differential Revision: https://phabricator.kde.org/D28654
2020-04-17 14:43:51 +02:00
Aleix Pol
dbac4bce7e Reduce the amount of objects that are compiled several times
Summary:
We build some objects several times which makes it uncomfortable to develop KWin
since every time we modify something a lot of things get rebuilt. This should
help a bit although it doesn't solve all the problems.

Test Plan: Builds, tests pass

Reviewers: #kwin, zzag

Reviewed By: #kwin, zzag

Subscribers: davidedmundson, zzag, anthonyfieroni, iasensio, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D28445
2020-04-02 00:41:55 +02:00
l10n daemon script
d876dde05b 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-03-31 06:35:42 +02:00
l10n daemon script
2f6e9a6355 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-03-27 06:43:00 +01:00
l10n daemon script
7fc05f1cf6 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-03-26 06:24:43 +01:00
David Edmundson
e323e62202 fix misleading indendation 2020-03-24 15:57:32 +00:00
l10n daemon script
93e8231b61 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-03-23 06:03:07 +01:00
l10n daemon script
a273ec2bc3 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-03-18 06:00:00 +01:00
Aleix Pol
cca0e15b45 Fix compiler warnings
Summary: No need to keep them around for no reason.

Test Plan: Tested the plugins I thought could be affected. Have been using it for a couple of days without problems

Reviewers: #kwin, zzag

Reviewed By: #kwin, zzag

Subscribers: zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D28062
2020-03-17 15:07:52 +01:00
l10n daemon script
ede53f73bd 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-03-15 05:50:08 +01:00
l10n daemon script
ffcdd751ea 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-03-10 06:10:13 +01:00
Niccol Venerandi
f9394d83f7 Move from Quad to Cubic
Summary: See https://invent.kde.org/websites/hig-kde-org/-/merge_requests/70

Reviewers: #kwin, ngraham

Reviewed By: ngraham

Subscribers: ngraham, zzag, apol, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D27827
2020-03-04 19:40:35 +01:00
l10n daemon script
b5392802c2 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-03-03 06:17:10 +01:00
l10n daemon script
bbcc51fabf 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-03-02 05:53:52 +01:00
l10n daemon script
061687238b 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-03-01 05:50:50 +01:00
l10n daemon script
5f8a776856 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-29 05:47:22 +01:00
Ismael Asensio
7706e17d94 Port away from deprecated KIconLoader::IconSize
Summary: Use `QStyle::pixelMetrics` instead

Test Plan:
No compiler warning
Icon still happily bounces on application launch

Reviewers: #kwin, davidedmundson, broulik

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Maniphest Tasks: T11637

Differential Revision: https://phabricator.kde.org/D27726
2020-02-29 00:29:13 +01:00
l10n daemon script
5411a5f770 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-28 05:55:39 +01:00
l10n daemon script
d664b8fdbf 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-27 05:57:15 +01:00
l10n daemon script
ce306a598a 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-26 06:07:20 +01:00
Nate Graham
04aff77f94 Remove the "Candy" category and fold its contents into "Appearance"
Summary:
The "Candy" category suffers from some problems:
- It does not need to exist; everything in it is purely appearance-related and could live in the existing "Appearance" category
- The name is inappropriate; "Eye Candy" would be better, but changing it to this has proven controversial in the past

Let's just remove the category and move everything in it into the "Appearance" category.

Test Plan:
Apply and compile
Open Desktop Effects KCM
See that the "Candy" category is no more and the "Appearance" category has more stuff in it

Reviewers: #kwin, #vdg, zzag, abetts

Reviewed By: #kwin, #vdg, zzag, abetts

Subscribers: abetts, zzag, kwin, kde-doc-english, GB_2

Tags: #kwin, #documentation

Differential Revision: https://phabricator.kde.org/D27658
2020-02-25 11:26:27 -07:00
Nate Graham
1d7202af50 Improve strings for "Show Desktop" effects
Summary:
Problems with the current strings:
- Incorrect capitalization
- Grammatical errors ("to show the latter")
- Inappropriate obscure references ("This might remind you of something.")
- Redundancy (mentioning "showing the desktop" when the KCM's header already shows this)

The above issues are fixed.

Test Plan:
Before: {F8129332}
After: {F8129331}

Reviewers: #vdg, #kwin, filipf, zzag

Reviewed By: #vdg, #kwin, filipf, zzag

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D27630
2020-02-25 09:37:22 -07:00
l10n daemon script
3af031145f 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-22 05:46:53 +01:00
Vlad Zahorodnii
b9cb1d0f1d Merge branch 'Plasma/5.18' 2020-02-21 13:57:14 +02:00
l10n daemon script
41735fdd10 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-21 09:42:45 +01:00
Yuri Chornoivan
90a73b39d4 Extract messages from header file as well, optimize extraction 2020-02-16 11:55:17 +02:00
l10n daemon script
186f6487af 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-16 10:09:35 +01:00
l10n daemon script
7cee10d89e 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-16 05:56:41 +01:00
Vlad Zahorodnii
6a2fc3d8ce Merge branch 'Plasma/5.18' 2020-02-14 01:50:48 +02:00
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