25390 Commits (509b9e8e3f14188d5df0b28c5f6e93f10b75af82)
 

Author SHA1 Message Date
Vlad Zahorodnii 509b9e8e3f scripting: Reload SceneEffect configuration when effect is reconfigured
This ensures that the SceneEffect uses new settings when KCM changes
them.
11 months ago
Vlad Zahorodnii bf602ccd44 kcms/screenedges: Fix listing of effects
Effects have KWin/Effect package type.
11 months ago
Laurent Montel bc6116c5a7 There's no QVector anymore, QList is the QVector in Qt6 11 months ago
Vlad Zahorodnii f9163bf6a5 Clear X11 cursor cache when XCB connection changes
We need to clear it because if Xwayland restarts, the future Xwayland
instance may have different cursor ids.
11 months ago
Marco Martin 2eabd17547 Adapt to KSvg api changes
Size/elementSize is a QSizeF now.

Depends on https://invent.kde.org/frameworks/ksvg/-/merge_requests/29.
11 months ago
ivan tkachenko 07dd2a5086
Port implicit default content items to use contentItem: property
See also
https://invent.kde.org/frameworks/kirigami/-/merge_requests/1338
and
https://invent.kde.org/frameworks/kirigami/-/merge_requests/1340
11 months ago
Vlad Zahorodnii 7ae4497d5b Specify scripted effect kcm using X-KDE-ConfigModule
At the moment, if an effect wants to have a configure button in the
desktop effects kcm, it needs to add X-KDE-PluginKeyword field with
its plugin id. This is confusing.

This change ports scripted effects to X-KDE-ConfigModule, which is more
intuitive than X-KDE-PluginKeyword.

kcm_kwin4_genericscriptedconfig is a special config module that loads
config.ui from KPackage. However, an effect can specify a different
config module in the metadata if kcm_kwin4_genericscriptedconfig doesn't
suit their needs.
11 months ago
Vlad Zahorodnii 2c29dfd596 libkwineffects: Make SceneEffect fallback to root context
QuickSceneEffect can also be instantiated by C++, for example that's
the case with the overview effect. In that case, qmlContext() is not
going to return a valid context because the effect has not been created
by a QQmlEngine. In that case, use the root context as the parent
context.
11 months ago
Aki Sakurai aa57e9130b Fix misgenerated QHoverEvent
https://doc.qt.io/qt-6/qhoverevent.html#oldPos

https://doc.qt.io/qt-6/qhoverevent-obsolete.html#pos

oldPos: On QEvent::HoverEnter events, this position will always be QPoint(-1, -1).

pos: On QEvent::HoverLeave events, this position will always be QPoint(-1, -1).

On the same app, such as Wayland-enabled VS Code, the misgeneration causes the cursor to move to the origin when moving the cursor away from the server side decoration.
11 months ago
Joshua Goins e398289287 Add QKeySequence to VirtualDesktopManager::addAction overload
There are four usages of this overload, two of them are for the
intentionally disabled "Switch to Next/Previous Desktop" actions and the
rest are for "Switch One Desktop to X" actions. Due to the order they
were added, an empty keybind was set as the default and the actual
keybind is never enabled.

Now there's a QKeySequence argument to this overload, so an unexpected
empty keybind is never added. The two usages of addAction that depend on
this empty keybind behavior now pass in an empty QKeySequence.

BUG: 475748
11 months ago
Vlad Zahorodnii be88c8ec49 libkwineffects: Drop OffscreenQuickView::repaintNeeded connection in SceneEffect
It's no longer needed since views are not updated in the post paint
stage anymore.
11 months ago
Vlad Zahorodnii 066492ef1d libkwineffects: Make dirty view tracking more robust in SceneEffect
It's possible that a view can request a repaint again in update(). If
that happens, we don't want to overwrite the dirty state after update().
11 months ago
l10n daemon script b4717ca590 GIT_SILENT Sync po/docbooks with svn 11 months ago
Vlad Zahorodnii 3eb64535d8 examples/quick-effect: Change license of main.qml
Apparently CC0 is not okay with KDE's licensing policies.
11 months ago
Vlad Zahorodnii 3817fc096f libkwineffects: Add QuickSceneView.rootItem property
The root item property can be useful if a QML effect needs to invoke
some function for particular screen delegate.
11 months ago
Vlad Zahorodnii d7345a77ce libkwineffects: Expose QuickSceneEffect::{viewForScreen,viewAt} to QML 11 months ago
Vlad Zahorodnii 264ebe6377 scripting: Add qml effect bindings
This allows creating third party qtquick scene effects without linking
to libkwineffects and thus rebuilding the effect every kwin release.
11 months ago
Vlad Zahorodnii 793a0e72bf scripting: Add gesture handlers 11 months ago
ivan tkachenko 264b054c5c
kcms/screenedges: Fix buttons overlap on a too narrow vertical screen
BUG: 475579
11 months ago
ivan tkachenko 6c67b73b7d
kcms/screenedges: Slightly refactor monitor size calculation
It doesn't need width when it's going to be scaled with KeepAspectRatio
to some other rectangle anyway, so using constant 1.0 makes it clearer.
11 months ago
ivan tkachenko c5d692843f
kcms/screenedges: Remove commented out dead code 11 months ago
Dashon Wells b0d8979178 plugins/overview: Make Window Filtering Optional
This commit makes window filtering optional by providing a checkbox
in Desktop Effects > Overview > Overview Configuration KCM. The
referenced bug report describes a bunch of the reasons why people
wanted this option.

