25502 Commits (e3186ae8e66c21be61dc4100c0d0e4fa4dffd201)
 

Author SHA1 Message Date
Xaver Hugl 657aa35d8f Revert "main: directly set Xwayland scale, instead of starting a KCM to do the same"
This reverts commit 2eb72d0820. The KCMs set more than just
the DPI, so it's best to keep running them
11 months ago
Xaver Hugl 2b79316e4b plugins/colorpicker: use glReadPixels instead of glReadnPixels
We always know the data for the single pixel will fit into the buffer, so
it's unnecessary to use the checked variant (which is only available in
OpenGL 4.5)
11 months ago
Xaver Hugl f69c622831 plugins/colorpicker: make sure values aren't clipped
With the floating point buffer used with color management, storing values into
uint8_t won't always work
11 months ago
l10n daemon script d7a88fb7bc GIT_SILENT Sync po/docbooks with svn 11 months ago
l10n daemon script 4719013aa5 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
Nicolas Fella 2e3881b14d Adapt to KWindowSystem API change 11 months ago
Vlad Zahorodnii 754b549f01 Restart compositing if kwinrc changes only on X11
On Wayland, options don't influence compositing as on X11. For example,
kwin cannot easily switch between compositing modes, etc.

One can still force kwin_wayland to reinitialize compositing by using
the dbus api.
11 months ago
Vlad Zahorodnii 49b84ddf8c Avoid destroying effects if animation speed changes
It makes little sense to destroy effects if the animation speed changes.
The effects are written with the assumption that the animation time can
change and therefore they handle this case in reconfigure().
11 months ago
Vlad Zahorodnii f22da5f62a Fix reloading animation speed option
Amends 4d2c9f5d88.

Prior to 4d2c9f5d88, the Compositor used
to force the Options to reload settings when starting compositing.

Unfortunately it was overlooked that Options::animationTimeFactor() can
return an old value when the Options::animationSpeedChanged() signal is
emitted. This change addresses that.
11 months ago
Vlad Zahorodnii 3af30c4250 kcms/screenedges: Fix Overview not being displayed
Scripted and builtin effect metadata formats are no longer compatible.
So KPackageLoader doesn't list builtin effects anymore. To address that,
load builtin effect metadata manually.
11 months ago
l10n daemon script 65db053ba6 GIT_SILENT Sync po/docbooks with svn 11 months ago
l10n daemon script 863a81ba6d 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
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