Commit graph

24391 commits

Author SHA1 Message Date
Xaver Hugl
cc535a1ecd workspace: move kscreen integration into separate files
Putting all the code into workspace.cpp makes the file harder to manage,
and kscreen integration is really its own topic.
2023-03-05 15:08:08 +01:00
l10n daemon script
ea66fad153 GIT_SILENT Sync po/docbooks with svn 2023-03-05 03:45:18 +00:00
l10n daemon script
a6b665006e 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-03-05 03:32:52 +00:00
Aleix Pol
85b614e75c screencasting: on memfd, skip the QImage step
We were using QImage as an intermediary step. GL -> QImage -> spa
buffer. While it abstracted things out neatly and eventually helped with
debugging, it was unnecessary and woudl present some handicaps, such as
the lack of a QImage::Format_BGRA.
So we just it out to download right into the buffer.

BUG: 466655
(cherry picked from commit 121454580711c409b612d06865ab9d221dcbac6b)
2023-03-04 23:47:29 +00:00
Alexander Lohnau
56f2b9819d Remove unneeded KNewStuff linking
We only need this as a QML runtime dependency
2023-03-04 08:15:32 +01:00
l10n daemon script
3b848bbf7e GIT_SILENT Sync po/docbooks with svn 2023-03-04 02:35:04 +00:00
Ismael Asensio
e89c09a62e TabBox: Avoid unnecesary resets of the client model
When the tabbox switcher is shown and any window is added or
removed, its client model is fully reset, even if this window
is not included in the model.

This can be a bit expensive and also produce small visual quirks
on certain switchers, so let's check if the window list changes
before resetting the model.

BUG: 466660
FIXED-IN: 5.27.3
2023-03-03 18:51:12 +01:00
Vlad Zahorodnii
83398dce7b effects/screenshot: Ensure screenshot fd is nonblocking
If the screenshot fd is blocking, the thread writing the screenshot to
the pipe can potentially get stuck in case something happens to the
client.
2023-03-03 17:13:10 +00:00
Xaver Hugl
43a9add5fe windowitem: properly handle sub-subsurfaces
The damage of the whole subsurface tree needs to be considered, not just the
topmost subsurfaces of a window.

BUG: 466747
2023-03-03 15:58:24 +01:00
David Edmundson
46cad20ea8 wayland: Cancel selections if set without focus
Otherwise we confused clients in the following situation:
Client A sets selection, but due to timing has lost focus
User copies something in client B
Client later tries to paste in client A.
Client A still thinks it owns the selection so does nothing.

CCBUG: 459389
2023-03-03 11:25:42 +00:00
Vlad Zahorodnii
a9dc50e22d x11: Fix disabling high dpi scaling
Qt::AA_DisableHighDpiScaling has no any effect now.
2023-03-03 10:39:03 +00:00
Vlad Zahorodnii
219b6c6b50 Reevaluate stacking order when an override-redirect window is added
The stacking order needs to be re-evaluated so Window.stackingOrder is
updated.
2023-03-03 10:25:51 +00:00
Vlad Zahorodnii
b099ad8ade Drop deprecated Qt::AA_UseHighDpiPixmaps
Qt::AA_UseHighDpiPixmaps has no any effect now.

