Jump to content

Sprints/Plasma/2025/Topics/Plasma tech stack: Difference between revisions

From KDE Community Wiki
Ngraham (talk | contribs)
No edit summary
 
(3 intermediate revisions by one other user not shown)
Line 13: Line 13:




== Guidelines on what should live where, and why ==
== Plasma repo audit ==
When considering to merge things, consider dependencies, what wants or needs to be in our Flatpak runtimes, and build times.
When considering to merge things, consider dependencies, what wants or needs to be in our Flatpak runtimes, and build times.


Line 28: Line 28:
* Pico Wizard: archive it
* Pico Wizard: archive it
* polkit-kde-agent: merge into workspace
* polkit-kde-agent: merge into workspace
=== kde-clit-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




Line 36: Line 74:
== Visual theming using QML ==
== Visual theming using QML ==
Want to remove themable QML code from Global Themes. Removed Lock screens and OSDs so far; remaining things:
Want to remove themable QML code from Global Themes. Removed Lock screens and OSDs so far; remaining things:
# OSD
# SystemDialog
# SystemDialog
# Logout Greeter
# Logout Greeter
# Splash Screens
# Splash Screens

Latest revision as of 08:27, 24 April 2025

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-clit-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:

  1. OSD
  2. SystemDialog
  3. Logout Greeter
  4. Splash Screens