23275 Commits (bcd43ff44d323044cc130aac4d9423f4d0411122)
 

Author SHA1 Message Date
Vlad Zahorodnii bcd43ff44d backends/x11: Implement own keyboard interception
At the moment, the keyboard interception code in the effects system
relies on Qt code processing key events. However, since QDesktopWidget
is removed in Qt 6, this is a blocker for Qt 6 port.

This change ports the X11 backend to private xkb keymap as indicates in
the todo comment. It allows us to drop the last QDesktopWidget usage.
2 years ago
l10n daemon script 7aee88581f GIT_SILENT Sync po/docbooks with svn 2 years ago
Joshua T b0682129f9 kcmkwin/kwindecoration: Add "Shadow" to list of keywords
Since the window decoration settings includes the size of a window’s shadow,
the word "shadow" should be one of the keywords.
2 years ago
l10n daemon script 8f3e2d6a8d GIT_SILENT Sync po/docbooks with svn 2 years ago
l10n daemon script 88bebf0cbf GIT_SILENT Sync po/docbooks with svn 2 years ago
l10n daemon script 243c055aee GIT_SILENT Sync po/docbooks with svn 2 years ago
Xaver Hugl e0120aa387 kwingltexture: port away from manual memory management 2 years ago
Xaver Hugl 7bca6267b0 decorationbridge: wrap factory in a std::unique_ptr 2 years ago
Xaver Hugl e482556d58 screenedge: modernize some code 2 years ago
Xaver Hugl 1c7eb138ff backends: port more code to std::unique_ptr 2 years ago
Vlad Zahorodnii cd1def8c55 effects/slide: Remove SlideDocks option
SlideDocks option was added after receiving negative feedback about
sliding docks. SlideBackground option was added to provide smooth
transition path for old users.

In hindsight, adding SlideDocks option was a mistake. It provides
excessive configurability in exchange for more code complexity.
2 years ago
l10n daemon script 63f519b0a2 GIT_SILENT Sync po/docbooks with svn 2 years ago
Vlad Zahorodnii 94486e0cc1 backends/virtual: Stop creating a dummy output during backend initialization
With the virtual backend, it makes more sense to create outputs on
demand. It makes code clear, it would be also nice to use the virtual
backend for virtual outputs rather than have every backend implement its
own virtual outputs.
2 years ago
Vlad Zahorodnii 9d53f2d29c autotests: Add missing setVirtualOutputs calls 2 years ago
A. Meyer bf00ab6f94 Change description for window border shortcut
Changes the "Hide Window Border" shortcut description to "Toggle Window
Border", which more accurately describes the feature.

BUG: 348549
2 years ago
Volker Krause f50046524b Remove public declaration of the KWin::FPx2 debug stream operator
Qt 6 insists on this being exported, which in turns fails as this is
actually not implemented. There seemingly is an implementation, but that's
in a different namespace, so this can never have been used from the
outside anyway.
2 years ago
Vlad Zahorodnii cddb2177f1 effects: Fix window highlighting in WindowHeap
Currently, windows are not highlighted as expected in the window view
effect if the keyboard focus belongs to another screen view.

In general, it makes more sense to apply "Window.window.activeFocusItem"
constraint only to heap.selected.
2 years ago
l10n daemon script 0228f667a9 GIT_SILENT Sync po/docbooks with svn 2 years ago
Vlad Zahorodnii 7eca5f44db x11: Reset SurfaceItemX11::m_isDamaged when the damage handle is destroyed 2 years ago
Vlad Zahorodnii b3214db0b7 x11: Make damage region fetching code more robust to errors
With DamageReportNonEmpty damage report level, the x server will
send kwin a DamageNotify when the damage region changes from empty to
not empty.

The damage region will be made empty when SurfaceItemX11 calls
xcb_damage_subtract().

It appears like xcb_generate_id() can return us an already associated
XID, which eventually results in xcb_damage_subtract() failing and
breaking state tracking in SurfaceItemX11. KWin will no longer receive
DamageNotify events and some windows will freeze.

In order to make getting BadIdChoice less catastrophic, this change
makes the SurfaceItemX11 reset m_isDamaged after successfully fetching
the damage region. If xcb_generate_id() returns us a bad id, kwin will
try to fetch the damage again in the next frame.

BUG: 456511
2 years ago
Vlad Zahorodnii d2899928cd Reset m_delayFocusWindow in Workspace::cancelDelayFocus()
CCBUG: 459860
2 years ago
l10n daemon script df142cfe49 GIT_SILENT Sync po/docbooks with svn 2 years ago
Vlad Zahorodnii 2048e40d19 autotests: Extend OutputChangesTest with more cases
This change extends the OutputChangesTest so it also covers the cases
where a maximized and a fullscreen window is moved back to its original
output when it's hotplugged.
2 years ago
Vlad Zahorodnii 2bb3299533 effects/fullscreen: Prevent playing animation for invisible windows
It makes no sense to play the animation if the window is invisible. It
can also produce unexpected results if the window is not on current virtual
desktop as animate() will temporarily force the window to be visible.
2 years ago
Xaver Hugl 18a72f7187 backends/drm: also force linear layout for dumb buffer cursors
While it usually shouldn't make a difference, it ensures that the buffer import
always works properly

