Sprints/Plasma/2025/Topics/Plasma tech stack
New applet loading mechanism
Fancy new CMake thing to do everything
Got a live demo of how it works
QML magic
Context properties and accessing items from other files using their IDs is bad; try to stop doing it.
QML LSP and linting help us see them at least.
Need to just fix things one at a time as we see them.
Plasma repo audit
When considering to merge things, consider dependencies, what wants or needs to be in our Flatpak runtimes, and build times.
Conclusions:
- Kactivitymanagerd: merge into plasma-workspace
- Breeze*: merge together
- KDE CLI Tools: clean it up, merge it somewhere
- KDE GTK Configurator: merge somewhere?
- KSSHAskPass: merge into workspace
- KWriteD: merge into plasma-desktop
- Lancelot: archive it
- Milou: move components into KRunner, and widget into plasma-workspace
- Oxygen* merge together
- Pico Wizard: archive it
- polkit-kde-agent: merge into workspace
kde-cli-tools
- kbroadcastnotifcation
- broadcast notification on system bus - listening side disabled by default in plasma-workspace
-kdeeject
- runs eject and shows a dialog on error - kill it
- kde-inhibit
- alright
- kdesu
- running gui applications as root - nobody should be using this anymore in this day and age - used in kio for substituteUid - can maybe rewrite to use pkexec
- keditfiletype
- like the systemsetting thing - surprising amount of code - it IS the kcm - move it somewhere sensible - the executable is needed for kmimetypechooser - it could instead launch the kcm
- kinfo
- this should live in kinfocenter
- kioclient
- makes sense, could it live with kio? - also compiled as kdecp and kdemv
- kmimetypefinder
- used by xdg-mime - everythign standard now, maybe could be replaced in xdg-utils by mimetype
- kstart
- is fine
- kvgtopng
- used by kwrite and kate
- plasma-open-setting
- scheme handler for systemsettings url
QMLformat
Changes are fine-ish now; let's try it out in NeoChat as a pilot project.
Visual theming using QML
Want to remove themable QML code from Global Themes. Removed Lock screens and OSDs so far; remaining things:
- OSD
- SystemDialog
- Logout Greeter
- Splash Screens