jeffshee/gnome-ext-hanabi
JavaScriptLive Wallpaper for GNOME
npm install gnome-ext-hanabiLive Wallpaper for GNOME
Hanabi θ±η«γγ―γͺγ³γ(n) fireworks
( γ»Ογ»)oββγ»*:'γ»:γ»γ'γ»:β»
GNOME Shell Extension - Hanabi
If you like my project, please consider buying me a coffee!! (βΛ κ΄ Λβ)ο½―
Also please don't forget to hit that star button! π
Feel free to open an issue for problems or suggestions π€
Your support is truly appreciated!
Join our Discord!
Demo π½οΈ
Please click on the image to view (redirect to YouTube)
Hanabi is migrating to TypeScript!
[!IMPORTANT] Moving to TypeScript for better type safety and maintainability~ β¨
Active development now happens on the
typescriptbranch β GNOME 50+, Wayland only β merging into the main branch on July 15, 2026.Until then, the main branch stays on JavaScript so existing community packages and their CI builds keep working through the transition. The
javascriptbranch enters maintenance mode β bugs still get fixed, but no new fireworks there. (γ»Ογ»)γ
GNOME Shell Support
| Version | 42β44 | 45β50 | 50+ |
|---|---|---|---|
| Status | β οΈ | β | β |
| Branch | legacy |
javascript |
typescript |
[!TIP] On GNOME 50? You're encouraged to give the TypeScript version a try!
Installation
- Clone the branch for your GNOME Shell version
GNOME 50 and later (TypeScript, Wayland only) π₯
git clone https://github.com/jeffshee/gnome-ext-hanabi.git -b typescriptGNOME 45β50 (JavaScript, X11 and Wayland)
git clone https://github.com/jeffshee/gnome-ext-hanabi.git -b javascript
Run the installation script
cd gnome-ext-hanabi make installBuild dependencies
typescriptbranch:meson,node, andnpmjavascriptbranch:meson
Restart GNOME Shell
Enable the Hanabi extension
Choose your video wallpaper in the extension preference window
Distro-specific Guides
See the distro-specific guides for installation instructions.
Troubleshooting
The video doesn't play / The extension is enabled but nothing happens
The GTK4 media backend is not pre-installed on some distributions (such as PopOS).To install the backend:
sudo apt install libgtk-4-media-gstreamerHigh CPU usage during video playback (proprietary NVIDIA)
Your hardware acceleration may not work properly, see this issue.To delete the GStreamer cache:
rm -rf ~/.cache/gstreamer-1.0/
After that, check ifgst-inspect-1.0 nvcodecreports all its features.Blur My Shell β wallpaper becomes semi-transparent
If you use the Blur My Shell extension with Applications β Applications blur β Enable all by default turned on, add an exception for the Hanabi renderer.In Blur My Shell settings, go to Applications β Applications blur β Blacklist and add:
io.github.jeffshee.HanabiRenderer
Advanced Usage
Video backend selection & scripting
Hanabi uses gtk4paintablesink (from GStreamer) as the default video sink, which offers good performance and broad compatibility.
Optionally, clappersink from Clapper can be used instead via Preferences β Developer β Prefer clappersink. Clapper must be installed from the package manager and not from Flatpak/Snap for this to work.
There is a known compatibility issue with
clappersinkon native installs with GStreamer 1.26+. If you encounter crashes after enabling this option, please disable it.
For more advanced customization, learn how to write scripts for Hanabi extension!
Check out the scripting guide for detailed instructions and examples.
Get Involved π
Contributors are welcome! Let's make Hanabi extension better together~
Development
See the development guide for instructions.
Translation
If you're interested in translating, you can help on Hosted Weblate.
Contributors β¨
Made with contributors-img.
Icons made by Freepik from Flaticon
