-
Notifications
You must be signed in to change notification settings - Fork 2
Home
vilkov edited this page May 27, 2012
·
19 revisions
This library is implementation of several freedesktop.org specifications such as
- "Shared MIME-info Database";
- "Desktop Entry Specification";
- "Icon Theme Specification";
- "MIME actions specification".
- Straight C-implementation of serializable AVL trees;
- Access to "Shared MIME-info Database" by using of freedesktop.org xdgmime library;
- Indexed (by using of AVL trees) access to all ".desktop" files and its contents (implementation of "Desktop Entry Specification");
- Cache all (include indexes) gathered information from all ".desktop" and ".list" files ("Desktop Entry Specification") into one single binary file which then can be mmap'ed without a single allocation of memory (just updates pointers in mmap'ed memory);
- Indexed (by using of AVL trees) access to icon themes and its contents (implemetation of "Icon Theme Specification" and "Icon Naming Specification").
Building of this library is not harder than any other CMake based project. You will need sources which you can download/clone from this site in Code section. After that all you have to do is to perform standard 3 steps:
- Configure build with CMake. There are several CMake flags which controls the build process:
- GENERATE_INTERNAL_DOCS - generate internal Doxygen documentation;
- BUILD_MIME_SPEC - build implementation of "Shared MIME-info Database" by using of xdgmime library;
- BUILD_DESKTOP_SPEC - build implementation of "Desktop Entry Specification";
- BUILD_THEMES_SPEC - build implementation of "Icon Theme Specification";
- BUILD_UPDATE_APPLICATIONS_CACHE - build command line application which is used for building "Desktop Entry Specification" binary cache.
- make
- make && make doc - if you need Doxygen documentation.
- make install
The library is licensed under GNU-LGPL and AFL v2.0.