After a few weeks of spare-time development, I'd like to announce
Efreet, a new implementation of the XDG (freedesktop) specs for Icons,
Menus and Desktop Entries.
The current implementation, Ecore_Desktop, while a commendable effort
for a sole developer under time constraints, leaves a bit to be desired.
So, dj2 and I started reading through the xdg specs, and playing around
with our own implementation, code named Efreet. After speaking with
onefang about some of the issues with ecore_desktop, he said it was due
for a rewrite, so we continuted with our replacement implementation.
Rbdpngn and Engelbass also pitched in.
Currently we have code to build menus, find icons, and load desktop
entries complete. There are a few things left to finish (most
importatnly executing desktop entries), but it is almost at a point
where we'd like to start integrating it in to e17.
The code, for those interested, is available from subversion at:
Before we hook e17 in to efreet, there are a few issues I'd like to
E currently uses a hands off 'read only' approach to the XDG structure,
copying the structure in to the format that e previously used (.order
files). This made sense given ecore_desktops roots as an addon program
that simply connected the two. But, since we're already going to be
loading up the xdg menu format, is there any reason to not just use that
directly? This would have the added benefit that as apps are added
through a package manager, they would just show up in the menu as they
do in every other desktop (without having to go to config > application
menus > Regenerate / Update "Applications" Menu).
The next question is, assuming you guys see it as a viable replacement
for ecore_desktop, do we stick this somewhere in libs (as efreet or
e_xdg, or whatever name) or do we cram it in to ecore? My vote is that
we stop bloating ecore in the name of a 'dependency freeze' and keep
proper separation of libraries. (Its all 'new code' that needs to be
verified and tested regardless of where we stick it).
Let us know what you guys think.