Hi all!

Back again. This time, without any theme advice and tips, but instead I give you Keys! Its a python-efl based on screen keyboard. I really needed an on-screen keyboard for my Aspire One and illume is madness for a desktop/laptop type machine. Onboard is a great little app written in python and quite function all, but sadly, its ugly as sin. After about a week of learning python, I hacked together this little app! Its 80 lines of python mixed with 300 lines of edje, so you can tell that its VERY heavily based on edje and that means you can change a lot of things about it without any need to know python.

The gritty info about it, is that it waits for the edje to send a clicked signal with the keycode attached then fires that out. Simple. VERY simple. You will need to compile some of the python-efl modules though. These are python-evas, python-ecore, python-edje. Also required is the virtkey python module. The size of the whole package is a whopping 600kb, but that’s mainly due to the font. If you use a fixed sys font, I’m sure you could get it under 100kb.

To check it out,

svn co http://svn.enlightenment.org/svn/e/trunk/PROTO/keys

And some eye-candy…

2 copied of Keys running to show the Shift function and resize capabilities.

2 copied of Keys running to show the Shift function and resize capabilities.

That’s it from me for now. I’m busy filling E17 with some icons. Very tedious work. Would much rather be hacking away at some crazy edje thing. Anyway…






Hey all,

Im up to my old tricks again, making some neat things for you to tinker with! This time Ive added to the Inspire wallpaper and added some stuff to make scaling easier. What that means to us artists, is that our work stays at the correct aspect when displayed on widescreen or standard displays. This is something that normal pixmap backgrounds obviously can not do, so we might as well use the tools we have!

Remember, this is only a demonstration of what can be done with these layers and parts. There are a multitude of things to play with in edje.

Lets get started! Firstly, fire up GIMP and create a new image at 800 x 600. (This resolution is only used for demo purposes) I created 4 layers. The base is the Blue galaxy swirl thing. This will layer be stretched to fill all the space. The next 2 are the corner graphics on their own separate layer. The last layer on top is the E logo, but you could swap this for anything, or scrap it entirely.

All the layers in Blast. These become edje parts later.

All the layers in Blast. These become edje parts later.

Next, save each layer as a separate image. This can be done by making the target layer the only visible one then saving and repeating the process. You might be able to Save Layer As… in GIMP 2.6, but I haven’t checked it out yet. Once you have all the layers separated, open them again and resize them to save some space. Things like E logo need to be in the dead centre of the image to centre correctly later.

Now comes the super fun code part! Heres the .edc from Blast. Its already commented so read on!

