23748 Commits (0f693fe087eef0c4b11b899e5be93f4bee6e0de9)
 

Author SHA1 Message Date
Vlad Zahorodnii a0971264b8 Remove Window.alpha property
Scripts don't paint, there's little point for exposing this property to
scripts.
2 years ago
Vlad Zahorodnii 65130f85e6 Port Workspace from Window::clientPos() 2 years ago
Vlad Zahorodnii f9abd04459 Port constraint constraints from Window::clientPos() 2 years ago
Vlad Zahorodnii 0ec732491b Port PopupInputFilter to Window::clientGeometry()
Saves us some math operations.
2 years ago
Vlad Zahorodnii 5e04977d31 Drop SurfacePixmap::contentsRect()
It's unused.
2 years ago
Vlad Zahorodnii 64a6a70b3e autotests: Use fewer Window::clientPos() 2 years ago
Alexey Andreyev 462d5f0642 utils/serviceutils: Improve Exec key parsing
Take into account Exec field codes.

The change makes possible to have both X-KDE-Wayland-Interfaces field
(for example, kde_lockscreen_overlay_v1)
(and additional arguments for Exec field (for example, %U).

See also:

https://specifications.freedesktop.org/desktop-entry-spec/latest/ar01s07.html

Contributes to:

https://invent.kde.org/plasma-mobile/plasma-dialer/-/merge_requests/105
2 years ago
Nate Graham c01569e4b8 effects/windowview: make search field's placeholder text accurate
This effect has a search field that doesn't actually search; it filters
through open windows. Let's change its placeholder text to reflect this,
so users don't get confused.
2 years ago
Vlad Zahorodnii 3a7b35a95b backends/wayland: Drop WaylandBackend::flush()
These flush()es are unnecessary, wayland backend will work fine without
them.
2 years ago
Vlad Zahorodnii 8655cc76e8 core: Drop initial window state properties in OutputBackend
Relevant output backends take these properties using their (xyz)Options
struct now.
2 years ago
Vlad Zahorodnii 12acd9bb78 autotests: Port away from OutputBackend::setInitialWindowSize() 2 years ago
Vlad Zahorodnii 528abfb00a backends/{x11,wayland}: Rework passing initial configuration to windowed backends
Currently, OutputBackend stores the initial state for windowed backends.
It's messy because the backends can have different needs. Instead, make
windowed backends take an Options struct with all possible options.
2 years ago
Aleix Pol 69c9f19973 screencast: Don't scale the cursor
Otherwise it gets cutt off when scaling > 1.
This fixes Nate's screencasts (and anyone who has a system like nate's,
that is).

Part-of: <https://invent.kde.org/plasma/kwin/-/merge_requests/3195>
2 years ago
Vlad Zahorodnii b2d78a5c30 backends/wayland: Decouple from Compositor and Scene
Scene::addRepaintFull() is used to request an output update, but there
are other ways to do it that require referencing neither Compositor nor
Scene.

Part-of: <https://invent.kde.org/plasma/kwin/-/merge_requests/3202>
2 years ago
Vlad Zahorodnii 3aa635430b effects: Drop WindowPaintData.shader property
It allows us to encapsulate SurfaceItem rendering. It's needed to add
support for YUV->RGB conversion fallback path.

Effects that use this property must be ported to OffscreenEffect, see
also OffscreenEffect::setShader().

This is a BREAKING CHANGE!
2 years ago
Vlad Zahorodnii 4363b25b2d effects/invert: Port to OffscreenEffect
Allows us to drop WindowPaintData.shader and to encapsulate rendering of
windows, which is needed to provide YUV->RGB conversion path.
2 years ago
Vlad Zahorodnii 69859aec28 kwineffects: Bring back OffscreenEffect::setShader()
OffscreenEffect can be still used to apply a shader effect to a window.
2 years ago
l10n daemon script 3d96b58548 GIT_SILENT Sync po/docbooks with svn 2 years ago
Vlad Zahorodnii f06dce9d12 backends/wayland: Remove unused includes 2 years ago
Vlad Zahorodnii bcb38f366d backends/wayland: Port to xdg-decoration-v1
The server-decoration protocol is deprecated, and the clients should use
the xdg-decoration-v1 protocol instead.

kwin will indicate that it wants server side decoration. If the host
compositor insists on client-side decorations, the wayland backend will
render no csd. However, this is de-facto state at the moment too,
perhaps it can be improved by using libdecor?

