Bitcoin Price widget v1.0.0: Plasma 5 applet (EUR via CoinGecko, trend-kleuren, config interval min 5 min)

This commit is contained in:
ArnoldCordewiner
2026-09-05 19:26:24 +02:00
commit e3934f33b6
7 changed files with 327 additions and 0 deletions
+77
View File
@@ -0,0 +1,77 @@
# plasma-bitcoin-price
KDE Plasma 5 widget die de bitcoinprijs in EUR toont, opgehaald bij de
[CoinGecko API](https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=eur).
## Weergave
| Situatie | Weergave |
|---|---|
| Prijs gestegen t.o.v. vorige meting | groen |
| Prijs gedaald t.o.v. vorige meting | rood |
| Prijs gelijk gebleven (of eerste meting) | grijs |
| API-fout (netwerkfout, 4xx/5xx, rate limit 429) | `--` |
Formaat: `₿ 68.969 €` — duizendtallen volgens de systeemlocale, afgerond op hele euro's.
## Configuratie
- **Vernieuwinterval (minuten)** — standaard 5, minimaal **5**, maximaal 1440.
Het minimum van 5 minuten komt door de CoinGecko rate limit van 1 call per 5 minuten.
Instelbaar via rechtsklik op de widget → *Configureer Bitcoin-prijs**Algemeen*.
## Installatie
### Grafisch
Dubbelklik op `dist/bitcoin-price-1.0.0.plasmoid` in Dolphin (Plasma installeert
dan automatisch naar `~/.local/share/plasma/plasmoids/`).
### Terminal
```bash
kpackagetool5 --type Plasma/Applet --install dist/bitcoin-price-1.0.0.plasmoid
# widget toevoegen via Add Widgets; bij twijfel plasma herladen:
plasmashell --replace &
```
Verwijderen:
```bash
kpackagetool5 --type Plasma/Applet --remove nl.a14r.bitcoinprice
```
## Notities
- De API-URL gebruikt `vs_currencies=eur`. In de oorspronkelijke opdracht stond
een `usd`-URL, maar de eis was "prijs t.o.v. de euro" met een `€`-teken; een
dollarwaarde onder een €-teken zou foutief zijn.
- De trendvergelijking gebeurt tegen de laatst bekend geraakte prijs. Na een
API-fout blijft die referentie staan, zodat de kleur klopt zodra er weer
data binnenkomt.
- Zonder CoinGecko API-key kan de API ook tussendoor een 429 geven; de widget
toont dan `--` tot de eerstvolgende geslaagde poll.
- Getest op Debian 12 / Plasma 5 (Qt 5.15). Plasma 6 werkt vermoedelijk ook,
maar is niet getest.
## Repository-layout
```
metadata.desktop
contents/
├── config/main.xml # config-schema (refreshMinutes, min 5, max 1440)
└── ui/
├── main.qml # widget + fetch/vergelijk-logica
├── config.qml # configuratievenster (categorieën)
└── configGeneral.qml # interval-instelling
```
Het kant-en-klare installatiebestand (`bitcoin-price-1.0.0.plasmoid`) staat als
bijlage bij de [v1.0.0-release](../../releases/tag/v1.0.0).
Zelf (her)packagen:
```bash
zip -r bitcoin-price.plasmoid metadata.desktop contents
```
## Licentie
MIT — zie [LICENSE](LICENSE).