Commit graph

752 commits

Author SHA1 Message Date
Vlad Zahorodnii
77a1aea281 effects/desktopgrid: Fix TapHandler.onTapped handler
The button is provided alongside the event point now.
2023-03-01 17:14:31 +00:00
Vlad Zahorodnii
3aa16bd1ca libkwineffects: Drop QtQuick dummy window hack
The dummy window hack was needed to ensure hidpi rendering on Wayland.
We introduced QQuickRenderTarget::setDevicePixelRatio() in Qt 6.3, so
the hack can be removed now.
2023-03-01 16:59:00 +00:00
Vlad Zahorodnii
5b6b2a2219 kcms: Fix plugin id loading in desktop effects kcm
kwin installs metadata files for builtin effects so the kcm can find
them. With the recent KPluginMetaData changes, the Id field has been
removed, so the kcm will use "metadata" (the basename of metadata.json)
as the plugin id.

In order to fix plugin id resolution, let's install metadata with the
file name same as the plugin id.
2023-03-01 16:05:07 +00:00
Vlad Zahorodnii
70e7622c69 effects: Fix clicking windows in window view effect
The DragHandler immediately activates and takes over the TapHandler,
thus blocking selecting windows by tapping them.
2023-02-28 20:21:39 +02:00
Vlad Zahorodnii
9aeb33f0a4 effects: QtGraphicalEffects -> Qt5Compat.GraphicalEffects 2023-02-28 20:21:39 +02:00
Vlad Zahorodnii
6f622d3348 effects: Adapt to kcoreaddons_add_plugin plugin id changes 2023-02-28 20:21:39 +02:00
Vlad Zahorodnii
10df3b0eb0 Remove Qt 5 specific code 2023-02-28 18:30:26 +02:00
Vlad Zahorodnii
d9f5d432be Port to KF6 2023-02-28 18:30:26 +02:00
l10n daemon script
1bfe7c2659 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"
2023-02-28 02:08:05 +00:00
Vlad Zahorodnii
2dc7364a23 effects: Drop WindowHeap.windowClicked signal
Put a TapHandler in WindowHeapDelegate instead.
2023-02-27 16:55:56 +00:00
Vlad Zahorodnii
1854224c17 effects/zoom: Fix crash on X11
On X11, the painted screen is meaningless, so the zoom effect doesn't
use it to store offscreen data. It can create problems when iterating
over offscreen data map.

The painted screen can't be used to determine the necessary offscreen
texture size too. X11 requires some special care.

This change adds explicit wayland checks.

BUG: 466376
2023-02-25 08:49:07 +00:00
l10n daemon script
4df8d73fc4 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"
2023-02-25 02:07:07 +00:00
Vlad Zahorodnii
711b6e36d2 effects/zoom: Fix rendering with mixed scale factors
When allocating offscreen texture, we should use screen's scale rather
than current render target's scale.

In addition to that, the cached vbo cannot be used for rendering on
other screens with different scale factors, which can happen.
2023-02-23 23:19:36 +00:00
Vlad Zahorodnii
a62dc13161 effects/magnifier: Reduce the number of heap allocations
Reserve enough of space for all vertices instead of dynamically
expanding the QVector to accommodate for new data.
2023-02-23 23:04:33 +00:00
Vlad Zahorodnii
42cff94f72 effects/magnifier: Fix rendering on multi screen setups
The projection matrix is constructed incorrectly, use the one provided
by the scene instead.
2023-02-23 23:04:33 +00:00
Vlad Zahorodnii
b53621136d Drop Window::desktopPresenceChanged()
This signal exists as a convenience helper, but it's not always emitted
as it's advertised to work. Instead of fixing it, let's drop the signal
to simplify virtual desktop code. Its effects can be accomplished by
monitoring Window::desktopChanged() and VirtualDesktopManager::currentChanged()
signals in effects and scripts where needed.
2023-02-23 22:10:37 +00:00
Vlad Zahorodnii
017bb6d3c8 scripting: Drop Window.desktop property 2023-02-23 16:41:30 +02:00
Vlad Zahorodnii
bc0502b3ca effects: Fix selecting hidden windows using keyboard
WindowHeapDelegate used to have hidden property. It was renamed to
activeHidden, but WindowHeap has not been adjusted to the new name.

BUG: 466120
2023-02-22 11:53:47 +00:00
Vlad Zahorodnii
e0062f675d Port away from QRectF::contains()
QRectF::contains() considers right and bottom edges inside the
rectangle, but the relevant code has the opposite expectations.
2023-02-21 19:45:51 +00:00
Vlad Zahorodnii
c24a5f0395 effects/glide: Fix transform
Translation should be in logical pixels.

BUG: 465849
2023-02-21 11:54:34 +00:00
Arjen Hiemstra
edbbe996d3 effects/contrast: Round device coordinates when creating geometry
Since normal geometry is now rounded, we need to make sure to round
anything that should match that geometry, otherwise we risk things
peeking out of the normal geometry.

BUG: 464526
2023-02-21 07:50:53 +00:00
l10n daemon script
6a5d809f81 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"
2023-02-21 02:04:35 +00:00
Xaver Hugl
4cd25cf571 cursor: make position, hotspot and size floating point
This allows all pixel positions to be used on high dpi screens,
and corrects damage tracking with Xwayland cursors

