Contributing¶
Thanks for your interest in contributing to KVitals!
Getting Started¶
- Fork the repository
- Clone your fork:
- Install locally for development:
Development Workflow¶
Making Changes¶
- Edit files in the project directory
- Reinstall and test:
- Check for QML errors:
Fast Iteration
You don't always need to restart plasmashell. For config-only changes, just reopen the settings dialog. For QML changes, a restart is required.
Adding a New Metric¶
- Sensors — Find the relevant
org.kde.ksysguard.sensorssensor ID usingkstatsviewer - Settings — Add checkbox to
configMetrics.qml, icon picker toconfigIcons.qml - UI — Add property bindings and model entry in
main.qml
Note
Don't forget to add a default icon name for the new metric in configIcons.qml's reset button handler.
Adding a New Setting¶
- Add the entry to
contents/config/main.xmlwith a default value - Add the UI control to the appropriate config tab (
configGeneral.qml,configMetrics.qml, orconfigIcons.qml) - Bind the value in
main.qmlviaPlasmoid.configuration.<key>
Pull Requests¶
- Create a feature branch:
git checkout -b feat/my-feature - Make your changes and test locally
- Ensure ShellCheck passes
- Push and open a PR against
master
Commit Messages
Use conventional commits for clear history:
feat:— New featurefix:— Bug fixchore:— Maintenancedocs:— Documentation
Code Style¶
- QML — Follow KDE's QML conventions, use
Kirigamicomponents where possible - Commits — Use conventional commits:
feat:,fix:,chore:,docs:
Reporting Issues¶
When filing a bug report, please include:
- KDE Plasma version (
plasmashell --version) - Linux distribution and version
- Whether you're using Intel or AMD CPU
- Relevant journal output (
journalctl -b | grep kvitals)