Introduction
Today (as of this writing) is a celebration of America's independence from the British empire. Having looked back and attempted to use the program as a desktop wallpaper, the compiz-free way of doing things no longer works since shantz-xwinwrap
(precompiled) is nowhere to be seen, except maybe through some Google Code archive, and even then it's broken; not working without considerable extra effort, which appears to be more bother than its worth versus currently-available methods.
So today before night falls on this side of the United States, figured I would write about it for people to do last-second on their systems to have a fancy animated desktop background with awesome fireworks on their display, if they don't feel like (or cannot) set any off in the real world.
Do note, this can apply to anything and everything on your system, however we're highlighting just one program in particular;
Fireworkx
.
Installation
It will be assumed you want a graphical interface for this, unfortunately that doesn't come too easily. Details below.
For this to work, you will need a couple packages which are available to you now, and a couple more which may not be immediately available depending on your version of Ubuntu. If you have Ubuntu MATE 16.04, you're good to do this right now without issues!
In
x-terminal-emulator
, only if on Ubuntu 16.04:sudo apt install xscreensaver-data-extra devilspie gdevilspie
![]()
python-wnck
is called as a dependency forgdevilspie
.
Otherwise, you'll probably have to fetch only these packages because the rest aren't available to you:
In
x-terminal-emulator
, For everybody else...sudo apt install xscreensaver-data-extra devilspie
If it so happens you have to do the latter because gdevilspie
isn't available to you, it and its dependency is available in the Ubuntu package archive for Xenial. Download the build for your system architecture and install using either apt
or dpkg
;
python-wnck
(architecture-dependent)
gdevilspie
(all architectures)
How to install these packages
For brevity,
~/Downloads
is assumed.
In
x-terminal-emulator
:
The
apt
way:sudo apt install ~/Downloads/python-wnck*.deb ~/Downloads/gdevilspie*.deb
This assumes you have only one copy of the packages above. If multiple (multiple instances of
python-wnck
for instance) tab-complete to the specific one you need!
The
dpkg
way:sudo dpkg -i ~/Downloads/python-wnck*.deb ~/Downloads/gdevilspie*.deb
Same warning from above applies here too!
Setting it off
After having installed these additional external packages, you should be able to run gdevilspie
and have it work. But before you continue, do this first;
In
x-terminal-emulator
:/usr/lib/xscreensaver/fireworkx &
That's nice and all, but wouldn't it be awesome to have it be used as a desktop wallpaper? If you had followed the above then yes, you can do that. Open gdevilspie
and create a new rule. In this new rule specify as follows:
- Matching
- window_class
- match(es)
Fireworkx
Don't check "does not"!
- match(es)
- window_class
- Actions
- Undecorate
- Fullscreen
Does what Maximize does, no need to enable it.
- Stick
- Below
With the above configured, choose to start devilspie and any instance of Fireworkx will open full-screen, below all other windows, and stuck to all viewports (which means, every workspace should have it.) Feel free to play with this as you like! If you want instructions on how to do this for Compiz, it's mostly the same stuff except instead you're installing ccsm
if you don't have it and using the Window Rules plugin to configure how class Fireworkx is manipulated. More than enough examples browsing through ccsm
to figure this out on your own.
Keeping only Fireworkx
If you only wanted Fireworkx and didn't want the other cruft which came with Xscreensaver extras, you can very easily put the fireworkx
executable binary elsewhere and choose to run from wherever you put it. Simply copy it to somewhere in your home folder and run this once you have done that:
In
x-terminal-emulator
:sudo apt purge xscreensaver*
If you have issues using regex because of your shell configuration, define specifically
xscreensaver-data
andxscreensaver-data-extra
.
Then just execute fireworkx
from where you put it and it'll work just as well.