22334 Commits (7a279522a8cdc2105efef01264241fea7588b8cf)
 

Author SHA1 Message Date
Aleix Pol 7a279522a8 Provide an xdgactivationtest
Adds a test that has two windows and one activates the other.

There are two versions: qt5 and qt6.
The Qt 6 code is vastly different since Qt 6 knows about
xdg_activation_v1, so it makes sense to have both for now.
2 years ago
Vlad Zahorodnii d24f908720 Move EffectWindow and SceneWindow to Deleted
It simplifies finishCompositing() function.
2 years ago
Xaver Hugl b522bbc8fc backends/drm: fix build with HAVE_GBM_BO_GET_FD_FOR_PLANE=0 2 years ago
Vlad Zahorodnii 000f3d839f Ensure that Workspace::deletedRemoved() is emitted while there's scene window
Effects may perform cleanup when a deleted window is removed. If that
happens and the SceneWindow is accessed, kwin may crash.

The Scene processes Workspace::deletedRemoved() before effects.

In order to fix dereferencing null pointer, this change makes the Window
destroy its associated SceneWindow.
2 years ago
Vlad Zahorodnii 892059cd23 Rename Window::effect_window to Window::m_effectWindow 2 years ago
Vlad Zahorodnii 22e5c8a260 autotests: client -> window 2 years ago
Vlad Zahorodnii fd453537c5 Drop Platform::screenSize()
It's effectively unused.
2 years ago
l10n daemon script c8a151d4f1 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
Xaver Hugl 5730dc624b colors/colortransformation: add license header 2 years ago
Xaver Hugl 1365a76f3b manage ColorPipelineStages with unique_ptr 2 years ago
Xaver Hugl 14e7afcb4e color management: refactor and move to its own directory
The pipeline stages are also now properly managed, which should prevent
use-after-free errors.

BUG: 453026
2 years ago
Xaver Hugl 68a54a67b8 backends/drm: enable format modifiers by default
Format modifiers enable the graphics hardware to be much more efficient,
especially when it comes to multi-gpu transfers. With the issues regarding
bandwidth limits now solved, enable them by default to make all supported
systems benefit from them.

CCBUG: 452397
CCBUG: 452219
2 years ago
Xaver Hugl 916f1f4ea8 backends/drm: prune format modifiers when tests fail
When explicit modifiers are used, it can happen that Mesa chooses modifiers that make
the display hardware hit bandwidth limits. In that case, atomic tests fail and the
outputs don't work, or KWin may even crash.
In order to work around that, DrmGpu now removes the used modifier whenever an atomic
test fails, and tries to find a working combination of outputs and modifiers.
2 years ago
Vlad Zahorodnii cd0430303b Fix potential null dereference in LockScreenFilter
input()->findToplevel() may return null.
2 years ago
Vlad Zahorodnii f9b7d5298b Fix testModifierOnlyShortcut
If a window is destroyed before the frame is presented, the window
pointer will be dangling.

In order to make kwin handle that case correctly, the window is captured
using a QPointer.
2 years ago
Xaver Hugl e7959b9693 backends/drm: don't expose DrmPipeline state as a public member
While having all state be public is great for avoiding the boilerplate that
comes with setters and getters, it also exposes more state than necessary
to the rest of the backend and makes it more error-prone if more than one
part of the state needs to be changed at the same time.
2 years ago
Vlad Zahorodnii f7452fb4c5 Allow WindowThumbnailItem work also with override redirect windows
WindowThumbnailItem doesn't depend on features that are available only
with managed window.