CCBUG: 466094
2023-02-20 21:01:39 +00:00
l10n daemon script
d5207b95c8 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"
2023-02-20 02:04:26 +00:00
Xaver Hugl
9d353864a4 kwinglutils: use QSizeF instead of QRect
The method is ignoring the position of the rectangle, which is very unintuitive
when using it
2023-02-19 10:39:34 +00:00
Vlad Zahorodnii
4bf06466f1 effects/{desktopgrid,overview,windowview}: Port to SceneView 2023-02-17 11:01:23 +02:00
David Edmundson
7b46f101e3 Simplify tile dismissal
We want floating tiles to be activatable, but also dismiss the effect by
clicking on the whitespace.

The current solution doesn't work as a floating tile that is in turn
split will pull focus from the children meaning those tiles can't be deleted.

Rather than special casing and z-manipulation we can simplify everything
by moving tile dismissal to the root of the effect and appropariately
propagating the event.

BUG: 465740
2023-02-15 23:05:13 +00:00
Vlad Zahorodnii
9b6c9242f6 scripting: Drop "Item" word in WindowThumbnailItem and DesktopBackgroundItem
Drop the "Item" word to be more consistent with QtQuick coding
conventions, where C++ usually include the Item word, but QML types
don't.
2023-02-15 21:06:44 +02:00
Vlad Zahorodnii
37bcdbc03e scripting: ClientModel -> WindowModel 2023-02-15 16:54:42 +00:00
Tomasz Paweł Gajc
88cf83554f add support for Lima, V3D, VC4 (based on https://github.com/OpenMandrivaAssociation/kwin/blob/master/kwin-5.21.4-add-support-for-panfrost-driver.patch made by Bernhard Rosenkraenzer) and update list of supported devices for Panfrost 2023-02-15 11:23:02 +00:00
l10n daemon script
3b391c9f67 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"
2023-02-11 01:59:50 +00:00
l10n daemon script
88d9a772fc 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"
2023-02-09 02:07:11 +00:00
l10n daemon script
608fbbfa32 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"
2023-02-08 02:07:04 +00:00
Vlad Zahorodnii
77bf51c3b5 effects/overview: Drop "blur background" option
The blur effect is used to improve the contrast. The option was added
thinking "why not? it might be useful." This was perhaps a mistake and
it should have been added with a clear valid usecase in mind.

CCBUG: 457495
2023-02-07 19:36:20 +00:00
Vlad Zahorodnii
20487c7cda effects: Drop legacy EffectsHandler::desktopChanged overloads 2023-02-07 18:10:52 +02:00
Vlad Zahorodnii
9371fc8ae9 scripting: Prefer VirtualDesktop objects 2023-02-07 15:41:43 +02:00
l10n daemon script
71c9b7db87 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"
2023-02-04 02:09:27 +00:00
Marco Martin
1332d7de2c Also cancel translucencyMoveResizeAnimations
When a window goes away it was stoppping translucencyWindowTypeAnimation
and translucencyInactiveAnimation but any translucencyMoveResizeAnimations

was hanging there forever, causing ghost windows

BUG:439332
2023-02-03 16:23:05 +01:00
Xaver Hugl
a9334cb9c6 unify touchpad gesture APIs
There don't need to be separate functions for real time and not real time
2023-02-02 16:21:36 +00:00
Vlad Zahorodnii
5de308792f effects/fade: Remove hidden FadeWindows option
Enable/disable the fade effect in system settings instead.
2023-02-02 14:48:12 +00:00
David Edmundson
c0fa51c784 effects/tileseditor: Drop unused imports
Imports come at a big cost when they're unused.
Also we shouldn't be importing WindowView from a different plugin. If
that effect is disabled it meant tileseditor would fail to load.

BUG: 464970
2023-02-02 09:13:23 +00:00
Fushan Wen
476509b0fd
effects/windowview: set translation domain for the placeholder text 2023-01-25 21:44:52 +08:00
l10n daemon script
7bd4bd0bf7 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"
2023-01-25 02:03:19 +00:00
l10n daemon script
19f8a724f1 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"
2023-01-23 01:57:54 +00:00
l10n daemon script
0b291dcb36 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"
2023-01-22 02:01:44 +00:00
David Edmundson
bfe837c918 effects/tileseditor: Set translation domain in QML files
BUG: 464572
2023-01-20 23:21:37 +00:00
Vlad Zahorodnii
d57be742ff effects/diminactive: Ensure that m_activeWindow is always reset
As the FIXME comment says, a window can be deleted without prior
windowClosed signal.

BUG: 442222
2023-01-17 18:41:07 +00:00
Arjen Hiemstra
39a3b53bfb windowview: Only create PlaceholderMessage when needed
If there's windows and we're not searching, we don't need the
PlaceholderMessage. So only create it when we actually need it to reduce
the time needed to activate the effect.
2023-01-17 10:03:37 +00:00
Arjen Hiemstra
8242584b6e windowview: Use asynchronous instantiators instead of repeaters
We don't need the features of Repeater here and can instead just use an
Instantiator, which allows us to use asynchronous creation for the
window delegates, reducing the time needed to activate the effect.
2023-01-17 10:03:37 +00:00
l10n daemon script
03c407cb7d 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"
2023-01-17 02:03:45 +00:00