This commit overhauls the repository structure such that it separates
the project into multiple repositories, one for each subproject. This
repository will be moved to the AeroShell group, and most importantly,
the installation method changes from locally installed modifications, to
CMake-based installation, in preparation for AUR packages, and possibly
packages for other distros.
Migration details are in INSTALL.md, which are highly recommended, if
not required to uninstall any old instance of AeroThemePlasma.
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.
When running compile scripts, you can now pass --ninja to enable Ninja.
This argument also works with the following scripts:
- compile.sh
- install_plasmoids.sh
When running compile.sh, you can now pass --wayland to build the KWin
effects for Wayland. By default effects will be built for X11. This
argument also works for install.sh and install_ninja.sh scripts for
KWin effects.