This requires (though not hard) the code found in
https://invent.kde.org/frameworks/knewstuff/-/merge_requests/23 and the
idea behind this is to clean up KNewStuff's knowledge of entries which
have been deleted without telling KNewStuff about it first. This is a
further step towards fixing the bug below.
CCBUG:417985
After many many many VDG discussions, we decided to shelve the idea of
making system tray icons scale with the panel thickness by default. Too
many people didn't consider it a visual improvement. People who do like
this setting can still enable it here if they want, but it's no longer
the default.
QDBusConnectionInterface::serviceOwnerChanged is obsolete. It was used
because there was no support for watchin on serviwes usign wildcard.
Starting from Qt 5.14 it is possible, so that using obsolete function is
no longer necessary.
startplamsa-wayland and startplasma-waylandsession are split so that
anything requiring an X or wayland connection happens in
startplasma-waylandsession anything else can happen in the first binary.
runStartupConfig and setting an env variable can happen before kwin. It
might even fix a bug if kwin used any calls that rely on QLocale.
FEATURE: 350066
FIXED-IN: 5.20
This will allow us to run queries like:
4x4
4x4,2
4x,2
But if we explicitly want the x to be interpreted as a
variable by qalculate we can run:
=4x*4
This existed to include the .kde directories in the search paths for
ghostscript, which clearly hasn't been the case for years, but the code
has kept getting ported and migrated.
At some point this has got broken, startplasma-x11 doesn't call this
path and we've not had any bug reports. We may as well clear this
legacy.
In a Plasma Wayland session, kscreenlocker_greet is started by kwin_wayland,
so it doesn't inherit $DISPLAY currently. Additionally, there might not even
be an Xwayland instance running.
Remove the only non-optional use of $DISPLAY and drop the requirement.
The refreshes are async and we were cleaning it up at the async trigger
and populating it at the end. This created an intermediate invalid state
which confused the item selection code.
This change moves all the refreshing into one reset call so the view is
only refreshed once.
This helps us keep the frontend code simpler by not having to refresh to
show momentarily invalid information.
Summary:
Wayland has an entire new protocol for getting and setting clipboard
when we don't have focus. Unfortunately this means reinventing
QClipboard from the QPA.
Not mergable as-is, especially the hardcoded line in CMakeLists but
uploaded to show direction.
It uses the newly agreed approach of using QtWayland generated classes
in clients directly rather than writing full pimpl API-fixed wrappers
first,
as ultimately that didn't really help do anything.
Code is written so that it can be moved to KWindowSystem if needed by
KDEConnect or others.
Test Plan: Copying and pasting all over the place
This begins the process of porting plasma-workspace to PlasmaComponents3. At
this point, only the relatively easy work is done. Every file not ported
now has been given the reason for still using PC2 in a comment on the import
line so you can see at a glance what the blocker is by running
`grep -r "org.kde.plasma.components 2.0"` in the repo.
Everything is tested and there are no breakages or functional regressions. In
the process, a few unused imports are removed.
Here are the remaining PC3 omissions blocking what's left from getting easily
ported:
- No Highlight
- No ListItem
- No PageStack
- No ContextMenu
- No QueryDialog
- No ModelContextMenu
- TabBar has no left and right tab states
- ToolButton has no built-in method to show a menu when clicked