Commit graph

24173 commits

Author SHA1 Message Date
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
l10n daemon script
a7ffdef186 GIT_SILENT Sync po/docbooks with svn 2023-02-19 02:33:49 +00:00
Vlad Zahorodnii
96fdc9d55a scripting: Make KWin.registerWindow() noop on wayland
On Wayland, windows properly update if they are remapped.
2023-02-18 10:17:28 +00:00
l10n daemon script
9b14930216 GIT_SILENT Sync po/docbooks with svn 2023-02-18 02:28:50 +00:00
Nicolas Fella
27b90db641 Remove unneeded KAboutData includes 2023-02-17 16:16:26 +00:00
Nicolas Fella
61718d9017 Port QML KCMs away from setAboutData
Let them use the JSON metadata instead
2023-02-17 16:16:26 +00:00
Aleix Pol
d203d3b370 AbstractEglBackend: Share initBufferConfigs among its children
The only one that does it differently is the DRM backend and it's just
an extension that takes GBM into account, otherwise it's effectively
copy-pasted code.
2023-02-17 13:39:27 +00:00
Aleix Pol
c0d87e0139 backends/wayland: Remove unused attribute
Makes clang complain
2023-02-17 13:39:27 +00:00
Vlad Zahorodnii
70a063a34c scripting: Rename ScreenEdgeItem to ScreenEdgeHandler
ScreenEdgeItem is not an item, so rename it to something else. "Handler"
is inspired by QtQuick, e.g. TapHandler.
2023-02-17 13:19:29 +02:00
Vlad Zahorodnii
5942c13eba scripting: Fix registration of some types
We need to register data types such as QVector<KWin::VirtualDesktop *>
both for QML and JavaScript scripts.

If you have no JavaScript scripts enabled, those container types won't
be registered and QML will fail to read properties such as
Window.desktops, which can result in already visible windows animating
opacity from 0 to 1 when opening overview effect.

To fix that, register all accessible data types in scripting apis in
Scripting::init().
2023-02-17 10:14:43 +00:00
Tobias Berner
99b2e6072c Add missing cerrno include. 2023-02-17 09:36:26 +00:00
Vlad Zahorodnii
4bf06466f1 effects/{desktopgrid,overview,windowview}: Port to SceneView 2023-02-17 11:01:23 +02:00
Vlad Zahorodnii
0c0fb99919 kwineffects: Add SceneView attached property
SceneView attached property is a more script friendly way to pass the
information about a screen view from C++ to QML code.
2023-02-17 11:01:23 +02:00
l10n daemon script
a17d99ee02 GIT_SILENT Sync po/docbooks with svn 2023-02-17 02:21:02 +00:00
Vlad Zahorodnii
72b7bda18e scripting: Drop Window.geometry property 2023-02-16 07:42:54 +00:00
l10n daemon script
e75496d97f GIT_SILENT Sync po/docbooks with svn 2023-02-16 03:31:57 +00: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
Vlad Zahorodnii
c2fb99d126 x11: Drop xv-related workaround
It creates bouncing glitches in client side decorated windows. Besides
that, it's preferred to avoid adding client workarounds in the wm.
2023-02-15 09:39:12 +00:00
Vlad Zahorodnii
683761ea2d scripts/desktopchangedosd: Port to VirtualDesktop objects 2023-02-15 08:32:07 +00:00
Nicolas Fella
659f4eb555 Remove unneeded KService usages 2023-02-15 07:27:55 +00:00
l10n daemon script
8ced766a58 GIT_SILENT Sync po/docbooks with svn 2023-02-15 02:25:44 +00:00
Aleix Pol
577c031599 screencast: Simplify the region path
No need to render the intermediate texture into a second intermediate
texture.
2023-02-14 14:41:42 +00:00
Aleix Pol
6394bccdcb x11/windowed: Fix screencasting
Properly notify when the output changes.
Make sure we are reading from the correct framebuffer when forwarding
the texture.
2023-02-14 14:41:42 +00:00
Aleix Pol
309c9100fa virtual: fix screencasting by output
Properly notify when the output changes.
Forward the texture that holds the output when requested.
2023-02-14 14:41:42 +00:00
Harald Sitter
1ede84f4fe forward all channels of started subprocesses
there is no practical reason I can see for why this should be limited to
stderr only. we are not reading or otherwise consuming stdout, we should
just pass it on.
2023-02-14 13:11:32 +01:00
Dominique Hummel
0ca7b40da0 tiling: Evacuate tiled windows from custom & quick tiling on output removal
Context: If a display is removed, the corresponding TileManager is removed with it. This in turn removes every one of its Tiles with it, and when a Tile's destructor is called, it attempts to find a new replacement tile for any windows it was previously managing.

