25545 Commits (master)
 

Author SHA1 Message Date
Vlad Zahorodnii b555157e8d Don't reparse kwinrc in Compositor::reinitialize()
The compositing options are no longer loaded in Compositor::start(), but
when kwin starts or the Workspace is reconfigured.
1 year ago
Xaver Hugl f43e45c984 backends/drm: work around llvmpipe implicit sync not working
implicit sync doesn't work properly with glFlush + KMS and llvmpipe doesn't support
EGL_ANDROID_native_fence_sync either, so we need to wait for rendering to complete
in a blocking fashion.
1 year ago
Vlad Zahorodnii 72aad0881d xwayland: Initialize X11 compositing in Xwayland
If somebody else claims the compositing selection, we definitely do not
want to stop compositing. It will also help with encapsulating
X11-specific code and splitting it out in the future.
1 year ago
Xaver Hugl f223362ddf scene/cursordelegate_opengl: fix projection matrix with rotated screens 1 year ago
Xaver Hugl 90b2aa25e0 compositor: fix the hardware cursor with rotated screens 1 year ago
Xaver Hugl 9e65b12178 renderlayer: also schedule a repaint when hiding the layer 1 year ago
l10n daemon script 4223b6ca72 GIT_SILENT Sync po/docbooks with svn 1 year ago
l10n daemon script 6a1e86961a 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"
1 year ago
Vlad Zahorodnii 4d2c9f5d88 Refactor compositing config loading
Config loading is split in two groups: loading compositing config and
loading the rest. They are loaded separately at different times. Some
options are loaded in the Options constructor, some are loaded when compositing
starts, some are loaded when the Workspace is created. It's not easy to
keep track of what loads what and when.

This change simplifies option handling by loading all options in bulk
and decouples Options from OutputBackend and GLPlatform to ensure that
it can safely load options before kwin is fully operational.
1 year ago
Vlad Zahorodnii ca0a2229cc Drop unused QHostInfo includes 1 year ago
l10n daemon script a4f2f495b9 GIT_SILENT Sync po/docbooks with svn 1 year ago
l10n daemon script 046acfd939 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"
1 year ago
l10n daemon script 1c75183914 GIT_SILENT Sync po/docbooks with svn 1 year ago
Nicolas Fella 6c7ac8391a Use keyword signature for target_link_libraries call 1 year ago
Fushan Wen 4716f91b9a
plugins/startupfeedback: use inplace `QImage::convertTo`
to reuse internal buffers
1 year ago
l10n daemon script a7b6093ca0 GIT_SILENT Sync po/docbooks with svn 1 year ago
Vlad Zahorodnii de36fe82e8 wayland: Integrate KWaylandServer classes into KWin namespace 1 year ago
Vlad Zahorodnii 6ac4012827 wayland: FakeInputDevice -> FakeInputDeviceInterface
This is to avoid conflicting with KWin::FakeInputDevice
1 year ago
Vlad Zahorodnii 43eceba9ce wayland: Rename Cursor to PointerSurfaceCursor 1 year ago
Vlad Zahorodnii 541fd45a25 wayland: Add missing moc include 1 year ago
Vlad Zahorodnii 8bf2318800 wayland: Drop "_interface" from filenames
The cpp files in the wayland directory are named after protocol names.
"_interface" does not contribute anything new.
1 year ago
l10n daemon script 51e5cbe88b GIT_SILENT Sync po/docbooks with svn 1 year ago
David Redondo eb9130ac64 Use QProcessEnvironment::InheritFromParent on X11
Before 885e9acb6e
Application::processStartupEnvironment() returned
QProcessEnvironment::systemEnvironment() which means the current
environment of KWin when this function was called. By setting
InheritFromParent we can replicate this behavior.
This fixes KWin starting processes on X11.
1 year ago
l10n daemon script 1739388b00 GIT_SILENT Sync po/docbooks with svn 1 year ago
David Redondo 216a268a43 Use qt prefix variant of toplevel drag protocol
As this is what Qt now implements
1 year ago
David Redondo b336691b3e Implement xdg-toplevel-drag 1 year ago
David Redondo 01a1aaf99e Also send drop when it was not accepted
This enables applications to distinguish
- successful drop
- drop onto client that didn't accept
- cancelled drag
1 year ago
Marco Martin 3a95c20279 Fix touch on PointerHandlers
The events we forward to the offscreen QML view are with our own
QPointingDevice instance, which has a devicetype of touch but a null pointerType.