BUG: 460710
FIXED-IN: 6.0
11 months ago
Marco Martin e67847d43f Use itemChange instead of a connect to windowChanged
with itemChange watching SceneChange is more efficient than connecting
to the windowChanged signal, also this won't arrive during teardown,
aoiding the "destructor already ran" assert.
11 months ago
David Redondo c0cc162ba6 plugins/windowsystem: Adapt to KWindowEffectsPrivate API change 11 months ago
Aleix Pol Gonzalez c899cd07f8 xwayland: Do not set scale to 0
It would be the case upon lid close which would make KWin crash. Also
adds an assert so in case it happened again we would be able to catch it
easily. It gets applied asynchronously so it needs to be chased down.
11 months ago
Laurent Montel 2a14a4e398 Use std::as_const here 11 months ago
l10n daemon script 51acd6ce1d GIT_SILENT Sync po/docbooks with svn 11 months ago
Xaver Hugl d91534303e libkwineffects/glshader: set the correct maximum brightness
The maximum frame average brightness can be significantly lower than the actual
maximum brightness of the screen
11 months ago
Xaver Hugl 2fa80c6a3e libkwineffects/colorspace: rename maxHdrBrightness
The name doesn't really reflect what it's actually about, which is the maximum
average brightness the display can sustain without dimming
11 months ago
Quinten Kock 94b74cff96 plugins/slide: add special case for instant animations
In springmotion.cpp for the slide plugin, there are issues when
animations are disabled, namely a black screen flicker.

The flicker is caused by float under/overflow (div-by-0 -> infinity).

This commit fixes that by special-casing an infinite spring constant,
so that the animation immediately jumps to the anchor.

BUG: 472901
11 months ago
Alexander Lohnau 30600a064b Make X-KDE-Ordering in plugin metadata a proper int value
This makes the intention more clear and avoids unneeded string -> int conversion at runtime
11 months ago
Alexander Lohnau 76d93f7053 Remove empty X-KDE-ParentApp from plugin metadata 11 months ago
Alexander Lohnau a75bc19ce5 Remove empty website from plugin metadata 11 months ago
Alexander Lohnau 48b11337a9 Remove Version from plugin metadata
The plugins are shipped as part of KWin. Thus having a version separate from the KWin version specified doesn't make sense
11 months ago
Alexander Lohnau 27863b09ae Remove X-Plasma-MainScript from KPackage plugins 11 months ago
Alexander Lohnau 43174a9771 Remove X-Plasma-MainScript from C++ codepaths 11 months ago
Alexander Lohnau bf713d3892 plugins/kpackage: Remove definition of X-Plasma-MainScript definitions 11 months ago
Nicolas Fella 39fe6cd286 Remove window type from internal window and window system plugin
This is only set from KWindowSystem::setType(), which is unused on Wayland
11 months ago
Vlad Zahorodnii 87d29c60ea plugins/stickykeys: Remove Id field from metadata
The Id field is obsolete in KF6. The filename of the so is used as the
plugin id.
11 months ago
Mike Noe 4de5235402 plugins/private/Windowheap: Fix param injection error
Also, remove import versions
11 months ago
l10n daemon script 3a2136aae4 GIT_SILENT Sync po/docbooks with svn 11 months ago
l10n daemon script 6c9f55190e 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"
11 months ago
l10n daemon script 010909bf06 GIT_SILENT Sync po/docbooks with svn 11 months ago
Nicolas Fella 8ee1720047 Adapt to KWindowSystem dropping raiseWindow() 11 months ago
Nicolas Fella 62d91ea95d Adapt to KWindowSystem dropping lowerWindow() 11 months ago
Xaver Hugl 25728c1240 backends/drm: give the commit threads names
That makes them easier to identify in backtraces
11 months ago
Xaver Hugl f8012f580b plugins/colorpicker: convert picked color to sRGB
The API doesn't have any colorspace data, so we need to make sure we're
sending sRGB

BUG: 387757
11 months ago
l10n daemon script 5e1dfbe7df GIT_SILENT Sync po/docbooks with svn 11 months ago
Nate Graham acf7da91cc kcms/desktop: port away from Kirigami.DelegateRecycler
It was removed for KF6. Instead, set reuseItems: true, which is the
upstream-friendly way to do the same thing.

BUG: 475544
11 months ago
Nate Graham 8cf3ad8d3b kcms/screenedges: Move into "Mouse & Touchpad" group
Part of https://invent.kde.org/plasma/systemsettings/-/issues/15.
11 months ago