Skip to content

jeffshee/gnome-ext-hanabi

Repository files navigation

Live Wallpaper for GNOME

Hanabi 花火【はなび】(n) fireworks

( ・ω・)o─━・*:'・:・゜'・:※

Gnome Shell Extension - Hanabi

If you like my project, please consider buying me a coffee!! (⁎˃ ꇴ ˂⁎)ッ

Github-sponsors Ko-Fi BuyMeACoffee

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!

Discord

Demo 📽️

Please click on the image to view (redirect to YouTube)

Wallpaper used in demo

GNOME Shell Support

Version ≤41 42 43 44 45 46
Status

See also the section Troubleshooting, for version-specific known issues.

Installation

  1. Clone the repo
  • For GNOME 45 and later
git clone https://github.com/jeffshee/gnome-ext-hanabi.git
  • For GNOME 44 and earlier
git clone https://github.com/jeffshee/gnome-ext-hanabi.git -b legacy
  1. Run the installation script (Require meson)
cd gnome-ext-hanabi
./run.sh install
  1. Restart GNOME Shell
  2. Enable the Hanabi extension
  3. Choose your video wallpaper in the extension preference window

Distro-specific Guides

Troubleshooting

  1. 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-gstreamer

  2. High 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 if gst-inspect-1.0 nvcodec reports all its features.

  3. The GNOME Shell keeps crashing after enabling Hanabi, help!
    You can try to disable the extension from tty ( Ctrl + Alt + F3 ):

    gnome-extensions disable hanabi-extension@jeffshee.github.io
    

Optimization

Hanabi extension can utilize clappersink from Clapper for the best performance if installed.

For this to work, Clapper must be installed from the package manager and not from Flatpak/Snap.

Performance comparison
  • With clappersink

  • Without clappersink (Using Gtk.MediaFile as default fallback)

Advanced Customization

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~
If you're interested in translating, you can help on Hosted Weblate.

Translation Status

Translation status

Contributors ✨

Made with contributors-img.
Icons made by Freepik from Flaticon