Max and min are calculated from two completely different sources.
There's scope for them to not be the expected way round.
We have an assert reported on this line due to a subtle qBound ->
std::clamp porting difference on GCC with debug flags on.
BUG: 454064
Shared contexts allow us to share textures and vertex buffers between
contexts (windows) this allows us to reduce memory in popups and alike.
To fully make use of this requires some follow up work in
ManagedTextureNode for FrameSVG, but we should sitll get some OOTB.
If shared contexts are not supported this fails gracefully - though we
are relying on shared contexts within kwin for a release without issue.
It also should fix WebGL inside WebViews.
BUG: 448299
These two code paths for vertical and horizontal orientations used two
different functions to clamp values. This commit makes them consistent.
Amends a3943400d5.
Plasma::Applet::config() returns a "/Configuration" group, but the
dumpCurrentLayoutJS DBus method saves all applets' config from root,
so when we need to save some value through scripting api it will
always prepend "/Configuration"
Given that the wayland protocol does not have window positions a recent
change to Qt development branch avoids having a mismatch of positions
and tells client code the window is at the topleft of the screen. This
fixes multiple bugs.
Unfortunately this breaks a few usages within plasma where a
side-channel sends that absolute positional information over a bespoke
protocol. Currently we proxy this all through QWindow geometry where the
new Qt behaviour will throw is askew.
Whilst our longterm plans are to find future options away from the
plasmashell protocol we may as well have our Qt6
build work given the patch is trivial and harmless.
It also allows for potential backporting if our software is
already secured against issues. Hence the cherry-pick.
In task manager, switching between icon task manager and text task manager
loses the old settings, which is inconvenient. This copies the old
configuration to the new applet to fix that behavior.
BUG: 355588
FIXED-IN: 5.26
After location is set, one layout script will usually start adding widgets.
It's required to emit formFactorChanged() to update plasmoid.formFactor bindings
in QML side to avoid Layout issues.
See isHorizontal in plasma-desktop/containments/panel/contents/ui/main.qml
The formFactor has been set, either by `ShellCorona::addPanel` or the
ctor of `ContainmentPrivate::ContainmentPrivate`, so it's redundant to
set the default value here again, or the panel will be added to the top
edge again and again.
In panelview.cpp, the old window focus is restored when switching to
Passive status. This fixes the behavior by setting the panel status to a
status that is not AcceptingInputStatus.
BUG: 454729
CCBUG: 352476
FIXED-IN: 5.25
This adds an option to set the accent color from the current wallpaper.
The way it works is that it exposes some DBus calls; if a wallpaper plugin
supports wallpaper accent colors then it should say so by this DBus call
when starting up and also should say which wallpaper is being currently
used (for the purpose of extracting an accent color from it) or set an
accent color itself. After that it should keep declaring the wallpaper or
set accent color whenever wallpaper changes or whenever the plugin author
thinks it is appropriate to say so.
There is already an implementation of the color extracting algorithm which
the plugin can either use, or else set whatever accent color it wants. The
necessary DBus calls for the official image and wallpaper plugin are
implemented, so they should work out of the box.
BUG: 444676
FIXED-IN: 5.25
Because of the wallpaper interface from plasma-frameworks, we can not change
this during KF5. However we can use QQmlPropertyMap as the type, when we do not care
about the KConfig specific bits. Both KConfigPropertyMap and KDeclarative::ConfigPropertyMap
extend from this class.
Task: https://phabricator.kde.org/T12126