The toplevel menu is positioned using the plasmashell protocol.
For QtWayland to create popups we need a input serial. The input serial
is manually set to the enter one for creating poups.
BUG:430662
FIXED-IN:5.23
KIO is important for a full plasma experience. KIOExtras especially for
the thumbnails that we use within plasma-workspace and is something we
have had reports about.
this fixes l10n integration magic from ECM (KDE_L10N_SYNC_TRANSLATIONS,
KDE_L10N_AUTO_TRANSLATIONS) that download the po dir into the build dir
for git builds.
ki18n_install is looking for po dirs and not doing anything when it
can't find any. so, by default this changes nothing. when used with the
aforementioned options it enables translation building for git builds.
for tarball builds this has no negative impact since releaseme is smart
enough to check if a cmakelists already contains the ki18n call before
append its own.
Add explicit find_package() and #include's that are required and were
pulled in by KDELibs4Support.
krdb: remove one redundant #include, KColorUtils
kcm_fonts: send dbus message directly to org.kde.KDEPlatformTheme to
'refreshFonts'
kcm_style:
- use KToolBar::emitToolbarStyleChanged() to notify of toolbar style changes
For the rest use the notifyKcmChange() private method to send the dbus
signal.
[1] https://invent.kde.org/frameworks/kdelibs4support/-/blob/master/src/kdeui/kglobalsettings.cpp#L860
It was initially designed so the systemd boot would be at compile time,
but then we ported to it being a configuration option.
A stray config option that does nothing got left.
For distributions aiming to ship the Wayland session by default, allow
the Wayland session file to be installed as "plasma.desktop". Otherwise,
revert to status quo where the X11 session is installed as "plasma.desktop".
This time around, ensure that CMake stanza is correctly filled out.
This fixes commit b93a06395e.
This reverts commit a6b2891186.
For distributions aiming to ship the Wayland session by default, allow
the Wayland session file to be installed as "plasma.desktop". Otherwise,
revert to status quo where the X11 session is installed as "plasma.desktop".
This reverts commit 5926da56e5.
This commit breaks configuration with a CMake error. Please test your
changes before pushing.
CCMAIL: butirsky@gmail.com
7bd9bea072 started using Prison
unconditionally via QML import. So if Prison isn't installed the
clipboard applet stops working, complaining that "org.kde.prison is
not installed".
While it would certainly be possible to add another call to
"find_package(KF5Prison)" with TYPE RUNTIME, the result in
feature_summary would be very confusing, because OPTIONAL has a higher
priority and the runtime hint would vanish if you build with e.g.
-DCMAKE_DISABLE_FIND_PACKAGE_KF5Prison=TRUE.
Summary:
This brings numerous advantages such as:
- easier admin configuration with drop-ins, overrides and multiple
hooks throughout (and only having to learn one tool)
- session cleanup on exit, avoiding that occasional part where shutdown
hangs
- startup that actually knows when things are up
- race free autostart and DBus activation at once
- logs that rotate are split by service and usable
- resource management through slices and cgroups (the part I want)
Over the past 2 years I've been trying to tidy up and encapsulate the
relevant parts of startup into the binary plasma-session so that we can
just runtime swap out that one part and supporting both paths will be
easy.
Support is toggleable via cmake flag, as it seems like it should be a
distro decision, especially as we will require a specific systemd with
the xdg-generator.
KDED/kwin/other services are attached to the relevant repo.
Task T11914
Differential Revision: https://phabricator.kde.org/D28305
squash
When we moved fonts kcm to this repository this find_package call was
missing appearantly since this was not in top-level KCM(!).
Add this find_package call here, so it finds it correctly and fonts kcm
and kfontinst gets built correctly
As discussed in https://mail.kde.org/pipermail/plasma-devel/2020-August/118263.html we agreed that requiring C++17 in Plasma is fine.
There's no code that actually uses C++17 features yet, but specifying the requirement anyway has advantages.
1) It documents the policy in a much more discoverable place than a wiki page or similar could do
2) Building in 17 mode allows the compiler to do some stuff implicitly, like guranteed copy elision
We currently need the lookandfeel and style kcm in plasma-workspace, but
appearantly they depend on the krdb so best solution is to move all kcms
together
They are taken from plasma-desktop at the commit :
8447c08e878ccbde9c5516ba8a912993ea199cb9
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