However, if the Tile is removed because its corresponding TileManager has been removed, this has the potential to cause a segfault in KWin, causing it to crash (I suspect a possible race condition? but not sure).

This MR correctly evacuates custom tiled windows & migrates quick tiled windows upon output removal.

BUG: 465522
2023-02-14 12:03:40 +00:00
l10n daemon script
fbed3d2d69 GIT_SILENT Sync po/docbooks with svn 2023-02-14 02:24:34 +00:00
Natalie Clarius
127ae4b556 useractions: rename shortcuts 'window to screen' -> 'move window to screen' 2023-02-13 15:52:38 +00:00
Vlad Zahorodnii
f71ee59a37 Port away from Cursor::setPos()
Use input device specific apis to change the position of the cursor. The
main reason to do so is to break the assumption that Cursor position is
the same as pointer position, which I would like to rely on later to
merge tablet and pointer cursors.
2023-02-13 14:17:10 +02:00
Vlad Zahorodnii
160cc98597 wayland: Fix a typo in DataControlDeviceV1Interface::sendPrimarySelection()
interfaceVersion() is not the same as the resource version.
2023-02-13 13:16:50 +02:00
David Edmundson
d084629f3c wayland: Version check before send_primary_selection calls
This is only in v2

BUG: 465657
2023-02-13 09:38:24 +00:00
l10n daemon script
a9dd78e246 GIT_SILENT Sync po/docbooks with svn 2023-02-13 02:19:58 +00:00
Andreas Cord-Landwehr
4c2952a533 Add missing cmath include for std::ceil 2023-02-12 12:12:46 +01:00
Andreas Cord-Landwehr
80b5deb032 Include missing header for std::round 2023-02-12 12:00:37 +01:00
Andreas Cord-Landwehr
484d2da046 Set CXX standard for crossbuilding utility 2023-02-12 08:54:42 +01:00
l10n daemon script
150137b299 GIT_SILENT Sync po/docbooks with svn 2023-02-12 02:18:38 +00:00
Vlad Zahorodnii
a1a09e91ab plugins/screencast: Simplify projection matrix code in window source
Split orthographic matrix construction and y inversion in two steps to
improve code readability.
2023-02-11 12:48:24 +00:00
Vlad Zahorodnii
83c38b0907 Drop Window.screen property
Use Window.output instead.
2023-02-11 12:16:46 +02:00
Vlad Zahorodnii
37f4199b19 scripting: Drop clientArea(area, QPoint, VirtualDesktop) overload
Use Workspace.screenAt() to look up the output instead.
2023-02-11 09:49:28 +00:00
Vlad Zahorodnii
fa2b854ee4 scripting: Switch to Output 2023-02-11 09:49:28 +00:00
l10n daemon script
379e813bdd GIT_SILENT Sync po/docbooks with svn 2023-02-11 02:18:30 +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
Vlad Zahorodnii
60db5637b4 plugins/screencast: Simplify y inverted handling
dmabuf buffers have the origin in the top left corner, so a texture with
attached dmabuf must have y inverted.

By correctly specifying the y inverted flag, we could leverage existing
infrastructure in kwin to handle vertically mirrored textures and make
simpler some projection matrix code in screencasting.
2023-02-10 15:16:40 +00:00
David Redondo
cc4d99aea4 Fix button to Qt::MouseButton mapping
Even though the names seem to match, QtWayland maps button values
to enum values in ascendung order (as it does on X11). The wrong
mapping is usually not a problem because we send the native button
events to clients. However when the Qt names or values are used
for communication between KWin and a client this leads to
misunderstandings.
BUG:465463
FIXED-IN:5.27.1
2023-02-10 09:27:37 +00:00
l10n daemon script
e909234244 GIT_SILENT Sync po/docbooks with svn 2023-02-10 02:26:21 +00:00
l10n daemon script
9aad886729 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-10 02:01:56 +00:00
Xaver Hugl
815269a26f backends/drm: set cursor again after it was hidden
This isn't necessary with atomic modesetting, as moving and setting are
the same thing. With legacy though, if the cursor was hidden, moving it
with the layer visible does not automatically show it again, so that needs
to be done explicitly

BUG: 461181
2023-02-09 22:35:44 +00:00