E16 light theme customization

Light theme menu with fixed icons

Light cairo-dock with fixed menu

To dowmload the customizations, for the e16 theme:

or for the panel:

else the tar.gz files can be found here:


Dear @triantares,

nobody said it yet,
so I have to say it here and now:

Thank you.

By knowing how much time and enthusiasm it takes,
to create such a "aside" stuff, let me tell you that your efforts are highly appreciated.
Am sure, that others herein will realize later how important it will become, too - so am so nasty and speak also for them. :gun:
( Just in case, they could forget it...)

Seriously: Good job.


For the theme is OK, I'll put it into /usr/share/e16/Themes and is working, but for the panel I doesn't remember what I need to do.... :innocent:


Get the updated files !
Will send you pm with link to the latest development. :madness:

1 Like

Thanks, but don't forget "User Manual" LOL....

All credits to @triantares :nod:

Just drag&drop the tar.gz into the cairo-dock,-> configuration,-> themes window and give it some time to import.
Or unpack the theme (as root) to /usr/share/cairo-dock/themes/ and make sure to set as executable (755)

There was those path that I didn't found...

Is done:

Thanks :beers::+1:

If you want to have smaller icons got to configuration, appearance and set the size there. You have 5 sizes available.

1 Like

I'll try that ASAP, thanks!

for when i will create the packages, they will be always (automatically) updated from the last changes from the git repository to where it comes from (so we can just apug :magick: )

Which raises a question about "fancy-menus" in a package:

The current so-called installer simply copies over its own menu.file and menus_apps/ directory over to ~/.e16/menus but I'm working on it that it will simply add the 2 spaces before the users own existing menus. A bash script using "sed" mainly which I haven't put up yet as it still has some strange quirks due to the usages of spaces as characters.

I'm counting on you to get rid of the .svg icon problem in the general e16 package (as it's a general e16 problem) and replace them with .xpm ones (and add missing ones) where necessary.
If not, then I can see if I can script that too in the installer but I suspect that will not be an easy task. :thinking:

xpm format is buggy on e22+, and svg is preferred over other formats for quality reasons... the best would be to use .png equivalents, or to forget this issue until deeper development (switching to e22 and fixing all those icon things)

not sure to follow what you mean exactly (im not following in deep all the threads, there's too much :slight_smile: ), but I assume you improved in some way the e16 menus (don't know if improved or "added menus"), in any of the cases, we need to stick at the e16 menu generator, which has been already improved for elive:

scite /usr/share/e16/scripts/e_gen_menu

this perl script is in charge of creating / generating the menus, if improvements needs to be done it must be done from it (generically speaking to have these improvements as default for everyone)

update: checking at your script to install fancy-menus, I assume that you simply "hacked" the existing menus with some improvements... this cannot be used because they are static and we need to have them dynamic (always regenerated), so the only possible thing to do is to improve the script generator with the changes needed

Yes, that was what I was busy on and for the moment my script is as follows:
I commented as often as possible...it's only there to add the 2 spaces before the menu entry.
Which shouldn't be too hard to rewrite into perl if need be.

As for .xpm icons: I only used those if there were no .png alternatives available.
I's still a lot better than no icon showing at all, like missing teeth.

I'll see what I can do with that but would be out of the scope of e16 theme customization.


I checked up on that perl script..... but I get a headache trying to make out what and where it exactly does what.
I really hate perl. :face_vomiting:
That'll be something for if I've got more time.

im not sure to understand, you mean whitespacing ? between the icon and the text of the menu entry? or the spaces between the gui elements?... these things must be done from the theme (if im not wrong), just like in CSS where you define margin/padding values

mmh, the menu generator tool should include those xpm files as you said in case that no .png files are found :thinking: that's possible and wont give problems

if you read the script in calm you will see what exactly does :slight_smile: and then you will know where and how to hack it

Yes exactly, using the _JUSTIFIED_ option in the textclasses.cfg file does not work consistently. If text lines are longer they get squashed in and are put right next to the icon.

You can see it happening in the dark-one theme where the text is right aligned.
Simply adding 2 spaces (as characters) does create a consistent distance. :innocent:

Of course I eventually will.

My gripe is more that when a perl script gets longer, I almost need 2 instances of the script open so I don't have to keep scrolling back up to see what letter or character has been set to define what variable or setting.
This way it's simply hard to quickly see the difference between functions and variables and apparently commenting isn't deemed as being important by perl hackers either.
It requires me to read, reread, memorize strange shortcuts ...... it's like reading "shorthand". :face_with_head_bandage:

Starting to do that but there's a few parts I don't quite savvy yet .......like where $t, $n,$p,$s, etc come from and what they do (exactly) with the @ prefixes.
Perl, I discover has quite a few peculiarities of its own, like "unless", "local" and "shift". :face_with_head_bandage:

  • Note to self: Learn a bit of Perl before EOL! :ohmygod:

If I read the script correctly, then if a .png isn't found it will look for a .xpm.
Which leaves the question: Where did the .svg icons come from?

hum, im not very familiarized with the themes but I assume that the "menu" part could be defined the whitespacings and sizes, which will avoid this issue :thinking: , to know that, just try all other themes and see how the other menus looks like, if you see the menu without the issue, then you can read "how this theme does it" :slight_smile:

I fast checked the script, see that there's references for xpm with png in the same line, but there's also some png ones without xpm code... maybe the xpm ones are not catched correctly!

about svg, does e16 supports svg? im not sure! i wont think so :thinking:

Apparently it doesn't support .svg in the menus. :sniff:
.xpm icons are kept in a different place or sometimes in the apps own directory. I needed "grep" quite a bit to find them.

That is in generall how I worked here, but there are none that have a strict whitespace policy between icon and text.
The spacing is defined by _JUSTIFIED_ and a value 0 to 1024, which can be interpreted "left" to "right" and the needed space can be calculated depending on font size.
The "issue" is that longer text will be squashed into the provided space and pushed too close to the icon, this happens in the dark theme too ....... :disbelief:
By adding whitespace as 2 chars, the distance is kept and the menu width adapted accordingly.

BTW I'm reading up on Perl (and am impressed by the versatility) so given enough time I'll be able to incorporate it in the menu_gen. :work:

Right ho!

Searching along the attics of the internet I found an e16 with consistent space between the icons and the text.........Elive Gem :rofl2:

This is what the menus IMO should like in current e16:

This is what they look like when the "e_menu_gen" script has had its way:

And this is what it looked like in Gem:


So quite good and to my surprise I discovered that in Gem this was done by adding 2 whitespaces before every menu entry. Methinks I saw that trick somehwere before. :shocked:
Thinking my troubles were over I checked the Gem "e_menu_gen" and alas, found no provisions there for adding whitespace....it's only slightly different than the current script.

Conclusion: It is done elsewhere!! and I'm wasting my time with that perl script.
Oh well, it forced me to do some reading up on Perl, which I still find very hard to hard to read ...... like looking into minestrone soup. :omfg:

What I want e16 menus to do [add icons to categories, use .xpm icons and have whitespace between icons and text]
has already been some 15 yrs ago by @Thanatermesis.
I can add the whitespaces at the end of the script with a line like this:

$str =~ s/^/   /g;
but looking for the icons is something else. The xpm should simply be there with the current script ..... but they aren't, somehow. :face_with_head_bandage:

To be honest I have always found Gem the best version Elive ever had ....... if seen in it's own time, it was mind boggling. Topaz wasn't as much to my liking and I hiked over to Mandrake and KDE2 and 3 after a while. :smile:

1 Like