- Shell 61%
- JavaScript 29%
- QML 10%
Dashballs #
Plasma 6 wallpaper plugin: floating vector balls with light physics, matching the Dash wallpaper.
Repository: https://tangled.org/bitbra.in/dashballs
The default installation enables the animation on both the lock screen and the Plasma Login Manager greeter. The desktop stays on the static Dash image.
On KDE Plasma there is no separate xscreensaver-style app; the animated background shows when the session locks (Meta+L or idle timeout).
Features #
- GPU vector circles — sharp at 4K and any DPI
- Three sizes (63 / 125 / 160 px at 4K short edge), scaled to
min(width, height) - Dash palette: base
#0E1013, red / blue / green / yellow - Spawned as L+M+S clusters with distinct colors (no same-color neighbors at spawn)
- Elastic ball–ball collisions, wall bounces, soft center keep-out
Install #
./install.sh
The default --all mode:
- installs the wallpaper plugin for the current user's lock screen
- layers the system plugin RPM for the pre-login greeter
- promotes Ubuntu fonts from
~/.local/share/fonts/ubuntuto/usr/local/share/fonts - configures the
plasmaloginaccount to use Ubuntu
Reboot after the RPM is layered. Then test the login greeter by logging out and the lock screen with Meta+L.
Ubuntu Regular, Medium, Bold, and italic TTF files must already be installed in ~/.local/share/fonts/ubuntu.
From a release artifact #
Download the latest release from Tangled, then install the Plasma plugin archive:
kpackagetool6 --type Plasma/Wallpaper --install dashballs-1.0.0.tar.gz
On Fedora, install the system package instead:
sudo dnf install dashballs-1.0.0-1.fc44.noarch.rpm
Uninstall #
./uninstall.sh
Restores static Dash on lock screen and login greeter, restores the previous greeter font configuration, and removes the promoted font copies. Reboot after removing the layered RPM.
Other modes #
./install.sh --user # plugin only (e.g. desktop preview)
./install.sh --lock # lock screen only; keep a static login background
./install.sh --system # login screen and system plugin only
Release #
Version is defined in metadata.json. Release builds are produced by:
./build-release.sh
This writes to dist/:
dashballs-<version>.tar.gz— Plasma wallpaper plugin archivedashballs-<version>-<release>.noarch.rpm— system package for Plasma Login Managerdashballs-<version>-<release>.src.rpm— source RPMSHA256SUMS
Tagged releases are built and published automatically by Tangled Spindle when an annotated tag matching v* is pushed, for example:
git tag -a v1.0.0 -m "Dashballs 1.0.0"
git push origin v1.0.0
The tag must match the metadata version exactly (v1.0.0 for version 1.0.0).
Tangled workflow secrets #
Configure these under Settings → Secrets in the Tangled repository:
ATP_APP_PASSWORD— app password for publishing release artifactsATP_PDS— optional, defaults tohttps://tngl.shATP_IDENTIFIER— optional, defaults tobitbra.in
Layout #
metadata.json
contents/ui/main.qml
contents/ui/Ball.qml
contents/js/physics.js
packaging/dashballs.spec
build-release.sh
build-rpm.sh
install.sh
uninstall.sh
.tangled/workflows/release.yml
Plugin id: org.bitbrain.dashballs