We used to rely on the fact that Qt::AA_UseHighDpiPixmaps is disabled by
default in Qt 5 in kwin_x11. It's not clear what to do about it now.
2023-03-03 08:36:14 +00:00
Vlad Zahorodnii
f16814811b kcms/rules: Fix import and export dialog 2023-03-03 07:41:01 +00:00
l10n daemon script
a6457fda40 GIT_SILENT Sync po/docbooks with svn 2023-03-03 02:49:03 +00:00
Vlad Zahorodnii
851a025fe0 Add missing translation domain
It fixes lots of warnings in tests.
2023-03-02 07:42:29 +00:00
l10n daemon script
e5e55195e5 GIT_SILENT Sync po/docbooks with svn 2023-03-02 03:30:11 +00:00
l10n daemon script
7d24fbda86 GIT_SILENT Sync po/docbooks with svn 2023-03-01 23:54:33 +00:00
l10n daemon script
24802d9d9a 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-03-01 23:48:05 +00:00
Vlad Zahorodnii
49977d38f2 build: Remove redundant find_package() for Wayland::Client
find_package(Wayland) already takes of the client lib, it's needed by
the wayland backend, so BUILD_TESTING specific find_package() can be
merged with it.
2023-03-01 21:18:24 +02:00
Vlad Zahorodnii
5184a630bb build: Search for wayland client libs only when building tests 2023-03-01 20:34:17 +02:00
Vlad Zahorodnii
31b21618b3 scripts/desktopchangeosd: Minor cleanup
Workspace.desktops is a property so the binding will be updated
automatically when the desktops change. There's also no a signal with
name "numberDesktopsChanged"
2023-03-01 18:00:11 +00:00
Vlad Zahorodnii
77a1aea281 effects/desktopgrid: Fix TapHandler.onTapped handler
The button is provided alongside the event point now.
2023-03-01 17:14:31 +00:00
Vlad Zahorodnii
3aa16bd1ca libkwineffects: Drop QtQuick dummy window hack
The dummy window hack was needed to ensure hidpi rendering on Wayland.
We introduced QQuickRenderTarget::setDevicePixelRatio() in Qt 6.3, so
the hack can be removed now.
2023-03-01 16:59:00 +00:00
Vlad Zahorodnii
b93e01a724 Drop old kconf update scripts 2023-03-01 18:34:07 +02:00
Vlad Zahorodnii
5b6b2a2219 kcms: Fix plugin id loading in desktop effects kcm
kwin installs metadata files for builtin effects so the kcm can find
them. With the recent KPluginMetaData changes, the Id field has been
removed, so the kcm will use "metadata" (the basename of metadata.json)
as the plugin id.

In order to fix plugin id resolution, let's install metadata with the
file name same as the plugin id.
2023-03-01 16:05:07 +00:00
Vlad Zahorodnii
5dd247d179 plugins: Adapt plugins to KPluginMetaData changes
Binary plugins should not have "Id" field. Instead the library file name
acts as the plugin id.

While on this, static plugin code path can be dropped because
KPluginMetaData handles both static and normal plugins.
2023-03-01 15:50:10 +00:00
Vlad Zahorodnii
06d195980b autotests: Drop night color test
It doesn't test anything useful. It's hard to make it test useful things
too due to needing to change the system time. Linking with it also
breaks the encapsulation and it won't work when using MODULE library.
2023-03-01 15:50:10 +00:00
Vlad Zahorodnii
8cb91dcc59 tabbox: Bump severity of QQmlComponent error log messages
If there's an error, it's better to use qCWarning so it's easier to spot
where things go wrong.
2023-03-01 15:26:18 +00:00
Vlad Zahorodnii
be936d0567 kcms/rules: Port away from Kirigami.OverlaySheet.sheetOpen 2023-03-01 14:53:15 +00:00
Harald Sitter
3c4686ca12 tabletmodemanager: properly export properties
in order to read from the properties directly (as opposed to via
org.freedesktop.DBus.Properties.Get) we need to export slots despite the
class having none (presumably the READ functions count as slots for the
purposes of qdbus?)

this makes direct calls to the interface work correctly
`qdbus org.kde.KWin /org/kde/KWin
org.kde.KWin.TabletModeManager.tabletMode`
2023-03-01 13:53:36 +01:00
Fushan Wen
7775fbd2db Replace forum.kde.org with discuss.kde.org
The old forum is deprecated.
2023-02-28 21:14:56 +00:00
Hannah Kiekens
0543949df7 Enable GLSL for Mali (Lima) / PinePhone devices
Commit 88cf8355 changed the behaviour of Mali (Lima) / PinePhone devices by disabling GLSL
88cf8355 got backported in 5.27.1 and broke PinePhone devices (White rectangle on topright quarter of a black screen)

