Eve: EFL Web Browser
- Posted by acidx on August 12th, 2010 filed in geek
- Comment now »
I’ve been working on the past few weeks on Eve, an web browser that uses WebKit-EFL.
This browser is a complete rewrite of the old Eve web browser, and is meant to be used on mobile devices. It is currently pretty complete, including tabs, bookmarks, and history. It also looks good to boot (thanks Marina!), as it is based on the Efenniht theme (click to open a larger version):
Screenshots won’t make it any justice though, as Eve is capable of some nice and smooth animations. I’m too lazy to make a screencast, so you’ll have to download and run it locally to see the interface at work
So Enlightenment users can benefit from this project, I’ve committed it to the Enlightenment SVN repository (on /trunk/eve). Also, there are some things that I didn’t have time to implement, so open sourcing this seems to be a nice idea: so, if you’d like to dive into the code, there are a few things that I’d like to have implemented on the browser… bug me on IRC (acidx @ freenode).
WebKit Commiter
- Posted by acidx on June 18th, 2010 filed in geek
- Comment now »
I’ve been recently nominated as a WebKit committer after landing more than 60 patches to upstream the EFL port. My account was set up yesterday, and I’ve already committed some build fixes that would otherwise get dusty on the bug tracker.
This will eventually speed up the maintenance of the EFL port, as build fixes do not require to be reviewed by someone else, and thus don’t require the use of the usually crowded commit queue.
Picolé
- Posted by acidx on May 3rd, 2010 filed in geek
- 3 Comments »
While working with WebKit at ProFUSION, this famous XKCD strip couldn’t be more descriptive:

There are various ways to get a monster like WebKit to compile faster, such as using ccache or icecream.
CCache is nice because I’m working with the build system, so I have to rebuild the whole thing often, even if I didn’t change a single line of code: ccache saves the object files somewhere in your home and only copies them instead of compiling it again, if there were no changes to the source code.
Icecream is also nice. Forked from distcc, icecream allows to distribute the compilation to other computers: add more nodes and the compilation goes faster. Compiling the kernel was never this fun before I’ve used this thing. There are some Gentoo users at ProFUSION that probably enjoys this thing as well.
And even though Icecream offers a nice program called Icemon with some nice visualization options, it is written for Qt3 — it works with Qt4 using the compatibility libraries — and crashes often. Since I was too lazy to debug this program, I’ve decided to write my own.
Called Picolé, it is an web-based monitor program. It felt natural to do a web-based program because I was working with WebKit; also, it can be installed on a server and there is no need for specialized client applications anymore. And since I’ve been longing to create something using AJAX for some time, this was the perfect opportunity.
The user interface is pretty simple. It offers two views: Hosts and Jobs.

Picolé’s main interface (click to enlarge)
The hosts view can display all the Icecream nodes in the network either in a table, or by using a star view, similar to the Icemon one.
The jobs view displays all the jobs being processed right now, and tells the language, file name, node that asked the compilation and node where the compilation is being performed.
The server is written in Python (using webpy) and it communicates through pipes with a program, written in C++, which communicates with the Icecream’s scheduler. The reason I’m not using a single programming language is that I didn’t want to rewrite the C++ part in Python, because I am using the same classes used by the Icemon program.
I got permission to distribute Picolé’s source code, but I need to clean it up and fix some stability problems. I’ll let you know whenever this happens.
Help Viewer
- Posted by acidx on August 1st, 2009 filed in geek
- 1 Comment »
Uma das funcionalidades que os usuários do HardInfo sempre pedem é a documentação online. Nem sempre é possível abrir um browser e mostrar a documentação, mas é o que está sendo feito hoje. Existem várias soluções para este problema, mas eu preferi fazer como frequentemente faço quando não estou satisfeito com as soluções que encontro: reinventando a roda.

Com pequenas alterações no egg-markdown (encontrado nos fontes do GNOME PackageKit), e uma versão estendida do GtkTextView que suporta hyperlinks, comecei a fazer um leitor de documentação leve, com o intuito de ser incluso em aplicações GTK+. Existem alguns problemas a serem resolvidos, entretanto:
- Inclusão de imagens;
- Suporte à internacionalização;
- Encontrar uma maneira eficiente de armazenar um arquivo de ajuda;
- Índice para busca textual (a princípio, somente para cabeçalhos nível 1 e 2).
Resolver o primeiro vai dar um bocado de trabalho, pois estender o markup do Pango é muito chato. Os links são implementados de uma forma meio hackish (usando atributos geralmente não usados do tag <span>) e eu não queria ter que implementar imagens dessa forma também.
Para os curiosos e interessados em ajudar a terminar a implementação, o código está disponível no github. Forks e pull requests são aceitos.















