Sunday, March 21, 2010

Still rollin

Huh boy, I noticed the last post is old more than a month ago; the time is passing for me recently much faster than usually.

Probably the main reason for this is my new job, and some time I need to get used to new environment, people, workflow and the rest of the package that comes with it. As consequence, I had to shutdown (hopefully only temporarily) build farm, as build computers were hosted in facility owned my previous employee.

Other than that, I finally installed 64-bit Slackware 13, which I planned to do for some time. Maybe the main reason for this was to see how EDE will work on pure 64-bit platform; personally, 32-bit, 64-bit, they are all the same for me, except additional burden to learn assembler for different architecture (it is always good to know some asm when you do gdb beyond dumping simple backtrace).

Unexpectedly (duh!), I found problems in EDE code, both compiling and working. Compiling errors were mostly caused by newer gcc (due stdarg changes in glibc) and (as usually) PIC flag(s) for library creation.

Working errors were caused by some pointer magic (as expected) and my wrong assumption how WM property data is stored as CARD32 type. Other than this, I didn't find other 64bit specific issues, although this statement should be taken with some caution :)

Also, I added application icon support in ede-panel, as shown in the screenshot below.

This was (and still is) a quick hack and will be in some future stored in edelib, so the code can be used, for example, to show application icon in tooltip or pager.

Clock applet got some tiny refreshing with flat box and tooltip showing current date, like:

AFAIK this behavior is copied by others, so why EDE should be exception ;) Joke aside, this is pretty useful thing; for example I often forget current date and do not want to start ede-datetime just to check what day or weekday today is.


ChristTrekker said...

How much work remains before EDE2 might have another preview (i.e. all eFLTK references are removed)?

Sanel Z. said...

I'm thinking about putting final release around April.

Window manager is still the big issue, as I didn't have enough time to do anything about it, so I'm thinking to import some alternative wm (e.g. pekwm) for 2.0 release and replace it with fresh edewm in 2.1.

But, we will see how things will be rolling in upcoming days.

ChristTrekker said...

A non-FLTK WM? That's cheating! ☺

Can you elaborate on what needs to be done yet with edewm?

Sanel Z. said...


What needs to be done? Well, everything; the code fully uses efltk and there is some possibility to (try to) blindly port it on fltk and edelib.

From my experience, these blind ports usually takes much more time to get up and running than do stuff from scratch.

On other hand, there is a flwm that could be reused too.

If you have some additional ideas, please let me know :)

ChristTrekker said...

I'd be tempted to go with flwm, then, just for the fact that those running with shared FLTK libraries would get the most benefit that way.

I'd really like to see EDE 2, because I love the idea of a clean, light-weight desktop. Having to load multiple toolkits defeats that to a degree. But I also want edewm2 to be done right and not rushed.

So there's my 2¢, for what it's worth.

ChristTrekker said...

If possible, I would like to see another beta before you make the release.

ChristTrekker said...

Hope you are getting adjusted to your day job. Are there any recent EDE developments?

Sanel Z. said...

Thank you for asking :) Yes, I managed to adjust to new job :D

Unfortunately, in EDE land there wasn't big changes recently; maybe a few minor fixes.

I'm having a few side things to complete, so after that I will plan to start preparation for EDE release. Just hoping these side things will not take to much time.

Please, if you find some spare time to catch a few bugs or test things a bit more, that would be really nice :)

ChristTrekker said...

Unfortunately I don't get to use an X11 workstation very often, so most of my testing is just getting a clean compile or not, not run-time errors. :(

ChristTrekker said...

Is there any place that you have notes on the similarities/differences between FLTK1/edelib and FLTK2?

Sanel Z. said...

FLTK2? Not quite sure what did you mean with this question :)

ChristTrekker said...

You'd previously mentioned that blindly porting from eFLTK to FLTK+edelib would be problematic. I was just wondering if there was some kind of guide to edelib programming, maybe one that explained differences between it and FLTK2 (as eFLTK is dead AFAIK).

Sanel Z. said...

Unfortunately no :(.

Just scanning eFLTK code you will notice how it is extremely similar to FLTK 1.x, except one major thing: layouting approach is different. FLTK 1.x uses absolute coordinates (or relative to main window) but eFLTK uses relative to widget parent.

Else than that, the rest is just matter of API differences.

ChristTrekker said...

Maybe EDE can put in to be a GSoC project, with two potential goals: 1) finish port of edewm from eFLTK to FLTK+edelib, 2) port Webkit to FLTK for use as "official EDE browser".

Sanel Z. said...

Good idea, but I tried GSoC last three times without success. I'm not sure what exact their criteria are, but I'm sure Google, through GSoC, is looking what is the best for them.

But, if you would like to submit, feel free to do it. Create wiki page (with tasks) and submit it; I can help you with that. Or, maybe the best solution would be to find some similar project and submit as part of it.

How it sounds? :)