Efreet

# Table of Contents

- Introduction
- How to compile
- Next Steps

# Introduction

Efreet is a library designed to help apps work several of the Freedesktop.org standards regarding Icons, Desktop files and Menus. To that end it implements the following specifications:

- XDG Base Directory Specification
- Icon Theme Specification
- Desktop Entry Specification
- Desktop Menu Specification
- FDO URI Specification
- Shared Mime Info Specification
- Trash Specification

# How to compile

Efreet is a library your application links to. The procedure for this is very simple. You simply have to compile your application with the appropriate compiler flags that the `pkg-config` script outputs. Mime and Thrash are separated modules. For example, to compile with mime support:

Compiling C or C++ files into object files:

    gcc -c -o main.o main.c `pkg-config --cflags efreet efreet-mime`

Linking object files into a binary executable:

    gcc -o my_application main.o `pkg-config --libs efreet efreet-mime`

See pkgconfig

# Next Steps

After you understood what Efreet is and installed it in your system you should proceed understanding the programming interface.

Recommended reading:

- Efreet_Base: The XDG Base Directory Specification for base directory specification (XDG variables).
- Efreet_Desktop: The FDO Desktop Entry to access .desktop files
- Efreet_Menu: The FDO Desktop Menu Specification to access menus of .desktop files
- Efreet_Mime: The XDG Shared Mime Info standard to identify files based on extension or header.
- Efreet_Trash: The XDG Trash Specification to access file trash implementation.
- Efreet_Ini for parsing INI-like key-value files.
- Efreet_Uri: The FDO URI Specification functions for URI parsing and encoding.
- Efreet utilities for FDO general utilities.