Darkmod Enlightenment theme converter
Today I’m happy to release the first version of my theme converter script (0.1.0) along with a alpha version of my light theme. The aim of the script is partly to make maintaining enlightenment themes much easier along with giving advanced users the ability to customize the theme to there liking. There is some history behind the script below but credit goes to the rElighted people this is just a advanced version of what they do. I have found custom themes easy to maintain by using a combination of this script and git. I keep each theme with its own changes in a branch in git and merge theme changes from the enlightenment devs in from a upstream branch. My git repository is https://github.com/simotek/Enlightenment-Themes The script helps by reducing the number of changes in the files which makes merging easier.
The light theme
I’ve mentioned the history and reasons why I created the light theme below, today I have the first alpha of the light theme plus a couple of others below. I would call the light theme about 95% done, currently the changes are 100% scripted but to finish of the theme some minor manual changes will need to be made, like changing colorclasses and manually re generating some images. Before I start on that I’ll have a chat to the enlightenment devs to see if they want me to maintain it in there git or just on my git hub. I would welcome feedback on areas that are broken or you think could be improved, I don’t use every module so I’m sure I missed something. Note that I have been using the Wine-Blue-Remix icon set and wallpapers from Google in my screenshots, wallpapers arn’t really my thing I’m sure someone else can come up with better ones. The script will build a matching terminology theme, however, it currently has 2 issues, firstly due to T1370 some of the icons that appear when you right click won’t change color unless you replace default.edj with the generated theme. The second issue is currently i don’t modify the terminology text color file so there will be alot of light text on a light background unless you manually change the colors.
Using the script is relatively straight forward first you will need to install ImageMagick after you have cloned the repo from the above link the only file you should need to change is darkmod-color-paths.conf the file is reasonably well commented at the top of the file you can specify the path to your copy of the elementary dark theme and optionally the terminology theme or leave as is to use the version in my repository. The hardest part is coming up with the replacement color for the blue, the current script requires the value to be entered in HSV difference from the original view, i would recommend copying a blue image to a temporary location and running convert on it manually until you get the color you want. Oneday i might get a chance to calculate the HSV from a hex number. The rest of the values are well commented and pretty straight forward. To get you started you can download the conf files for my themes below.
Once you have finished modifying darkmod-color-paths.conf all you need to do is run ./build-darkmod.sh and it will generate the theme and put a copy in ~/.elementary/themes/ you can clean up the build directory by running ./clean-darkmod.sh (won’t remove the version in ~/.elementary) you should also ensure you don’t run the script while the theme is already selected, overwriting enlightenments current theme confuses it. As mentioned above while the script will generate terminology icons with your replacement blue color due to T1370 it won’t have any effect unless you replace the default theme.
A while back there was a ticket #2057 (Link broken) in the old enlightenment Trac (bug tracker) about being able to change the blue color in the enlightenment theme. Someone posted a small script utilising imagemagick to atleast allow the generation of themes with different colors. The relighted theme uses exactly this and all the credit for the idea and concept goes to those people, I just extended the idea a little.
Having changed the color from blue to green I still wasn’t that happy because let’s face it the enlightenment theme “Dark” isn’t really that dark so I set about adding the ability to make the grey a bit darker. After this I had a theme that I was happier with and I have included a regenerated version of this theme as well “Extra Dark Green”.
The next challenge came when I needed to do a theme to match the new openSUSE wallpaper to do this well I needed to add a green tinge to all the grey images this couldn’t be done with imagemagick so I added the capability to swap images in the theme with manually created one’s. Somewhere along the line I decided I may as well duplicate the script for terminology as well.
For a while people have been complaining about the lack of a light theme for enlightenment, but the devs haven’t wanted to due to a lack of manpower to maintain it. I figured it wouldn’t be to hard to create a light theme using my script that was 95% good enough and from that the remaining changes would be easy enough to maintain.
Unfortunately my existing script was one file and becoming increasingly hard to maintain so I set about a rewrite moving all the theme dependent settings into 1 file and the image copy functions into another, this has proved to be much easier to maintain. The main challenge of the light theme was patching the existing dark theme to make it possible to change the white text to another color, this wasn’t possible with just by script due to white being used heavily in the theme, thanks to raster for accepting my patches
Discomfitor the enlightenment release manager has always said he wanted a hello kitty theme for enlightenment so here one is. ( you’ll need to get the wallpaper off Google cos I couldn’t be bothered making one) ( also I didn’t spend much more then 10 minutes on it so the quality isn’t great, but it does show how easly and quickly you can make something with the script)