Jump to content

Photo

Problems porting an old theme to e20, can anyone assist?

themes e19 e20

  • Please log in to reply
31 replies to this topic

#1 mbert

mbert

    Member

  • Members
  • 20 posts

Posted 12 January 2016 - 05:38 PM

I use enlightenment e20 on an RHELish Linux distro (unfortunately I am forced to run that distro, hence no chance I could switch to Bodhi Linux). 

 

I am a bit of a retro enthusiast, had been using all those nice and shiny themes back in the old pre-e17 days, and I'd like to get back some of the old look-and-feel. 

 

Having looked around what's available for e19/e20 nowadays there's rather little that I'd like to use out of the box (currently I'm using R-Special-E19r7, I like it but I also like a change from time to time). 

 

I have experience in software development, but I have never played around with E themes' code before, so much for my background.

 

As a first project I have started porting "Vulcan-Retro". There is by the way already R-Volcano_R-E19, but I really like the original's shiny window decorations and min/max/close buttons. 

 

I have now added the 'ellipsis: -1' stuff wherever necessary, got rid of an edje_cc compile error caused by the deprecated 'spectrum' thing, added the version information and can load the theme in e20, it looks as good as I had hoped :)

 

However the theme is not done yet since I have some problems of which one renders the theme more or less unusable for now:

  1. The background image does not scale over the screen. OK, I think I can find this out, does not seem too difficult.
  2. The menus do not work properly. When I click a menu, the focus only follows the mouse if it hovers the respective menu entry's icon, but not when it is above the menu entry's text.
  3. I have also noticed that starting the preferences panel does not work (nothing happens), I am not sure whether this is because of the menu problem (2) or if it is a separate problem. The same applies for the 'settings' panel for the shelf (right-click shelf, 'shelf', 'settings'). However switching to a window by clicking on an entry from main menu / 'windows' works. 

Knowing that some of the people making e19/e20 themes are registered here, I sincerely hope that somebody gets an idea what might be wrong when reading this. I will gladly upload the source tarball of what I have now to my server and give a download link via PN if this helps.

 

If I manage to create a working theme and also learn a little about the technicalities along the way I will gladly share what I create. I would really like to port some of the "classic" themes if this turns out to be realistic with my still extremely limited knowledge. 

 

Thank you!





A big thank you to everyone who contributes to Bodhi Linux


#2 Duma

Duma

    Artist

  • Members
  • 2392 posts
  • LocationRivalta (TO) - Italia

Posted 14 January 2016 - 06:29 PM

Hang thought, hope in the weekend to answer correctly to your issues ;) .
They are all fixable ;) .

Welcome to the themers family! By the way! :D
Se sei italiano e interessato a Linux, clicca qui!

#3 Duma

Duma

    Artist

  • Members
  • 2392 posts
  • LocationRivalta (TO) - Italia

Posted 17 January 2016 - 10:56 AM

Hi!

I've downloaded Vulcan-Retro recompiled (by me :P ) for E17 to take a look at the code. Generally when I've ported themes to E19 I've done similar tricks to make works correctly. There's other little things to do, but I don't remember all.

Kudos that you have find by yourself spectrum issue and data/item information: lot of people has give up at that point :P )!!!

 

I haven't installed E19 or E20 (I'm using Moksha :D ), so let me know if that edits works properly.

 

Issue #1: try to add an "event" part in your "e/widget/menu/default/label" group (default_menu.edc). go after all the parts in that group (more or less line 804) and add the following code:

part { name: "events"; type: RECT;
         description { state: "default";
            color: 0 0 0 0;
         }
      }

So you should catch the mouse over effect into new E>=19.

 

Issue #2: try to remove the "mouse_event" option on your "base" part in default_shelf.edc (I suppose could be on line 32, more or less). So the shelf can "catch" signals emitted by your mouse (like right click)

 

By the way, Developers have written a check list to change on Theme API between version. Give it a look here: https://phab.enlight...heme_migration/

 

Let me know if you have solved your problem!!
Duma


Se sei italiano e interessato a Linux, clicca qui!

#4 mbert

mbert

    Member

  • Members
  • 20 posts

Posted 17 January 2016 - 03:52 PM

So you should catch the mouse over effect into new E>=19.
 
Issue #2: try to remove the "mouse_event" option on your "base" part in default_shelf.edc (I suppose could be on line 32, more or less). So the shelf can "catch" signals emitted by your mouse (like right click)
 
By the way, Developers have written a check list to change on Theme API between version. Give it a look here: https://phab.enlight...heme_migration/
 
Let me know if you have solved your problem!!

Thank you very much for your reply! I cannot try this now, but I expect to be able to verify it tomorrow. I will let you know!

#5 mbert

mbert

    Member

  • Members
  • 20 posts

Posted 18 January 2016 - 08:43 AM

Thank you very much for you help. The theme is working now. I will use it for a few days and see which other issues I run across, after that I should be able to release it. 



#6 mbert

mbert

    Member

  • Members
  • 20 posts

Posted 18 January 2016 - 12:42 PM