By making WindowThumbnailItem work with all kinds of windows, its code
is easier to work with and refactor.
2 years ago
Vlad Zahorodnii c773649377 Simplify EffectHandler::findWindow(uuid) implementation
With Workspace::findToplevel() code paths in findWindow() can be
unified.
2 years ago
l10n daemon script beecf8c9d4 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
Xaver Hugl 945eef58fe OutputMode: use uint32_t for the refresh rate 2 years ago
Vlad Zahorodnii c519f2d126 autotests: Port KWinFrameworkIntegration from source vars to target based apis 2 years ago
Vlad Zahorodnii 175037d9d1 Prefer the term "window" over "client" in Workspace 2 years ago
Nils Fenner 4bb276aa93 Minor clean up in KWin::Window
References #81
2 years ago
l10n daemon script 3030a85694 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
Alexander Lohnau 3324400672 Port KWin scripts KCM to new install location
Task: https://phabricator.kde.org/T14517
2 years ago
Alexander Lohnau 719e97194d Port KWin Scripts KCM to QML
Task: https://phabricator.kde.org/T7289
2 years ago
l10n daemon script be9781d0c5 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
Xaver Hugl 9ed87a4e23 backends/drm: support common display modes
BUG: 448398
2 years ago
Xaver Hugl 08ad2c8ed3 add libxcvt as a new hard dependency 2 years ago
Nicolás Alvarez 8455427dbc CI: Enable ccache 2 years ago
Xaver Hugl a343af674b backends/drm: fix damage tracking for virtual outputs 2 years ago
Vlad Zahorodnii 3de377e461 Rename XwaylandClient to XwaylandWindow 2 years ago
Vlad Zahorodnii 4b91c6163f Rename XdgShellClient to XdgShellWindow
The word "client" means different things in wayland and kwin. Use a
better word to refer to windows.
2 years ago
Vlad Zahorodnii a21aa839b1 Rename X11Client to X11Window
The word "client" means different things in wayland and kwin. Use a
better word to refer to windows.
2 years ago
Vlad Zahorodnii f0f829bc5b Rename WaylandClient to WaylandWindow
The word "client" means different things in wayland and kwin. Use a
better word to refer to windows.
2 years ago
Vlad Zahorodnii 3cdee2f24a Rename LayerShellV1Client to LayerShellV1Window
The word "client" means different things in wayland and kwin. Use a
better word to refer to windows.
2 years ago
Vlad Zahorodnii fb4607f5a6 Rename InternalClient to InternalWindow
The word "client" means different things in wayland and kwin. Use a
better word to refer to windows.
2 years ago
Vlad Zahorodnii 48b951201a Rename InputPanelV1Client to InputPanelV1Window
The word "client" means different things in wayland and kwin. Use a
better word to refer to windows.
2 years ago
l10n daemon script b935bca22f 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 0ef12b69a1 plugins/screencast: Avoid damaging full screen on rotated outputs
Not sure what that check is for, but things should work as expected even
without it.
2 years ago
Volker Krause 5368537981 Fix Qt6 build regressions 2 years ago
Nils Fenner b491aeb9ae Rename AbstractClient to Window 2 years ago
Fushan Wen 2e7364ddde WindowHeap: Hide window icon and label when excluded
This makes the opening animation of Window View from task manager less rigid.
2 years ago
Xaver Hugl 99761901ee backends/drm: don't check the test buffer if we don't need one
BUG: 452572
2 years ago
Xaver Hugl 941bae2810 backends/drm: fail atomic tests gracefully when buffer allocations fail
This should fix the crash. However, it's still unclear to me why allocations
fail in the first place

CCBUG: 452572
2 years ago
Vlad Zahorodnii 2b7fa206e8 Refactor Output information initialization
Instead of passing all possible field values to the initialize()
function, pass all relevant data in a struct. With designated
initializers, it's more readable and makes code more comprehensible.

The general goal is to split Output's data in two categories - general
information about the output (e.g. edid) and mutable state (position,
mode, etc).
2 years ago
Fushan Wen c4a0f20f4a
effects/windowview: Fix "Unable to assign [undefined] to int"
animationDuration is not defined in WindowViewEffect. Use
heap.animationDuration instead.
2 years ago
Vlad Zahorodnii 31c069ebf3 wayland: Let ecm_add_qtwayland_server_protocol_kde() work with targets
Makes CMakeLists.txt code a bit safer.
2 years ago
Vlad Zahorodnii a4a2ee0428 Refactor output mode abstractions
With this, the drm backend will be able to associate drmModeModeInfo
with Output's modes, which can be useful if there are several modes with
the same resolution and refresh rate but different flags.
2 years ago
Vlad Zahorodnii 6b4daeddc9 src/xwl -> src/xwayland
It makes naming more consistent, we use "wayland" more frequently than
"wl".
2 years ago