Skip to content

uwuclxdy/plasmoid-updater

Repository files navigation

plasmoid-updater

Updates KDE Plasma 6 components from KDE Store using a combination of Apdatifier's and KDE Discover's logic.

Supported 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

Requirements

Installation

Using Cargo (Rust package manager) – recommended:

cargo install plasmoid-updater

From source:

git clone https://github.com/uwuclxdy/plasmoid-updater
cd plasmoid-updater
cargo build --release

Precompiled binaries also available on Releases page.

Usage

$ plasmoid-updater --help
Usage: plasmoid-updater [OPTIONS] [COMMAND]

Commands:
  check           check for available updates
  list-installed  list all installed components
  update          update components

Options:
      --system       operate on system-wide components (requires sudo)
  -v, --verbose      enable verbose output
      --json         output results as json
      --edit-config  open configuration file in editor
  -h, --help         Print help
  -V, --version      Print version

$ plasmoid-updater update --help
Usage: plasmoid-updater update [OPTIONS] [COMPONENT]

Arguments:
  [COMPONENT]  component name or directory to update

Options:
      --restart-plasma     automatically restart plasmashell after updates
      --no-restart-plasma  do not restart plasmashell after updates
  -y, --yes                automatically confirm all updates without prompting
      --system             operate on system-wide components (requires sudo)
  -v, --verbose            enable verbose output
      --json               output results as json
  -h, --help               Print help

Reporting Bugs

This program is in its early stages, please open a GitHub issue for any bugs that you may find.


License

Licensed under MIT OR Apache-2.0.

Acknowledgments & Credits

This project was made possible by studying and learning from:

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

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 (.knsregistry files)
  • 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.