After half a day with my work in progress I have run across three issues which I have not been able to solve:

  1. Some don't have the threme's window decoration, e.g. the 'rdesktop' program. It displays with the black default theme's decoration instead.
  2. Some buttons appear with the black default theme's styling. 
  3. I am not sure if windows without focus have the correct styling, since I can't run the original theme now, I can't tell if this is meant that way. [seems not to be the case, see screenshots below]
@Duma, can you give me a hint how to fix the button styling and the window decoration of 'rdesktop' ? 
 
I apologize for bothering you, while I am quite comfortable reading source code, e themes' code is not terribly self-documenting :)
I hope to pick up some more knowledge on the way, so that I'll be able to get more and more of these things running by myself in the future. 
 

Here's what it looks like for issue 2 and 3:

 

2. Wrong button:

 

MihsuYe.jpg

 

3. Unfocused window:

 

xWnLpE6.jpg

 

[edit1] One more thing: I've put the code as it is now on github: https://github.com/m...ulcan-retro-e20

 

[edit2] Here's what the them should look like (screenshot taken from my e17 desktop):

 

Ij91Uy8.jpg



#7 mbert

mbert

    Member

  • Members
  • 20 posts

Posted 20 January 2016 - 11:06 AM

Another question. I've applied all the fixes from above to the 'blingbling' theme. It has of course the same issues as 'Vulcan Retro' has (e.g. the buttons), but also when compiling the theme I get these warnings:

 

edje_cc: Warning. Collection e/fileman/default/list/variable(243): image attributes missing for part "dnd_action", description "default" 0.000000

edje_cc: Warning. Collection e/fileman/default/list/variable(243): image attributes missing for part "dnd_action", description "visible" 0.000000
edje_cc: Warning. Collection e/fileman/default/list_odd/variable(244): image attributes missing for part "dnd_action", description "default" 0.000000
edje_cc: Warning. Collection e/fileman/default/list_odd/variable(244): image attributes missing for part "dnd_action", description "visible" 0.000000
edje_cc: Warning. Collection e/fileman/default/list/fixed(245): image attributes missing for part "dnd_action", description "default" 0.000000
edje_cc: Warning. Collection e/fileman/default/list/fixed(245): image attributes missing for part "dnd_action", description "visible" 0.000000
edje_cc: Warning. Collection e/fileman/default/list_odd/fixed(246): image attributes missing for part "dnd_action", description "default" 0.000000
edje_cc: Warning. Collection e/fileman/default/list_odd/fixed(246): image attributes missing for part "dnd_action", description "visible" 0.000000
edje_cc: Warning. Collection e/fileman/default/icon/fixed(247): image attributes missing for part "dnd_action", description "default" 0.000000
edje_cc: Warning. Collection e/fileman/default/icon/fixed(247): image attributes missing for part "dnd_action", description "visible" 0.000000
edje_cc: Warning. Collection e/fileman/default/icon/variable(248): image attributes missing for part "dnd_action", description "default" 0.000000
edje_cc: Warning. Collection e/fileman/default/icon/variable(248): image attributes missing for part "dnd_action", description "visible" 0.000000
edje_cc: Warning. Collection e/fileman/desktop/icon/fixed(253): image attributes missing for part "dnd_action", description "default" 0.000000
edje_cc: Warning. Collection e/fileman/desktop/icon/fixed(253): image attributes missing for part "dnd_action", description "visible" 0.000000
edje_cc: Warning. Collection e/fileman/desktop/icon/variable(254): image attributes missing for part "dnd_action", description "default" 0.000000
edje_cc: Warning. Collection e/fileman/desktop/icon/variable(254): image attributes missing for part "dnd_action", description "visible" 0.000000
 

 

While I know that these are 'only' warnings, I would really like to understand what they mean. I found that there is a good number of themes for e19/e20 using the same code and running into the same warnings. As a developer I prefer a 0 warnings policy, hence I would really like to know what the compiler does not like here. I could not find any hint in the migration guide either...

 

[edit] It seems like the compiler warning is caused by the fact that those parts of type 'IMAGE' have 'abstract' descriptions with no images. Is there a cleaner way to do this, without the compiler warning? Maybe just by adding a reference to a '1pixel.png' file that will be overridden anyway?

 

[edit] I have now added 1pixel images to thos abstract elements, no warnings, everything seems to work well.



#8 mbert

mbert

    Member

  • Members
  • 20 posts

Posted 22 January 2016 - 07:11 PM

Back to my original project. I have made some progress. From the dev mailing list I learned that I need to implement Elementary theme code to get the buttons right in e20 (as it uses Elementary for a number of widgets). Since rpil's deviation from that theme is pretty close to what I want I started with the Elementary code from that theme and tweaked the buttons a bit to look like what I want. 

 

This is what it looks like now: 

d0JoW2I.jpg

 

I am pretty close to being happy with this. One thing still bothers me though: Text and icons don't really fit in the top two buttons. 

How can I enforce some more horizontal space around the text here?



#9 Duma

Duma

    Artist

  • Members
  • 2392 posts
  • LocationRivalta (TO) - Italia

