Commit graph

25655 commits

Author SHA1 Message Date
Vlad Zahorodnii
0b8b9b70bb Merge EffectWindowImpl with EffectWindow
The indirection no longer required because libkwineffects has been
merged with libkwin. EffectWindow will be eventually dropped in favor
of apis provided by Window and WindowItem.
2023-11-13 11:24:04 +00:00
David Edmundson
4016406e1e wayland: Drop isTrustedOrigin check
The rationale behind the check was sandboxed apps could have a different
mount namespace to kwin, therefore lying about the executable path was
doable.

Moving forward anything sandboxed will have a security context app Id.
Anything not sandboxed can circumvent these checks anyway.

This significantly improves application launch time.
2023-11-13 10:41:35 +00:00
David Edmundson
aec896acc0 wayland: Prefer security context appId for permission lookup where available
The security context appId is set by the launching container (i.e
flatpak) and is therefore more trustworthy than any other source of
application ID.

Use this when looking up allowed wayland extensions.
2023-11-13 10:41:35 +00:00
Vlad Zahorodnii
ec2a4f4120 Add missing QPointer include
Otherwise renderingservertest.cpp fails to build on my machine.
2023-11-13 10:18:46 +00:00
David Edmundson
4f9531ad77 Support SecurityContextManagerV1
This allows KWin to securely identify the client for a given connection,
without relying on the process name.

This patch does not do anything meaningful with the application ID other
than store it.

This first version does not support kwin restarts, it can come
afterwards.

Testing done:
With latest flatpak, running `WAYLAND_DEBUG=1 flatpak run org.telegram.desktop |& grep security`
shows that flatpak itself bound the security context, and the client did not see it advertised.
2023-11-13 09:51:28 +00:00
l10n daemon script
411953ee37 GIT_SILENT Sync po/docbooks with svn 2023-11-13 02:14:32 +00:00
l10n daemon script
e772428180 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-11-13 02:07:54 +00:00
Fushan Wen
b7e30f2804
main_x11: use QBAV more
to reduce allocations.
2023-11-12 11:25:39 +08:00
l10n daemon script
835d6f4bc6 GIT_SILENT Sync po/docbooks with svn 2023-11-12 02:29:06 +00:00
l10n daemon script
ba55a6cb55 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-11-12 02:07:55 +00:00
l10n daemon script
9ae6a9fc73 GIT_SILENT Sync po/docbooks with svn 2023-11-11 02:22:46 +00:00
l10n daemon script
472956b4fa 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-11-11 02:13:54 +00:00
Natalie Clarius
a5d1646590 plugins/nightcolor: expose daylight property in DBus interface
So that the applet can provide more detail about the current status, now that there is a configurable day time temperature.
2023-11-10 16:38:05 +00:00
Xaver Hugl
04766c384a outputconfigurationstore: handle missing EDID identifiers correctly 2023-11-10 16:50:31 +01:00
Xaver Hugl
fde1393076 outputconfigurationstore: invalidate duplicate output entries
The configuration file may contain entries that have the same output identifiers if
there's a bug in the implementation. To repair the config, this commit checks for
duplicate entries in the output list and removes them when loading the config file.
2023-11-10 16:50:31 +01:00
Xaver Hugl
0a844c2bde outputconfigurationstore: fix repairing the output list 2023-11-10 16:50:31 +01:00
Xaver Hugl
bd6b946a7e utils/edid: log a warning when parsing fails 2023-11-10 16:50:31 +01:00
Vlad Zahorodnii
7b5ac472c9 libkwineffects: Make OffscreenQuickView opaque
OffscreenQuickView replaces the contents of the default scene. Nothing
will be repainted beneath it.

On the other hand, if the OffscreenQuickView contains translucent region,
there might be visual glitches. To prevent that, this change makes
scene effect views opaque.
2023-11-10 09:07:04 +00:00
Vlad Zahorodnii
7478c81a48 libkwineffects: Add alpha channel option in OffscreenQuickView
We want some quick views to be opaque, for example SceneEffect views.
This changes adds an api allowing to specify whether the given
OffscreenQuickView must be opaque or translucent.
2023-11-10 09:07:04 +00:00
Alexander Lohnau
22dfc8978e Adjust to removed QueryMatch::Type enum in KRunner 2023-11-10 07:11:44 +01:00
l10n daemon script
8102c8cf72 GIT_SILENT Sync po/docbooks with svn 2023-11-10 02:24:43 +00:00
Xaver Hugl
acba91672b backends/drm: fix typo 2023-11-09 15:53:08 +01:00
Jonathan Esk-Riddell
2f1fd37c9b Update version number for 5.81.0
GIT_SILENT
2023-11-09 12:31:09 +00:00
Xaver Hugl
d24edc7890 backends/drm: ensure correct colors with direct scanout of NV12 buffers
If another compositor changes the color encoding and color range properties, the
resulting colors will be wrong. This commit ensures they're always set to BT.709
limited range to prevent that
2023-11-09 12:16:17 +00:00
Xaver Hugl
c1312a5551 backends/drm: fix pageflip events getting lost when outputs get turned off
When a display gets turned off while a pageflip event was still pending, the pending
state gets changed immediately, without waiting for the pageflip event to arrive first.
When this happens, activePending() returns false, and so the pageflip event gets discarded.
This commit changes the logic to only check for activePending() when the pageflip is for a
modeset, avoiding that issue.