CCBUG: 456306
2 years ago
Vlad Zahorodnii 6ba44deee4 effects/maximize: Prevent playing animation for invisible windows
If an invisible window is animated, e.g. minimized window, the maximize
effect will temporarily make it visible in order to play the animation,
which is unexpected.
2 years ago
Laurent Montel 1b57b27b76 Use POSITION_INDEPENDENT_CODE for static lib for helping to build against qt6 2 years ago
Xaver Hugl ae4dd73e99 backends/drm: use linear buffers for multi gpu where necessary 2 years ago
Xaver Hugl 1f92dc5e5d backends/drm: correct test buffer check
There can be situations where the surface fits but there's no test buffer yet
2 years ago
Volker Krause 2bda46d5b9 Don't try to create a QChar from a non-char key enum
Asserts with Qt 6. Instead, check with the static QChar::isLetter, that
handles invalid input properly.
2 years ago
Volker Krause 25a2c0a9e8 Adjust reduced feature CI to run unprivileged
Same thing was done to the common templates.
2 years ago
l10n daemon script 3e82a1ede9 GIT_SILENT Sync po/docbooks with svn 2 years ago
Nicolas Fella 4a10dfeeff Install po folder 2 years ago
l10n daemon script 2dcd8ae9bb GIT_SILENT Sync po/docbooks with svn 2 years ago
David Edmundson 3649ec474b [x11window] Remove duplicate activities check
We check if activities are valid in Window::setActivities. We don't need
to do it when we read the X11 properties.
2 years ago
David Edmundson ad95b495ac Sync activities after kwin restart
Activities are loaded async. During this time any fetch of activity
information is incorrect as we will treat any settings as invalid.

We need to ignore attempts to set activities during this time, but also
refresh Window's concept of activities once we are loaded.

BUG: 438312
2 years ago
Méven Car e60f26e0ab Disable PrimarySelection in seat setPrimarySelection
BUG: 456167
2 years ago
Vlad Zahorodnii 4c07daec3f effects/slide: Increase spring constant
We've got complaints that the animation is too slow.

BUG: 455450
2 years ago
l10n daemon script b4cd4f645e 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
Nate Graham 5322f32cf0 Set bugReportUrl for all KCMs in this repo
CCBUG: 204364
2 years ago
Vlad Zahorodnii f343f3fb80 wayland: Use true logical geometry in Display::outputsIntersecting()
Display::outputsIntersecting() computes the logical geometry using the
oriented mode size and the scale factor, but OutputInterface's scale
factor is ceil()ed up, so the resulting logical geometry can be incorrect.

BUG: 459733
2 years ago
David Edmundson 388350f8bf [effects/private] Don't sync natural size to intended sizes
X/Y/Width/Height all get changed in the polish event so this only has
any effect in bindings before the first frame.

It seems this was leftover from development where we didn't have initial
values synced up properly.
2 years ago
Arjen Hiemstra 9a6c1e60e8 X11 backend: Retry enabling compositing when it was disabled a while ago
This removes the "OpenGLIsUnsafe" flag and replaces it with a timestamp
that we can check to see how long ago we tried enabling compositing, so
we can retry it if a certain amount of time has elapsed.

BUG: 452344
2 years ago
Xaver Hugl 21b833f9f5 effects: bump minor version 2 years ago
Xaver Hugl 4b82c639e0 effects/contrast: use effect-local data instead of window data 2 years ago
Xaver Hugl cc0434d34c effects/blur: use effect-local data instead of window data for blur regions 2 years ago
Vlad Zahorodnii 1d8c9c62cf backends/drm: Fix 100% cpu usage after tty switch
The drm fd can get stuck in readable state, in which case the
QSocketNotifier will fire the activated signal as often as it can
leading to high cpu usage.

We need to read() the drm fd in order to make the socket notifier stop
firing QSocketNotifier::activated.

This change removes the m_platform->isActive() check to ensure that
drmHandleEvent() gets called, in general, it should be safe as we only
notify the outputs about completed pageflips.

BUG: 452726
2 years ago
Aleix Pol 2c874fc3e0 tablet: Ensure persistency of the outputName property
With this change, when the specified output is disconnected, it will
just behave as if none were selected but when it's connected again it
will pick it back up.

BUG: 456857
2 years ago
ivan tkachenko e45cc7a807 effects/windowview: Add ExposeClassCurrentDesktop shortcut to KCM
See also: f2defd1dfa
2 years ago
David Edmundson 105af544c9 Don't accept space and enter key events in empty WindowHeaps
This fixes being able to select an empty desktop.

CCBUG: 457910
2 years ago