Commit graph

26781 commits

Author SHA1 Message Date
l10n daemon script
2099409189 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"
2024-05-25 01:18:37 +00:00
Xaver Hugl
3f0627172d cmake: bump required plasma-wayland-protocols version 2024-05-24 20:53:02 +00:00
David Edmundson
73425b13a4 autotests: Improve autotests for window scaling 2024-05-24 18:23:05 +00:00
Vlad Zahorodnii
cc031839db Properly update move resize output when the move resize geometry changes
setMoveResizeGeometry() should be used so the preferred buffer scale and
transform are updated.
2024-05-24 21:10:21 +03:00
Vlad Zahorodnii
e678ebef29 3rdparty: Reformat xcursor.{h,c} 2024-05-24 16:21:36 +00:00
Vlad Zahorodnii
586a775d5b utils: Load Xcursor themes using QFile
This improves the integration of the XcursorTheme class with the rest of
the Qt ecosystem, for example it should be possible to load cursor themes
from Qt resources.
2024-05-24 16:21:36 +00:00
Vlad Zahorodnii
d655b5a994 3rdparty: Drop xcursor write hook
It's unused.
2024-05-24 16:21:36 +00:00
Xaver Hugl
40a9f08dd3 backends/drm: allow up to two composited frames to be pending at the same time
This should improve responsiveness on setups where rendering each frame takes longer
than the refresh cycle of the display.

BUG: 452119
CCBUG: 454098
2024-05-24 17:32:20 +02:00
Xaver Hugl
1e3d50e3ff core/renderloop: support triple buffering
When rendering a frame takes longer than a refresh period, allow rendering to
happen before the previous frame is presented. This way the effective refresh
rate is increased, without increasing latency or impacting frame pacing more
than necessary
2024-05-24 17:32:20 +02:00
Xaver Hugl
0c4f46739d backends/drm: store OutputFrames in the commit objects
That way, multiple frames in flight can be tracked correctly
2024-05-24 17:32:20 +02:00
Xaver Hugl
df9b0bd8f0 backends: move output refresh duration to compositor 2024-05-24 17:32:20 +02:00
Jonathan Riddell
3ebbe28b64 update version for new release 2024-05-24 16:14:01 +01:00
David Edmundson
5362105f27 plugins/desktopchangeosd: Port to simpler PlasmaWindow
Plasma::Dialog contains logic that we don't want for a kwin window and
is considered deprecated. Dialog uses the width of the main item which
results in an unavoidable binding loop.

PlasmaWindow allows us to propagate implicit sizes upwards correctly.

BUG: 420757
2024-05-24 12:51:46 +00:00
Jonathan Riddell
572e07b130 Update Qt version requirement to 6.6.0
GIT_SILENT
2024-05-24 13:11:44 +01:00
Jonathan Riddell
01d3f22633 update version for new release 2024-05-24 12:32:27 +01:00
Jonathan Riddell
5e79956933 Update Qt version requirement to 6.7.0
GIT_SILENT
2024-05-24 11:22:28 +01:00
Jonathan Riddell
1ab1a5f297 Update Frameworks version requirement to 6.2.0
GIT_SILENT
2024-05-24 11:22:28 +01:00
l10n daemon script
14bbe38b31 GIT_SILENT Sync po/docbooks with svn 2024-05-24 01:31:11 +00:00
Vlad Zahorodnii
7b547bf61d Apply 1 suggestion(s) to 1 file(s) 2024-05-23 15:01:42 +00:00
David Edmundson
e7e6dee79b xwayland: Update Qt key enums 2024-05-23 15:01:37 +00:00
Vlad Zahorodnii
dd36387c1f Pass all key events to kglobalacceld
kglobalacceld needs to process all key events to detect whether
a modifier only shortcut has been triggered.

On the other hand, when using Meta+Space keyboard layout switching
shortcut, we will get the following key syms (not native scan codes)

