24203 Commits (d9f5d432bede5d87293104ba12ab437bf7c888e2)
 

Author SHA1 Message Date
Vlad Zahorodnii da26deaa5c backends/libinput: Fix crash upon receiving motion absolute events
The input events can be processed when the workspace is not available,
e.g. during startup or shutdown, so add a corresponding guard.

As a long term plan, we need to decouple Workspace from low-level input
backend parts, but it will be a too invasive change for now.

BUG: 449317
BUG: 465456
2 years ago
Xaver Hugl 520fa3042a pointer input: always confine pointer to screens
Checking if the pointer needs to be confined before doing `std::clamp` on
the position is useless and causes problems. With this change, the pointer
will always be confined to exactly the screen, without any fractional offsets.

BUG: 461911
2 years ago
Vlad Zahorodnii 4b1ef33c1e wayland: Update shadow immediately
Updating OpenGL textures no longer takes place immediately.
2 years ago
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
2 years ago
Vlad Zahorodnii 0e906ec182 scene: Decouple scene bits from Shadow class
Currently the Shadow class is scene specific, which adds coupling
between Window and scene bits.

This change introduces ShadowTextureProvider that contains scene
specific stuff so the Shadow acts like a data source and is not coupled
to concrete scene.
2 years ago
Vlad Zahorodnii 21d410710c Fix coding style issue 2 years ago
l10n daemon script 48289c33ae GIT_SILENT Sync po/docbooks with svn 2 years ago
Adam Williamson 779005f1d2
feat: allow VT switching even with global shortcuts disabled 2 years ago
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.
2 years ago
Nicolas Fella bae75abf6d Remove unneeded X-KDE-ParentApp from KCM metadata 2 years ago
Aleix Pol 8c86648172 inputmethod: Give text input managers a parent
Otherwise they linger forever
2 years ago
Nicolas Fella a1639da6e5 [kcm/common] Port EffectsModel away from KPluginMetaData::metaDataFileName
It's gone in KF6

It's only used to obtain the install location of the package and resolve files relative to that

Use QStandardPaths to locate those files directly
2 years ago
Vlad Zahorodnii 2de5236e3f scene: Ensure there's current opengl context when DecorationItem is repainted for last time
BUG: 466186
2 years ago
Aleix Pol 93815aede4 screencasting: only invert the texture manually when it's not marked as inverted
In the cases where isYInverted(), the texture will be properly placed.
It's only when not that we need to mirror it vertically.
2 years ago
Aleix Pol 1be2b8868c wayland_egl: Reuse the texture we already have for textureForOutput 2 years ago
Vlad Zahorodnii c24a5f0395 effects/glide: Fix transform
Translation should be in logical pixels.

BUG: 465849
2 years ago
David Edmundson 01fd54d753 Aurorae: Add dummy window for working device pixel ratio
Aurorae uses a QQuickWindow that receives an implicit scale through the
QPA. Unfortunately there's a known quirk with device pixel ratio not
being followed when offscreen surfaces are never shown and an
independent render control is used.

Without this QQuickRenderControl::grab ends up using a buffer the size
of the window * dpr, but with the contents rendered at 1x in the corner
along with incorrect device pixel ratio information.

This patch copies a used solution from EffectQuickView. This can be
resolved more neatly with newer Qt.

BUG: 452730
BUG: 465790
2 years ago
David Redondo 38cd1fc491 scripting: Mark QObjects returned from invokables as having C++ ownership
Otherwise the script engine may delete them if they have no parent and
there are no more references to them.
2 years ago
Vlad Zahorodnii 18d6159be1 tiling: Make child tiles inherit padding from parent tile
If a new tile is added, make it inherit parent tile's padding to ensure
consistent padding.

BUG: 465842
2 years ago
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
2 years ago
l10n daemon script 996a0c05fa GIT_SILENT Sync po/docbooks with svn 2 years ago
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"
2 years ago
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
2 years ago
David Redondo 7366545d0f Move Layer and QuickTile enum to kwinglobals.h
Q_NAMESPACE can ever only be used once for a namespace otherwise
there will be multiple defintions of the staticMetaObject.
2 years ago
Xaver Hugl 81571203f1 cursorsource: fix scaling with Xwayland
Before this commit, the device pixel ratio of the cursor was set to ignore
the Xwayland scale override, while the size of the cursor surface was scaled.
This change removes the scaling of the cursor surface size, to make the cursor
be no longer cut off in rendering.

BUG: 466094
2 years ago
Xaver Hugl 3334fb8752 cursordelgate: round cursor position when rendering
Otherwise there can be weird artifacts when screen scaling is involved
2 years ago
David Redondo 264a19247b Mark Window as damaged when decoration or shadow changes
Enforms thumbnails, screencasts and effects of these changes and
that the window needs repainting.
BUG:464417
FIXED-IN:5.27.1
2 years ago
David Edmundson ada8e40792 outputchangeset: Round passed scale
Converting to wl_fixed is lossy. Especially for non-round values like 1.15.

This causes various visual glitches and off sizes.

Given we're using units of 120ths for the fractional scale protocol it makes sense
to fix the passed values for anything else over the wayland protocol.

BUG: 465850

Testing done:
ran a 1920 screen at 1.15 scale, got a logical size of 1670 which matches what it should be
2 years ago
l10n daemon script 6d25104849 GIT_SILENT Sync po/docbooks with svn 2 years ago
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"
2 years ago
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
2 years ago
l10n daemon script a7ffdef186 GIT_SILENT Sync po/docbooks with svn 2 years ago
Vlad Zahorodnii 96fdc9d55a scripting: Make KWin.registerWindow() noop on wayland
On Wayland, windows properly update if they are remapped.
2 years ago
l10n daemon script 9b14930216 GIT_SILENT Sync po/docbooks with svn 2 years ago
Nicolas Fella 27b90db641 Remove unneeded KAboutData includes 2 years ago
Nicolas Fella 61718d9017 Port QML KCMs away from setAboutData
Let them use the JSON metadata instead
2 years ago
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.
2 years ago
Aleix Pol c0d87e0139 backends/wayland: Remove unused attribute
Makes clang complain
2 years ago
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.
2 years ago
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().
2 years ago
Tobias Berner 99b2e6072c Add missing cerrno include. 2 years ago
Vlad Zahorodnii 4bf06466f1 effects/{desktopgrid,overview,windowview}: Port to SceneView 2 years ago
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.
2 years ago
l10n daemon script a17d99ee02 GIT_SILENT Sync po/docbooks with svn 2 years ago
Vlad Zahorodnii 72b7bda18e scripting: Drop Window.geometry property 2 years ago
l10n daemon script e75496d97f GIT_SILENT Sync po/docbooks with svn 2 years ago
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
2 years ago
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.
2 years ago
Vlad Zahorodnii 37bcdbc03e scripting: ClientModel -> WindowModel 2 years ago
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 2 years ago