plasmoid-updater
Updates KDE Plasma 6 components from KDE Store using a combination of Apdatifier's and KDE Discover's logic.
[!IMPORTANT] The core logic (a combination of Apdatifier and KDE Discover) was ported to Rust with AI assistance (Claude Code and GH Copilot). The code was audited and tested by me. Feel free to contribute with an issue or PR.
Requirements
- bsdtar, kpackagetool6
- Rust
Installation
From source with Cargo:
Binary release
Precompiled binary available on GitHub Releases.
Usage
)
)
Supported (Updatable) Components
| Component Type | KDE Store Category |
|---|---|
| Plasma Widgets (Plasmoids) | 705 |
| Wallpaper Plugins | 715 |
| KWin Effects | 719 |
| KWin Scripts | 720 |
| Global Themes | 722 |
| Plasma Styles | 709 |
| Aurorae Window Decorations | 114 |
| Color Schemes | 112 |
| Splash Screens | 708 |
| SDDM Themes | 101 |
License
Licensed under GPL-3.0-or-later.
Acknowledgments & Credits
This project was made possible by studying and learning from:
Apdatifier
Author: exequtic License: MIT License
Apdatifier is a KDE Plasma widget that monitors for updates to Arch Linux packages, Flatpak applications, and Plasma widgets. The widget update logic, version comparison algorithms, ID resolution fallback chain, and the widgets-id mapping table in this project are derived from Apdatifier's implementation.
Concepts taken from Apdatifier:
- 3-tier ID resolution strategy (name matching → KNewStuff registry → static lookup table)
- Version normalization and comparison algorithm
- Download link selection logic for multi-file packages
- Metadata patching approach for installation
KDE Discover
License: GPL-2.0-only, GPL-3.0-only, LicenseRef-KDE-Accepted-GPL
KDE Discover is the official software center for KDE Plasma. The understanding of KNewStuff registry file formats, kpackagetool6 usage patterns, and OCS API interaction in this project is based on studying Discover's source code.
Concepts taken from KDE Discover:
- KNewStuff registry structure (
.knsregistryfiles) - Installation flow via kpackagetool6
- OCS API v1.6 response format and status codes
Open Collaboration Services (OCS) API
The OCS specification defines the REST API used by the KDE Store (store.kde.org / api.kde-look.org).
This project is not affiliated with or endorsed by KDE e.V.