- press meta: Meta_L
- press spacebar: Super_L
- release meta: Meta_L
- release spacebar: Space

The fact that xkb reports Super_L when the spacebar is pressed trips
modifier only shortcut detection in kglobalacceld, and it's likely
that kickoff will open after pressing Meta+Space to switch the keyboard
layout.

In order to prevent that, kglobalacceld needs to see all key events
even with invalid key codes. As an alternative, we could explore the
possibility of using native scan codes instead of mapping keysyms to
key codes, but that needs thorough analysis, which we have no time
for.

The check was introduced in 4403e86acc.
After that check is removed, the test still passes.
2024-05-23 10:58:16 +00:00
David Redondo
d737d1dbcb Add support for input capturing for the portal
This is the backend that will be used by the portal to enable
the functionality of the input capture portal.
When the cursor tries to move out of the workarea across a barrier
that the portal registered all input events are filtered out
and forwarded via eis.
2024-05-23 09:17:14 +00:00
David Edmundson
84633badc7 effects: Support dynamic delegate changes whilst running
The cube effect has a placeholder which can update the delegate at
runtime. There's an "add desktop" button which then might give us 3
virtual desktops. As a general rule any setter exposed via a declarative
API should always perform the setting.

Reloading has to be delayed because otherwise we unload the caller.

BUG: 486839
2024-05-23 12:00:56 +03:00
Vlad Zahorodnii
29122f1df6 Improve integration of preferred buffer scale with xdg shell configure events
With this change the preferred buffer scale, transform and color
description properties will be latched to xdg shell configure events.

This should ensure that the clients are told the preferred buffer
scale before the first configure events.
2024-05-23 08:15:29 +00:00
l10n daemon script
0e934273bb GIT_SILENT Sync po/docbooks with svn 2024-05-23 01:28:27 +00:00
Xaver Hugl
b232e80319 backends/drm: don't update outputs from within DrmGpu
DrmBackend::updateOutputs may delete DrmGpu objects, so calling it from within
a DrmGpu method can cause problems

BUG: 483008
FIXED-IN: 6.1.0
2024-05-22 20:33:51 +00:00
Xaver Hugl
1866e70fe3 core/renderjournal: tweak render time prediction to reduce latency slower
This makes it a bit more conservative for reducing latency, which decreases the
amount of dropped frames in desktop usage a lot (by 13x on my desktop, 2x on my laptop)
2024-05-22 17:18:11 +02:00
David Edmundson
c65f01e5dc xwayland: Avoid forwarding spurious mouse events
pointerEvents contain all motion events, the xwayland filter is only
concerned with forwarding clicks. Right now we would update an invalid
button state constantly. It did nothing harmful but was still a bit
silly.
2024-05-22 07:32:36 +00:00
l10n daemon script
7ba6c08fa7 GIT_SILENT Sync po/docbooks with svn 2024-05-22 01:30:43 +00:00
Xaver Hugl
2e9e6893bb wayland: port linux drm syncobj from RenderBackend to DrmDevice 2024-05-22 00:26:14 +02:00
Xaver Hugl
0f41239515 waylandserver: set render backend for linuxdrmsyncobj directly
The code would previously never set the render backend, causing the use of explicit sync
to fail

BUG: 486391
2024-05-22 00:26:14 +02:00
Xaver Hugl
3465ecac16 wayland: implement plasma window management v17
This fixes plasmashell crashing because of the stacking order string exceeding
the size of a Wayland message

CCBUG: 479492
2024-05-21 17:48:55 +02:00
Jakub Piecuch
7bf40c3501 utils/edid: use detailed timings to compute physical screen size
An EDID can contain zero or more detailed timing definitions, which can contain
more precise physical dimensions of the screen (in millimeters, as opposed to
centimeters).

The Xorg server has similar logic for determining the physical screen size from
the EDID: pick the first sane size from the detailed timing definitions, and
fall back to the screen size given in the "Basic Display Parameters & Features"
section.