Regardless, no csd is the current state too, except that both host and
nested compositors can enter a loop where one side says to use CSD and
the other side says that they want SSD.
2 years ago
Vlad Zahorodnii be3146873f core: Drop OutputBackend::isReady()
OutputBackend has a concept of readiness. When the host compositor goes
down, the OutputBackend will be marked as not ready, and when it
reappears, the output backend will be marked ready again.

On the other hand, host compositor going down is a niche case, it's not
something that often happens and it's hard to justify adding more moving
parts to the startup code. It's easier to call initialize() and check
whether it fails rather than call initialize() and then monitor isReady.

Therefore, this change drops OutputBackend::isReady() to make startup
simpler.
2 years ago
Vlad Zahorodnii 6951d662d6 backends/wayland: Merge WaylandOutput and XdgShellOutput 2 years ago
Vlad Zahorodnii d4676cceb3 backends/wayland: Linearize startup sequence
This change removes async bits from the startup code in the wayland
backend to make it simpler. The main motivation behind this change is to
refactor the wayland backend so OutputBackend::isReady() can be removed.
2 years ago
David Edmundson 319c6a4cfa activation: Guard against not having any active window
If we have no active window we shouldn't call lastUsageSerial. We may as
well activate whatever client requested it.
2 years ago
l10n daemon script 18553417d3 GIT_SILENT Sync po/docbooks with svn 2 years ago
l10n daemon script 9e5c577fdb 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"
2 years ago
Vlad Zahorodnii 98b65bb447 Port a usage of QScopedPointer to std::unique_ptr 2 years ago
Xaver Hugl 34aa734c7b plugins: use more std::unique_ptr 2 years ago
Xaver Hugl 738b04a364 libkwineffects: use more modern C++ 2 years ago
Xaver Hugl 0f3ae0216c kcmkwin/kwinscreenedges: use more modern C++ 2 years ago
Xaver Hugl 95599d2ffd ruleitem: use std::unique_ptr 2 years ago
Xaver Hugl 65e886cde2 backends/drm: support the panel orientation property 2 years ago
Vlad Zahorodnii e58affc71b wayland: Make debug console placeable
Since the debug console has Qt.BypassWindowManagerHint flag set, it
won't be placed or ensured that it stays in the work area.

On the other hand, unlike X11, kwin won't have problems if the debug
console is managed on wayland.

BUG: 453920
2 years ago
l10n daemon script 34960e8e74 GIT_SILENT Sync po/docbooks with svn 2 years ago
l10n daemon script 16de8cf19c 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"
2 years ago
Aleix Pol ecbe29640c screencast: Fix how we tell pipewire that the stream has been resized
We need to send sizes in a format that param buffers understand.
This fixes some glitches we'd see when sharing a window and resizing it.

Thanks Jan Grulich for pointing me in the right direction!

BUG: 461590
2 years ago
l10n daemon script 47449e7a52 GIT_SILENT Sync po/docbooks with svn 2 years ago
Xaver Hugl 5fd9871fa7 workspace: silence signed unsigned comparison warning 2 years ago
Xaver Hugl 704d1d639a qBound -> std::clamp 2 years ago
Xaver Hugl d265535f9b qMin -> std::min 2 years ago
Xaver Hugl b0b7c8b1d3 qMax -> std::max 2 years ago
Vlad Zahorodnii f1f58a186d plugins/nightcolor: Add a todo note reminding to remove legacy shortcut 2 years ago
l10n daemon script 2d5c98069c GIT_SILENT Sync po/docbooks with svn 2 years ago
l10n daemon script 4cb06a3713 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"
2 years ago
l10n daemon script 28ed199576 GIT_SILENT Sync po/docbooks with svn 2 years ago
Arjen Hiemstra cd65515ea6 scene: Store renderTargetRect as QRectF
This allows the projection matrix calculation to properly calculate the
screen edges without losing bits due to earlier rounding.
2 years ago
l10n daemon script 69feee0ce6 GIT_SILENT Sync po/docbooks with svn 2 years ago
Xaver Hugl 435873a19b autotests/drm: add more test cases for mode generation 2 years ago
Xaver Hugl 9130b947e0 backends/drm: generate modes even if some common modes are available
Some monitors claim to support some but not all common modes, despite the display
supporting them all.
2 years ago
Vlad Zahorodnii f1e8ce9456 x11: Rename X11StandalonePlatform to X11StandaloneBackend 2 years ago