A frameless, transparent KDE Plasma 6 applet that renders any local Three.js HTML file directly on your desktop via QtWebEngine.
- Fully transparent — sits directly on your wallpaper, no panel frame
- Load any HTML/Three.js file from a local widget library
- Switch between widgets from the config panel or right-click menu in edit mode
- Width/height configurable per-instance
- Right-click in edit mode: Next Widget / Previous Widget / Reload
- KDE Plasma 6
qt6-webenginepackage installed
Search "ThreeJS Widget Viewer" in Add Widgets → Get New Widgets.
git clone https://github.com/numbpill3d/threejs-widget-viewer
cd threejs-widget-viewer
bash install.shCreate ~/.config/plasma-workspace/env/webengine.sh containing:
export QTWEBENGINE_CHROMIUM_FLAGS="--no-sandbox"
export QML_XHR_ALLOW_FILE_READ=1Then log out and back in. These are required for WebEngine to load local HTML files inside Plasma.
-
Drop your
.htmlfile into:~/.local/share/plasma/plasmoids/com.xenotrek.threejs-viewer/contents/widgets/ -
Add an entry to
manifest.jsonin that folder:{ "name": "My Widget", "file": "my-widget.html" } -
Right-click the plasmoid → Configure → select it from the dropdown.
No restart needed.
- Use
body { background: transparent; }in your widget CSS for true transparency - Three.js CDN works fine:
https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js - The plasmoid injects a transparency override on load so even widgets without transparent bodies will render cleanly
GPL-2.0-or-later