In Qt5 this was enough, but pointerhandlers in qt6 refuse events with an undefined
pointertype, so we have to explicitly set it to finger

BUG:473541
1 year ago
Xaver Hugl 36513123f3 backends/drm: always check for a test buffer before presentation
Otherwise atomic tests might fail unnecessarily
1 year ago
Xaver Hugl 87cee87aff backends/drm: fail presentation if there's no buffer for it yet
BUG: 474483
1 year ago
l10n daemon script c7ddf987a1 GIT_SILENT Sync po/docbooks with svn 1 year ago
l10n daemon script 051705e5fa 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"
1 year ago
Ismael Asensio 989c00e887 screenedge: Fix dragging windows between VDs
Add the missing condition to allow moving windows between
VDs by dragging.

Amends 861105248d
1 year ago
Xaver Hugl 57fae99f33 backends/drm: check activePending instead of active for when applying a new gamma ramp is allowed
The crtc may not be set yet in some cases

BUG: 471562
1 year ago
Vlad Zahorodnii 08836ba471 wayland: Port to OutputTransform::map(QSize) 1 year ago
Vlad Zahorodnii 7887f7c38b wayland: Remove some properties from public XdgPositioner api
Most of these properties have no use after introducing placement().
1 year ago
Vlad Zahorodnii df8ddb609b wayland: Keep transaction entries for deleted surfaces
If a transaction entry is removed, the graphics buffer reference will
be dropped and it's possible that the TransactionDmaBufLocker is going
to be destroyed as well.

If that happens, the transaction may remain in the locked state.
1 year ago
Vlad Zahorodnii 693fa8a968 wayland: Properly clear transaction list in TransactionDmaBufLocker
Transaction::unlock() can destroy buffer reference and thus also destroy
TransactionDmaBufLocker.
1 year ago
Vlad Zahorodnii 00c12aa766 wayland: Desynchronize transactions of the same client
At the moment transactions from the same client are applied in the
commit order even if the trasactions affect unrelated surfaces.

This patch desynchronizes transactions affecting unrelated surfaces.

With this, if a client updates two surfaces (as an example, Firefox with
two windows) and one of its surfaces takes longer to render, the other
surface is not going to be slowed down.

Another nice thing is that it removes client from Transaction, which
might be potentially useful to the Workspace for coordinated resize or
something.
1 year ago
Vlad Zahorodnii 4b6c83be12 wayland: Move unconstraining logic to XdgPositioner
This makes unconstraining code more reusable (in case of applet popups
use xdg-positioner too), and in general, it makes sense for better
encapsulation.
1 year ago
Xaver Hugl 23238b175a backends/drm: fix the hardware cursor with atomic modesetting + no modifier support
Unless we have explicit information of the opposite, buffers for the cursor need to be linear
1 year ago
Xaver Hugl 14f6103373 backends/drm: don't signal commit failure for the cursor
RenderLoop isn't built to handle that yet
1 year ago
Fushan Wen dded168d93 thumbnail_grid: use MouseArea as delegate root 1 year ago
Fushan Wen 463c18f9fa thumbnail_grid: allow screen reader to announce window name when pressing Alt+Tab
CCBUG: 472643
1 year ago
Vlad Zahorodnii dbad45d052 wayland: Introduce transactions
Transactions provide a way to apply new surface state to multiple
surfaces atomically.

A transaction can be locked. In which case, it's not going to be applied
until all locks are dropped. For example, this can be used to delay
applying new surface state until the committed buffers become idle.
1 year ago
Vlad Zahorodnii 79a0bc3f80 utils: Add static FileDescriptor::isReadable() overload 1 year ago
Vlad Zahorodnii 58904a358f wayland: Fix copying subsurface order state
When merging surface state to a fresh state container, subsurface order
state may be lost because subsurfaceOrderChanged can be false.
1 year ago
Vlad Zahorodnii 305847625f Revert "wayland: Property propagate modifier SurfaceState fields"
This reverts commit a101bc3628.
1 year ago
Vlad Zahorodnii 41e5409b23 wayland: Move frame callback destructor to SurfaceState destructor 1 year ago
Xaver Hugl 4c397a9526 backends/drm: split commits for the cursor and primary plane
And reorder and merge atomic commits where possible to ensure the cursor always
stays smooth

BUG: 472663
1 year ago