I’ve been using different versions of Enlightenment since I started using Linux, about 17 years ago. It’s by far my favourite desktop environment, always pushing the envelope in UI design and visual bling. Some of the more interesting features for an end user is the complex interactive UI components that can be easily assembled. These are defined in ‘edc’ files, which have named components, mouse events, and ‘programs’ for animation and other tasks, and probably lots more – I’m certainly no expert, but I dabble.
I’ve designed a few animated backgrounds over the years ( which I really should add to the downloads section here ). Recently I bumped into some amazing animated gifs over at Extreme Instability.
( I’ve had to remove a direct link to an image on the above site – apparently that’s not cool with them? )
I immediately wanted them as animated backgrounds. So I downloaded a couple of gifs, and loaded them up as backgrounds, but Enlightenment only loaded 1 frame – I guess it doesn’t natively support animated gifs. So I set off figuring out how to split the gif into png frames, and then went back to my older animated backgrounds to figure out how I’ve built animated backgrounds before. Faced with so many of these beautiful storm animations to choose from, I then thought what was really needed was a script to convert animated gifs into Enlightenment edj files. So here it is:
And here’s the result:
Here’s what the script does:
- uses imagemagick’s “convert” utility to split the animated gif into a series of png frames
- assembles an edc file with the relevent png frames inserted into it
- calls edje_cc to compile the edj object
- copies the edj object into your ~/.e/e/backgrounds folder
My bash scripting is kinda basic. I use Perl for everything mildly more complex, but it seemed overkill for this.