Posted 23 January 2016 - 11:50 AM

I am pretty close to being happy with this. One thing still bothers me though: Text and icons don't really fit in the top two buttons. 
How can I enforce some more horizontal space around the text here?

Dig into button.edc on elm part of your code.

Offset of parts is managed with rel1.offset: X Y (on old theme something like rel1 { offset: X Y; relative: X Y } ).

I suppose you have to edit the offset of parts like "e.swallow.content" line 36 and, maybe, "elm.text".

 

Good luck! :D


Se sei italiano e interessato a Linux, clicca qui!

#10 mbert

mbert

    Member

  • Members
  • 20 posts

Posted 25 January 2016 - 07:28 PM

Thank you again, Duma!

 

I have now created a prerelease for both, "Vulcan Retro" and "BLING BLING". Both use the Elementary code (what is used by apps and some dialogs in e20) from rpil's "R Volcano R" theme. Since they have a lot in common, "Vulcan Retro" looks pretty good with this. In "BLING BLING" there are of course some inconsistencies, e.g. blue font for selected menus and the digital clock, surely there will be more.

 

I am releasing this now anyway since I dont't think I'll have the time to do much about it in the nearest future. If somebody wants to fix some of these things, I'll be happy to accept pull requests.

 

Now let's go. Here's the links and screenshots.

 

Vulcan Retro:

 

gcNgnpl.jpg

 

Release on github: https://github.com/m...ag/releases/0.7

 

BLING BLING:

 

rvKEi93.jpg

 

Release on github: https://github.com/m...ag/releases/0.7



#11 hippytaff

hippytaff

    Member

  • Members
  • 1269 posts
  • LocationWales, UK

Posted 25 January 2016 - 09:12 PM

They're awesome Mbert. I've no idea how to edit or port  these things...I've heard it's a pita. How tricky is it to change enlightenment on the desktop to say moksha? Assuming there is a png somewhere?


Hippytaff - Trying to understand stuff since 1979


#12 mbert

mbert

    Member

  • Members
  • 20 posts

Posted 25 January 2016 - 10:18 PM

They're awesome Mbert.

Thank you! But you really need to thank the artists who created all that artwork. I have not done much more than trying to understand how this works and then doing some patchwork :)

 

How tricky is it to change enlightenment on the desktop to say moksha? Assuming there is a png somewhere?

You mean the logo bottom-right on the blingbling screenshot? It's part of the background image: grill_dark_tiny_pattern.png (check the files on github or decompile the theme).



#13 hippytaff

hippytaff

    Member

  • Members
  • 1269 posts
  • LocationWales, UK

Posted 25 January 2016 - 10:31 PM

Yes, but it took some effort to port them, so you know.

 

I cloned your github, will have a look...thanks :)


Hippytaff - Trying to understand stuff since 1979


#14 birdmun

birdmun

    Member

  • Members
  • 226 posts
  • LocationWabash, IN

Posted 25 January 2016 - 10:31 PM

So, changing it shouldn't be too difficult. :)



#15 hippytaff

hippytaff

    Member

  • Members
  • 1269 posts
  • LocationWales, UK

Posted 25 January 2016 - 11:05 PM

So, changing it shouldn't be too difficult. :)

I find everything difficult :/


Hippytaff - Trying to understand stuff since 1979


#16 mbert

mbert

    Member

  • Members
  • 20 posts

Posted 26 January 2016 - 01:12 PM

Funnily enough I find myself using the 'blingbling' theme all the time, although I had originally wanted to use "Vulcan Retro" :)

 

I would absolutely love to have "Shiny Metal" and "SpiffE" on e20...



#17 mbert

mbert

    Member

  • Members
  • 20 posts

Posted 29 January 2016 - 06:00 PM

I found one issue in the two themes I am working on. In both, the file manager appears as an empty white window. I did not notice that earlier because I practically never use file managers :)

 

This seems strange, because in most cases I've seen so far things would display with the default theme. Here I see nothing.

 

Again - anyone knows what the reason for this could be? The Theme migration checklist only mentions a signal change for the fileman, that does not look like the reason...



#18 Duma

Duma

    Artist

  • Members
  • 2392 posts
  • LocationRivalta (TO) - Italia

Posted 31 January 2016 - 01:38 PM

Compare your fileman.edc file with one taken from a decompiled e20 themes. There's some differences that you have to do. ;)


Se sei italiano e interessato a Linux, clicca qui!

#19 mbert

mbert

    Member

  • Members
  • 20 posts

Posted 01 February 2016 - 07:57 AM

Compare your fileman.edc file with one taken from a decompiled e20 themes. There's some differences that you have to do. ;)

 

Yes, I've already done so, but the damn thing is very long. I hoped that somebody would say something like "hey, I know this" :)



#20 birdmun

birdmun

    Member

  • Members
  • 226 posts
  • LocationWabash, IN

Posted 01 February 2016 - 08:34 AM

There are programs that can compare files and highlight differences. Might be a thought. I imagine there is a CLI program that will do it.







Also tagged with one or more of these keywords: themes, e19, e20

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users