This patch restores the behaviour of 5.27.0
2023-02-28 21:04:37 +00:00
Vlad Zahorodnii
70e7622c69 effects: Fix clicking windows in window view effect
The DragHandler immediately activates and takes over the TapHandler,
thus blocking selecting windows by tapping them.
2023-02-28 20:21:39 +02:00
Vlad Zahorodnii
1ea2338917 effects: Prevent OffscreenQuickView crashing on teardown
QQuickRenderControl::sceneChanged can emitted when shutting down, which
will cause a crash.
2023-02-28 20:21:39 +02:00
Vlad Zahorodnii
9aeb33f0a4 effects: QtGraphicalEffects -> Qt5Compat.GraphicalEffects 2023-02-28 20:21:39 +02:00
Vlad Zahorodnii
6f622d3348 effects: Adapt to kcoreaddons_add_plugin plugin id changes 2023-02-28 20:21:39 +02:00
Vlad Zahorodnii
10df3b0eb0 Remove Qt 5 specific code 2023-02-28 18:30:26 +02:00
Vlad Zahorodnii
d9f5d432be Port to KF6 2023-02-28 18:30:26 +02:00
Vlad Zahorodnii
6e705f6034 Simplify Window::setDesktop()
workspace()->updateOnAllDesktopsOfTransients() is not needed because we
call setDesktops() for transients immediately after it.
2023-02-28 10:54:16 +00:00
Vlad Zahorodnii
18870f67cc x11: Fix client area lookup with pending move resize
If there's a pending move resize, Window::output() won't be updated
until geometry updated are unlocked. We need to use moveResizeOutput()
instead.
2023-02-28 09:50:24 +02:00
l10n daemon script
074a4fd286 GIT_SILENT Sync po/docbooks with svn 2023-02-28 02:38:23 +00:00
l10n daemon script
1bfe7c2659 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-02-28 02:08:05 +00:00
Vlad Zahorodnii
2dc7364a23 effects: Drop WindowHeap.windowClicked signal
Put a TapHandler in WindowHeapDelegate instead.
2023-02-27 16:55:56 +00:00
Vlad Zahorodnii
43cac75034 wayland: Fix xdg-toplevel and xdg-popup window initialization
Buggy clients can commit the wl_surface several times in a row. On the
other hand, XdgToplevelInterface and XdgPopupInterface consider a
surface to be initialized if it has been configured. If the second
wl_surface commit comes before the configure event is sent, kwin will
initialize a toplevel or popup twice, which can trigger asserts.

BUG: 466530
2023-02-27 15:43:56 +00:00
Aleix Pol Gonzalez
4cda16ce3a screencasting: Close streams when the output is disabled
It's technically possible to keep it somewhat going right now and just
not send frames but it doesn't make much intuitive sense.
2023-02-27 15:42:07 +00:00
Vlad Zahorodnii
fff462aed6 scene: Track stack position in WindowItem
If the WindowItem tracks the stack position, it will automagically
schedule repaints when a window is raised or lowered.
2023-02-27 14:57:48 +00:00
Vlad Zahorodnii
8fc634684c wayland: Setup compositing for internal window when it's mapped
Aurorae decoration plugin creates an unmapped internal window, it's not
rendered and so it's not added to the Workspace.

Internal window setups compositing in its constructor too. It means that
the WindowItem will have a link to the scene, but since the Compositor
has no any idea about the internal window yet, that scene can become a
dangling pointer, and kwin can crash when the window item is destroyed.

BUG: 466313
2023-02-27 12:07:39 +00:00
Vlad Zahorodnii
298d63bc71 Remove no longer relevant case in Workspace::replaceInStack()
Unmanaged windows are always in the stack now, so the else branch is not
needed, and in fact, it can produce undesired side effects if unmapped
window is closed.
2023-02-27 12:07:39 +00:00
l10n daemon script
6745cb87ec GIT_SILENT Sync po/docbooks with svn 2023-02-27 02:46:37 +00:00