collections {
   group { name: "e/desktop/background";
      // Lets make a wallpaper that will SCALE well!!! Because not everyone
      // has the same screen aspect these days. There are a couple ways to
      // get this to work. In this exmaple it keeps the objects at all the
      // same sizes so that no scaling happens.
      // All min and max sizes are taken from their respective image properties
      images {				// Include all files from the XCF 
	 image: "Scaled.png" COMP;
	 image: "LeftBit.png" COMP;
	 image: "RightBit.png" COMP;
	 image: "ELogo.png" COMP;
      parts {
	 part { name: "Scaled";
	    description { state: "default" 0.0;
	       image.normal: "Scaled.png"; // Make it fill all the space
	 part { name: "LeftBit";
	    description { state: "default" 0.0;
	       align: 0.0 1.0;		// Align left and at the bottom.
	       min: 334 314;		// Set the min size and...
	       max: 334 314;		// max size so it wont scale.
	       image.normal: "LeftBit.png";
	 part { name: "RightBit";
	    description { state: "default" 0.0;
	       align: 1.0 0.0;		// Align Right and at the top.
	       min: 260 284; 		// Set the min size and...
	       max: 260 284;		// max size so it wont scale.
	       image.normal: "RightBit.png";
	 part { name: "ELogo";
	    description { state: "default" 0.0;
	       min: 165 224;		// The absence of an align: will
	       max: 165 224;		// make the image centred.
	       image.normal: "ELogo.png";

Next you need to compile it up using ‘edje_cc blast.edc’ then import the picture from the Wallpaper selector. You should have a well scaled wallpaper that preserves your efforts for all screen sizes.

Here are some links to the wallpaper at a few different sizes for comparison.

1650×1080 (My Desktop)

480×640 (Embedded style display)

Wallpaper Selector

And here is the all important EDJ file for you to take home and study!



Hey folks,

Recently, Ive been reminded that there are a huge amount of people out there with colour blindness. There are also many types of colour blindness. So to cater for these people, designers must often stick to a restrictive palette and hinder the overall production of the theme.

I give you, “Grunge“.

Wait a sec… you already have Grunge? Well yes… Ive tweaked it so now you can recolour a lot of the “Bloodsplats” to be whatever you like. Be its an electric blue paint splat, a flouro green alien blood splat, a pink splotch, or leave it the way it is.

How’d I do that? With Edje!!! Woohoo! Specifically tho, here are some of the steps.

  • Create a colour class for your images. [I chose “Grunge_active” and “Grunge_default” to highlight the 2 different states the images go to.]
  • Use GIMP, Edje Editor, Inkscape or anything that can give you R G B A colour values. [eg. 255 255 255 255]
  • Put your colour in the colour class.
  • Set the images to use the colour class. Like this.

description { image { normal: “white.png” } color_class: “Blah”; }

  • Ensure the image used is white and black. Colours in the image will get altered and look weird. (unless you want weird!)
  • Save, compile, and run the theme.
  • Run in a terminal “enlightenment_remote -color-class-color-set Blah 50 200 50 255” to set the colour class named “Blah” to a light green.
  • Read the other -color-class options in enlightenment_remote to really get a hang of it.

Thats about it. When we grant more power to users in themes, we get to involve them in more in E. Thats nothing but a winning formula for but E and the users.



Im going to take a moment aside from Edje for a moment and call out to everyone to help move bugs from bugzilla over to trac, to keep all the development in 1 place. I wrote a small guide on the link below on how to participate. It would mean a lot if everyone moved maybe 1 or 2 bugs across, and you will be doing something very supportive of the community!

Bug Wranglers Enquire Within.



After some time, Ive made a bunch of tools to make theme writing a bit easier for myself. Its now time to put all these tools in 1 place for people to access. Ive added most of these tools to the E wiki already, but I thought it would be a good idea to box it all up as 1 easy to grab file.


Included tools are:
Clockhands – To generate clock hand images.
Embryo Examples – A set of small Embryo examples
Icon2efm – A script to generate EFM mime type icons from a Freedesktop compliant icon theme
Inspire Background – A simple 2 object background to examine the way backgrounds should be made in E.
Resource links – Some very useful links from around the E community.

With this toolbox, I hope to make the process of theme creation easier. If there are any other things that could help make it easier, please leave a comment. Or if you have an idea on anything that would make it easier, make a suggestion and Ill consider making it and putting it in the toolbox.

Bonus: For all you GIMP fans out there, put this in your ~/.gimp-2.4/brushes/ folder!


Recently, Ive been enlisted by raster to help him finish off the new E17 theme. It is a great honor and privileged to be granted access to the appearance of E17 which will no doubt carry it to its final release. Its basically making a ‘small’ theme but also a good looking theme. As an experienced E17 themer myself, I will be using techniques to try to make re-themeing as easy as possible. Raster has already crammed the code full of comments, but I will also be adding some more.

Now, I do NOT want to encourage people to just be boring with the original theme. So Im putting together a small ‘themers’ kit to make thememing easier. It will consist of a wiki page that will be easy enough to access full of useful and easy to understand information. With the power of Edje, we can make E17 the most amazing looking window manager and/or desktop for linux and everything that runs it.

Back to creating the new E17 theme!

Whats up, Doc?


Documentation is a must when it comes to any sort of software. I believe there are 2 things that make a popular piece of software. Publicity and documentation. And you should always go for the later before the former! Theres no use in pushing a release of something that isn’t documented, as the average Joe will say “OK, now what the hell can I do with it?”. The other thing that fails is a developer finding an application or lib and there isn’t any documentation on how to code with it. Its a little like getting a F14 fighter jet and not knowing how to fly.

So why the rant on documentation? Well it seems everyone is pushing for a release of something soon, but forgetting the point that no-one will know how to use it. Since EFL and E17 are quite drastically different to other libraries and window managers/desktop environments, we suffer from the ‘niche’ market in comparison to GNOME and KDE. Even XFCE has a growing user base. These all have hefty documentation on how-to and plenty of wiki articles about making it easier. Now because E17 is still considered *incomplete* we are in a position to setup a great deal of documentation on it all ranging from EFL documents, all the way up to ‘How-to use the advanced theme editor’ and so on.

What would be great, is a specific week that everyone chooses a topic to write about, and makes an article about it. It cant be someone elses topic and should be coordinated on the mailing lists, both user and devel (to allow for user participation on E17 things). It shouldn’t have to be anything long, but should cover all the points in the topic you’ve chosen. Then after that week someone/some people can review all the work and announce a job well done by all. I know its a dream, but I’m sure willing to participate.