BUG: 476340
BUG: 476341
BUG: 476342
BUG: 437520
BUG: 475146
2023-11-09 11:35:19 +00:00
l10n daemon script
d75d0daf3b GIT_SILENT Sync po/docbooks with svn 2023-11-09 02:15:00 +00:00
l10n daemon script
e2d072afec 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-11-09 02:08:31 +00:00
Xaver Hugl
bdc62b3516 backends/drm: ensure icc profiles aren't applied with HDR
ICC profiles don't support HDR yet, and they don't make a lot of sense with
how unpredictable displays behave with BT2020 and/or PQ inputs
2023-11-09 01:42:10 +00:00
Nate Graham
cdadf7cf7f Access ShadowedLabel from PlasmaExtras
That's where it's been moved to; see
https://invent.kde.org/plasma/plasma-framework/-/merge_requests/951.
2023-11-08 13:26:22 -07:00
Aleix Pol Gonzalez
6cac17aac0 GLShader: Use floating point values to interact with vectors
Signed-off-by: Victoria Fischer <victoria.fischer@mbition.io>
2023-11-08 17:07:37 +01:00
Aleix Pol Gonzalez
7b64433830 GLShader: Fix sdrBrightness into float
It's used as a float and otherwise it makes (some?) drivers very
confused as they're required to cast at runtime.
The original value is double so it makes sense to keep the same type.

Signed-off-by: Victoria Fischer <victoria.fischer@mbition.io>
2023-11-08 16:46:45 +01:00
Xaver Hugl
15080192f7 Remove latency policy and render time estimator settings
As KWin measures render times properly now, these settings and estimations
should no longer be necessary, so this commit replaces them with one hardcoded
algorithm that should prevent most dropped frames and reduce latency
2023-11-08 13:29:29 +00:00
Vlad Zahorodnii
d52ba8c3fe wayland: Fix transaction cleanup with destroyed surfaces
When sorting surfaces in the ancestor order we need to ignore null
surfaces.

In addition to that, we also need to properly handle the case where
a transaction with dependencies is unlocked and it contains null
surfaces.

For example, if there are three transactions A -> B -> C, and the B
transaction is unlocked, we cannot apply it until transaction A is
applied. The readiness check is based on checking the first pending
transaction of the surface. But if the surface is null, the check
will be skipped, which is not ideal as transaction B can be applied
before transaction A now. To address that, this change makes every
transaction entry remember the previous transaction. With that, the
readiness check can be performed even if the surface has been destroyed.

BUG: 475648
2023-11-08 13:09:51 +00:00
l10n daemon script
816d2866c7 GIT_SILENT Sync po/docbooks with svn 2023-11-08 09:32:39 +00:00
Vlad Zahorodnii
16389f0298 Remove NAMELINK_SKIP for libkwin
libkwin headers are installed now, so it should be removed.
2023-11-08 09:06:54 +00:00
Vlad Zahorodnii
2aca0648f1 Update .kde-ci.yml to reflect that kwayland is in plasma 2023-11-08 10:41:34 +02:00
Xaver Hugl
9d4fe3adf1 implement the frog color management protocol 2023-11-07 20:23:06 +01:00
Xaver Hugl
15d6d8c336 wayland/surface: add the output a surface is on the most 2023-11-07 20:23:06 +01:00
Christophe Marin
b40e960ad7 Bump kwin soversion to 6 2023-11-07 12:56:29 +01:00
l10n daemon script
96f42b91a3 GIT_SILENT Sync po/docbooks with svn 2023-11-07 03:26:57 +00:00
Nicolas Fella
41a5b84958 Fix KWayland version 2023-11-06 21:58:19 +01:00
Jonathan Esk-Riddell
7aaf2d2903 Update Qt version requirement to 6.5.0
GIT_SILENT
2023-11-06 19:57:32 +00:00
Jonathan Esk-Riddell
287094167d kactivities now using plasma versioning 2023-11-06 18:28:25 +00:00
Jonathan Esk-Riddell
ae46ac6382 plasma framework now uses plasma version 2023-11-06 18:23:59 +00:00
Nate Graham
c5a3749a40 XWayland: allow snooping non-character keys with elevated snooping modes
These keys do not represent a security risk to allow apps to snoop since
they can't be used to type passwords etc.

BUG: 474705
FIXED-IN: 6.0
2023-11-06 15:19:19 +00:00
Xaver Hugl
28c27609a4 xdgshellwindow: enforce a minimum size for clients
It doesn't make sense for a window to become 1x1 pixels small. When we have
server side decorations we also know that the decoration takes a lot of
space, so this commit enforces a bigger minimum size for decorated windows

BUG: 469237
2023-11-06 14:55:57 +00:00
Xaver Hugl
d0a9e90716 platformsupport/scenes/opengl: fix format filtering
We support formats that are neither 10 nor 8 bits per color, so the filtering needs
to reflect that
2023-11-06 12:42:00 +01:00
Noah Davis
ea75c094a9 plugins/fallapart: Blacklist spectacle
Spectacle needs to be blacklisted in order to stay out of its own
screenshots.

BUG: 473565
2023-11-06 10:01:03 +00:00
David Edmundson
c711997d31 Revert "Temporarily disable testXkb and testX11Window"
This reverts commit 6bad553f05
2023-11-06 09:52:31 +00:00
Vlad Zahorodnii
4449375967 autotests: Adjust testXkb to correct Hyper key mappings
By default, hyper keys are interpreted as meta keys. However, due to
a Qt bug, it had been incorrectly mapped.

Commit b45b9090c3b66d541f57f8d049c22247f8c115ca in qtbase repo fixed it,
so the test needs adjustments.
2023-11-06 09:45:29 +00:00