Commit graph

24952 commits

Author SHA1 Message Date
ivan tkachenko
5de83e78cc
kcms/scripts: Use ellipses instead of triple period
A real ellipsis character is better for accessibility, as screen readers
will describe it appropriately.
2023-05-31 16:43:14 +03:00
l10n daemon script
d63bbd4329 GIT_SILENT Sync po/docbooks with svn 2023-05-30 03:08:21 +00:00
Laurent Montel
9ebc3e298f We use qt6 now 2023-05-29 13:36:59 +00:00
Xaver Hugl
10c1e7892e backends/drm: use max frame average brightness instead of max brightness in HDR metadata
Using the peak maximum brightness can cause displays to do more agressive tone mapping, which
overall darkens the image without any reason. Instead, send the max fame average brightness,
which the display can always do over the whole screen
2023-05-29 08:26:35 +00:00
Xaver Hugl
e6d2607fe3 scene/itemrendereropengl: don't do colorspace conversions if not needed
There was a check for this in the shader before, but it got lost. It's better
to completely compile it out of the shader anyways
2023-05-29 08:26:35 +00:00
Xaver Hugl
242fce56b6 libkwineffects/kwinglutils: replace random eotf integers with named constants 2023-05-29 08:26:35 +00:00
Xaver Hugl
6272d1d9f3 libkwineffects/kwinglutils: fix saturation calculation with wide color gamut and document it 2023-05-29 08:26:35 +00:00
Xaver Hugl
84ce4751d9 libkwineffects/kwinglutils: replace output string with a temporary variable
Dragging the output string through the whole shader is annoying. The use
of a temporary variable makes the shader code more readable
2023-05-29 08:26:35 +00:00
l10n daemon script
91b709fdbe GIT_SILENT Sync po/docbooks with svn 2023-05-29 02:23:23 +00:00
l10n daemon script
7bef0374d0 GIT_SILENT Sync po/docbooks with svn 2023-05-28 02:39:32 +00:00
l10n daemon script
24a5290ed2 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-05-28 02:34:13 +00:00
l10n daemon script
a710ddbbe1 GIT_SILENT Sync po/docbooks with svn 2023-05-27 02:22:45 +00:00
David Edmundson
982e409319 scripting: Use a better path for scripts
Currently we create objects at the path /0 /1 and so on. This isn't very
well namespaced
2023-05-26 15:10:47 +00:00
Vlad Zahorodnii
8b4afa0ee5 Remove null window checks in restacking requests
Restacking null windows make no sense. If a window can be null, it
should be guarded by the user. However, in practice, it shouldn't
matter.
2023-05-26 17:30:21 +03:00
David Edmundson
3ccf560252 workspace: Add asserts to check double window insertion
We have a few crash reports that point to m_windows getting out of sync
with reality. Add some additional checks in the hope they point to
something useful.
2023-05-26 13:11:58 +00:00
Vlad Zahorodnii
b42919e875 Add closed window checks in restacking requests
If a closed window is restacked, it will be reintroduced to the stack
and it will be left dangling, which will eventually result in a crash.
2023-05-26 14:29:53 +03:00
Vlad Zahorodnii
07a6b500c8 Add closed window checks in some window activation code paths
A closed window cannot be activated, so guard relevant code paths to
ensure that we don't hit this unexpected case.

CCBUG: 438315
2023-05-26 14:21:16 +03:00
Vlad Zahorodnii
71e8fad1f6 Delegate screen edge reservation error handling to user
Window screen edge reservation relies on Window::showOnScreenEdge()
getting called when the screen edge can't be reserved. That makes screen
edge code not easy to follow.

This change makes ScreenEdges::reserve() indicate if a screen edge has
been successfully reserved and delegate error handling to the user.

In most cases, if a screen edge has not been successfully hidden, you
just need to avoid calling hideClient() and wait until the next moment
when the window can be hidden again. Note that it differs from the
current behavior but it's for a good reason. If the panel can't be
hidden now, the panel has no idea how to handle it; only the compositor
knows when it can be hidden again.
2023-05-26 08:50:37 +00:00
Vlad Zahorodnii
687415076f x11: Drop support for "let windows cover panel" mode in _KDE_NET_WM_SCREEN_EDGE_SHOW
This seems really hacky and plasmashell dropped "let windows cover panel" mode.
2023-05-26 08:50:37 +00:00
David Edmundson
cf2410f631 Guard updateLayer for deleted windows
When a window is deleted it all "set" operations should no-op.

As for the bug specifically, we have an effect that keeps the desktop
alive. If a user calls showDesktop not only do we not update the
stacking order, we also call updateLayer when the client closes this is
after the window is in the deleted state.

