I fixed a number of issues related to windows today. Specifically:
I decided today to take some time and do something which I’m about to advocate in a presentation: write a fun developer tutorial. Will I succeed? Maybe.
Step 1: Figure out what the hell to write about.
I see lots of tutorials on various programming languages or toolkits, and the examples are almost always boring and a waste of my time. As the E18ReleaseManager, I’ll need to write a tutorial which is the opposite: interesting and a waste of my time.
Step 2: Ensure that the tutorial has no practical application.
If I tell people how to write an IRC client, I’ll get flooded by people testing their clients or asking for help. This has to be a tutorial for something which can’t possibly be used for any purpose other than the one that I plan for.
Step 3: Find an artist.
Tutorials which use custom artwork are always much better than other tutorials. I had the amazing Paul Amesbury at my side for a few minutes today to accomplish exactly this purpose. Beautiful custom artwork: check.
![]()
Step 4: Explain the tutorial’s purpose.
See the title of this post. I don’t think I really need to go into more detail, do I?
Step 5: Write the code.
WordPress doesn’t format code effectively.
Going over the code here is hard since you’ll have to flip back and forth, but I have to waste more time flipping back and forth just to write it so I think it’ll even out.
Step 6: Commit to upstream, preferably without testing, to let your readers know that you made an awesome code drop.
I’ve failed part of this since I spent some time explaining the merits of the usability-enhancing frame to my coworkers, and thus did some actual testing. My apologies to all the readers out there.
Step 7: Screenshots.
I would have made a movie or a gif, but…I didn’t.
Here’s a shot of this artistic window frame in its natural, focused state:

Another shot while focused, this time we see the frame utilizing its increased mobility to enhance my experience while trying to close the window.

And, lastly, here’s another shot (this time unfocused!) where the frame is helpfully moving aside so that I can click the conveniently located button behind it.

And there you have it: an unparalleled, step-by-step developer tutorial on how to create beautiful and helpful new window frames for E18 using Edje.
Other Items Of Import:
I added a new top-level entry to the border menu today:

Other Items Of Import:
Bugs Closed:
Note that Trac is dead, and I will not look at any bugs filed there.
Not too much excitement to report today. Window shading is now done by edje and compositor which makes it look a lot smoother, and edge bindings should now function once more. Lots of time spent in bureaucracy again.
I’m currently embroiled in a bitter fight to the death with a presentation this week, so it’s unlikely that I will be doing much code-related stuff. Stay tuned for my eventual world dominationreturn to real work, hopefully by the end of this week or early next.
In other news, an attempt was made (and immediately shot down) to do an EFL 1.8 alpha release today. Better luck next time, gents.
It’s been a while since I’ve written a real blog post, so I’m going to do a bit of a roundup here. Brace yourselves.
Thanks to the work of Chris “devilhorns” Michael, AKA “The Man With Two First Names”, Wayland client support in E18 is a go.
Wayland clients DO:
Wayland clients DO NOT:
Videos:
Carsten “rasterman” Haitzler has written a new scaling algorithm for OpenGL images in Evas so that they will render more smoothly.
Cedric “King of B0rkers” Bail has spent most of this development cycle breaking things as usual working to dramatically reduce memory consumption, and Edje objects are now almost 50% smaller than they were a few months ago.
Terminology has, after less than a year, reached v0.3 on 26 March 2013. Since then, there have been improvements in:
Meanwhile, a mild engineering war came and went between a Polish engineer at Samsung using QT and a French engineer at Samsung using EFL. TL;DR: EFL test case starts 3 times faster and uses 30% less memory, but QT is probably easier to write with due to the immaturity of our Elev8 project.
Rafael “RGB” Antognolli has taken up the mantle of managing our stable releases, and there was a flurry of packaging done the week of his inaugural 1.7.6 release (9 April 2013). Ubuntu users can still find the official EFL PPA here, and users of other distributions probably don’t need as much hand-holding.
Thanks to the combined efforts of the so-called gitsvn elimination team (Tom “TAsn” Hacohen and Daniel “asdfuser” Willmann), we have recently moved most of our currently active projects to our new git server. The transition was mostly without incident, and they’ve also switched us from Trac to Phabricator. Some stragglers are still living in the past and using Trac, but we expect to lock that soon and finalize the switch. Anyone wanting to join the new age can find our bug tracker here.
In addition to this, Stefan Schmidt and Daniel “asdfuser” Willmann (The German Coalition of Efficiency and Excellence) have set up a number of Jenkins installations to stop Cedricvarious people from constantly breaking builds. Interested readers will note I am currently dominating the leaderboard to the point that I have been accused of locally build-botting my own commits.
Most surfaces (menus, popups, window border frames, startup splash, DND images) have been flattened onto the compositor canvas. This means that we are now able to do neat things with image proxies on that canvas, such as the deskmirror widget I blogged about yesterday. All of this is now the simple case of taking pixel data which will be rendered in one place and then also rendering it in another place, made possible by the scenegraph workings of Evas. It also means generally faster interaction with these objects since we no longer have to wait for X roundtrips when trying to move/resize/configure them; users will see a more dramatic improvement here during the E19 development cycle.
Other related improvements of note:
At this point, E18 is nearly feature-complete, and we are expecting its release within the next few months.
It’s been a while since I’ve blogged, but work has progressed.
At this point, E18 is functionally complete. All targeted surfaces have been merged onto the compositor canvas, and we can do some pretty neat graphical stuff. I’m planning to post in a bit more depth, but in the meanwhile some teaser images of the new “deskmirror” widget which I’ve been using for bug testing over the past week:



Everything in the central popup is a mirror of the outer object, and no object data has been duplicated.
Blog at WordPress.com. Theme: Nishita by Brajeshwar.