Replaces org.kde.plasma.systemtray with io.gitgud.wackyideas.systemtray.
The plasmoid now also needs to be compiled, and is also now the default
for ATP's session and layout templates.
This version of the system tray is also searchable in the gadgets window
for easier layout management. Everything else about the tray should be
largely the same as it was before.
This should make the login entries work properly for the distro they are
generated on. Works on Arch-based distros and Debian distros, and should
also work fine for Fedora.
This commit fully forks the notification plasmoid, moving away from
upstream KDE code. Additional changes include:
- Using Plasma 6.5 code as a base for the notifications plasmoid
- As a result, the plasmoid uses the new way of packaging plasma applets
which improves performance but requires building the plasmoid from
source
- Full control over the C++ codebase of the plasmoid, besides
LibNotificationManager which is still an external dependency
- The thumbnail preview component has been visually overhauled
- Added the ability to go through all URLs included in the thumbnail
preview instead of just showing the first URL preview
- Hovering over any URL preview will show the full URL or shortened name
if possible in a tooltip
This is a big update which requires existing users to migrate their
desktop setup (Plasmoids, their configurations, layout changes, etc.) to
a new desktop session.
This commit replaces the modified desktop shell (org.kde.plasma.desktop)
with ATP's shell (io.gitgud.wackyideas.desktop) which requires new
session options. This is similar to how plasma-bigscreen and
plasma-mobile are used - logging into a separate session via the login
manager (SDDM). ATP will provide sessions for both X11 and Wayland.
This, along with now providing a forked panel as well, is a step forward
regarding separating ATP's codebase and KDE's upstream code. Further
goals are to be able to further isolate the ATP session from the regular
KDE session in terms of shared configurations, etc.
For existing users - Rerun install_plasmoids.sh and
install_plasma_components.sh, you can delete the old shell
(shells/org.kde.plasma.desktop) and panel plasmoid
(plasmoids/org.kde.panel). As mentioned previously, panel and desktop
layouts, plasmoids and their configurations will not be migrated to the
newly available sessions, so they need to be set up manually.
Up until now compiling libplasma modifications was rather violent as it
would cause both plasmashell and kwin to crash (the latter is
potentially destructive if running a Wayland session), leaving the user
with a potentially unstable state where plasmashell will start to
crashloop until the entire system reboots.
With this commit, the replacement of patched library files is deferred
until the system restarts, by using a temporary systemd service that
performs the replacement of files before Plasma starts, leading to
no crashes during the install or update process.