BUG: 470067
2023-05-26 08:30:30 +00:00
l10n daemon script
1a883f7626 GIT_SILENT Sync po/docbooks with svn 2023-05-26 02:15:47 +00:00
Xaver Hugl
4cb4be2e64 libkwineffects/kwingltexture: clarify ownership and remove immutability 2023-05-25 19:21:26 +02:00
Xaver Hugl
20b4f26045 libkwineffects: simplify gltexture
Instead of using custom private classes for taking care of backend specific
stuff, store that directly in the GLTexture subclasses
2023-05-25 19:16:02 +02:00
Xaver Hugl
16fb2848ed libkwineffects: handle GLTexture upload failures
This is required for properly dealing with GPU resets
2023-05-25 19:13:52 +02:00
Xaver Hugl
572bc75de4 libkwineffects: handle GLTexture allocation failures
This is required for properly dealing with GPU resets
2023-05-25 18:46:45 +02:00
Xaver Hugl
bfc8bcb24a libkwineffects: use std::unique_ptr in GLTexture
The implicit internal sharing stuff wasn't used in KWin, and the way the
d pointer was initialized was horrible
2023-05-25 16:51:57 +02:00
Xaver Hugl
3eb5f18861 libkwineffects: make GLVertexBuffer::map safer
This ensures that in the event of a GPU reset, failure to map the vbo is
always handled without crashing
2023-05-25 16:51:57 +02:00
David Edmundson
3ea701743e screen edge: Emit cleanup signals if needed on teardown
The Effects API has one signal screenEdgeApproaching with effects
monitoring the last signal to stay in sync.

If an Edge is destroyed whilst visible, effects currently do not get
notified and it can stay there forever.

This patch emits screenEdgeApproaching if appropriate with a factor of 0
when an edge is destroyed.

BUG: 403354
2023-05-25 09:59:00 +00:00
David Edmundson
db10a85efc screenedge: Remove outdated line of documentation
This moved to X11Window at some point
2023-05-25 11:51:14 +03:00
Joshua Goins
6eff561234 useractions: Add separator above the "Close" action
This matches other places in Plasma e.g. the task manager, where
there is a similarly placed separator.
2023-05-24 23:53:18 -04:00
Xaver Hugl
cdafbbbd6f backends/drm: always do color management on NVidia GPUs
This comes with a small performance hit but ensures that night color works

BUG: 450327
BUG: 468895
2023-05-24 15:48:53 +02:00
l10n daemon script
964254e2a5 GIT_SILENT Sync po/docbooks with svn 2023-05-24 02:29:34 +00:00
Xaver Hugl
f1536973d4 introduce ColorDescription and fix screen casting with color management 2023-05-23 22:49:12 +00:00
Xaver Hugl
7fa12ee4a6 utils/edid: use the common Colorimetry class instead of a separate struct 2023-05-23 22:49:12 +00:00
Vlad Zahorodnii
ebf6bd3a33 autotests: Move plasmashell bits from testMoveResizeWindow to testPlasmaSurface
Move the plasmashell specific bits to testPlasmaSurface so it's all
encapsulated and easy to drop in the future.
2023-05-23 18:00:50 +00:00
Vlad Zahorodnii
1c87a804f0 autotests: Port testShowingDesktop to layer-shell 2023-05-23 18:00:50 +00:00
Vlad Zahorodnii
05695d7f1b autotests: Avoid binding plasmashell global in tests that don't use it 2023-05-23 18:00:50 +00:00
Bharadwaj Raju
539b6bb6ac XdgPopupWindow: Allow position to be set by Plasma
This lets Plasma itself control the position of popup windows such as
Plasma tooltips. transientPlacement() now returns the position set by Plasma
if available.

BUG: 463272
2023-05-23 13:41:43 +00:00
Vlad Zahorodnii
2aba3deca4 wayland: Drop screen edge support in XdgToplevelWindow
Use kde_screen_edge_v1 + layer surface instead.
2023-05-23 13:02:14 +00:00
Vlad Zahorodnii
cdb8887a15 wayland: Drop strut support in XdgToplevelWindow
Use layer_surface.set_exclusive_zone instead.
2023-05-23 13:02:14 +00:00
Vlad Zahorodnii
9d0bb1bff7 autotests: Remove incorrect test
StrutsTest::testLeftScreenSmallerBottomAligned() used to pass because
one of the previous tests changes the maximize policy to maximize.

A window will be maximized only if it's larger than the maximize area
but smaller than the screen area. That's not the case and the test makes
an incorrect assumption about how X11Windows are placed.
2023-05-23 13:02:14 +00:00
Vlad Zahorodnii
006ab40e44 wayland: Make LinuxDmaBufV1ClientBuffer private
dmabuf related code can rely on DmaBufAttributes instead, so let's make
LinuxDmaBufV1ClientBuffer private to make graphics buffer handling
generic.
2023-05-23 09:39:19 +00:00
Vlad Zahorodnii
6b2f46ca1f autotests: Remove unused outputbackend.h includes 2023-05-23 11:42:32 +03:00
Vlad Zahorodnii
cab0765947 autotests: Use layer-shell based panels 2023-05-23 10:48:31 +03:00
Mouse Zhang
f3e4495e44 plugins/qpa: initialize buffer in backingstore
BUG: 437062
2023-05-23 06:23:21 +00:00
l10n daemon script
79fd2a4937 GIT_SILENT Sync po/docbooks with svn 2023-05-23 03:43:34 +00:00
l10n daemon script
ba157fc3a7 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-05-23 03:29:49 +00:00
Aleix Pol
d87f270539 EffectTogglableState: Improve the documentation
Explains the use and life-cycle of the gesture objects
2023-05-22 17:44:04 +00:00
Aleix Pol
33c3a60aa7 Rename TogglableState -> EffectTogglableState 2023-05-22 17:44:04 +00:00
Aleix Pol
ad68d6860e globalshortcuts: Do not ignore duplicated shortcuts
If a shortcut has been registered several times, we can activate them several
times as well. Otherwise we just registered the first one that was introduced.
This also makes it impossible to use certain shortcuts depending on the
state.
2023-05-22 17:44:04 +00:00