BUG: 486585
2024-05-21 11:22:51 +00:00
l10n daemon script
79357db409 GIT_SILENT Sync po/docbooks with svn 2024-05-21 01:33:01 +00:00
Nate Graham
dcd2f7b15a plugins/tileseditor: clarify wording in "split the view" buttons
Apparently people have differing ideas of what "vertically" and
"horizontally" mean, and some feel that this wording contradicts the
icon.

That's not accurate, but the wording is admittedly a little a bit
ambiguous. We can clarify this by using super duper explicit
terminology that always matches the icon.

BUG: 475103
FIXED-IN: 6.1
2024-05-20 15:58:01 +00:00
Volodymyr Zolotopupov
202356ba89 plugins/screenshot: Snap pixel grid for rectangular screenshots
To prevent blurring with fractional scaling
2024-05-20 14:23:38 +00:00
Volodymyr Zolotopupov
f4232bc391 plugins/screenshot: Round texture size
To prevent window screenshot blurring with fractional scaling
2024-05-20 14:23:38 +00:00
Vlad Zahorodnii
1ca7524853 plugins/nightlight: Correct time check in currentTargetTemp() 2024-05-20 14:09:15 +00:00
Vlad Zahorodnii
bc52189e20 plugins/nightlight: Remove unused typedef 2024-05-20 14:09:15 +00:00
Vlad Zahorodnii
1d9824d0a2 plugins/nightlight: Clean up the slow update code path 2024-05-20 14:09:15 +00:00
Vlad Zahorodnii
7880f879a3 plugins/nightlight: Make the slow transition more robust to fuzzy time values
If the slow transition is scheduled slightly earlier before m_next.first,
don't skip the "m_prev.first <= todayNow && todayNow <= m_prev.second" branch.

Also explicitly handle the case when resetSlowUpdateTimers() gets called
after m_prev.second, i.e. the previous transition has finished running.
2024-05-20 14:09:15 +00:00
Xaver Hugl
bbf4f46b28 compositor_wayland: properly handle moving the cursor plane failing
On test failure, the plane has to be disabled or future atomic tests fail

BUG: 487037
2024-05-20 11:14:01 +00:00
l10n daemon script
f5ac8968d8 GIT_SILENT Sync po/docbooks with svn 2024-05-20 01:28:06 +00:00
l10n daemon script
aae9eb9c65 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"
2024-05-20 01:18:51 +00:00
l10n daemon script
c919c91063 GIT_SILENT Sync po/docbooks with svn 2024-05-19 01:29:43 +00:00
Xaver Hugl
35ce8a6208 outputconfigurationstore: increase the default SDR brightness
200 nits is a bit dark in most situations, so this switches the default SDR
brightness to up to 500 nits (depending on what the screen supports)
2024-05-18 20:37:07 +00:00
l10n daemon script
22dffa4714 GIT_SILENT Sync po/docbooks with svn 2024-05-18 01:28:37 +00:00
Vlad Zahorodnii
ebe6f58d9a backends/wayland: Avoid attaching null buffer
Otherwise the window will be unmapped.
2024-05-17 11:20:35 +00:00
Ambareesh Balaji
0b2596b604 plugins/nightlight: handle imprecise timers
Due to QTimer sometimes firing a tad bit early, transitions get skipped, or we
end up in the "Error in time calculation" branch. This commit improves timer
handling to avoid this.
2024-05-17 09:46:34 +00:00
Niccolò Venerandi
b59ba5b9b7 Do not snap to windows of the Dock type
We do not snap to docks (i.e. panels) since the ones we
actually want to snap to (i.e. always visible ones) will
restrict the workspace area, and the window will snap to
that, effectively snapping to the panel too. Explicitedly
avoiding panel snapping solves any possible issue of
floating panels, since they change their size when a window
gets near them.
2024-05-17 09:17:24 +00:00