Efreet_Icon: The FDO Icon Theme
Efreet

Specification functions and structures More...

## Data Structures

struct | Efreet_Icon_Theme
| Efreet_Icon_Theme. More...
struct | Efreet_Icon_Theme_Directory
| Efreet_Icon_Theme_Directory. More...
struct | Efreet_Icon
| Efreet_Icon. More...
struct | Efreet_Icon_Point
| Efreet_Icon_Point. More...

## Typedefs

typedef enum Efreet_Icon_Theme_Context | Efreet_Icon_Theme_Context
| The possible contexts for an icon directory.
typedef enum Efreet_Icon_Size_Type | Efreet_Icon_Size_Type
| The possible size types for an icon directory.
typedef struct Efreet_Icon_Theme | Efreet_Icon_Theme
| Efreet_Icon_Theme.
typedef struct Efreet_Icon_Theme_Directory | Efreet_Icon_Theme_Directory
| Efreet_Icon_Theme_Directory.
typedef struct Efreet_Icon | Efreet_Icon
| Efreet_Icon.
typedef struct Efreet_Icon_Point | Efreet_Icon_Point
| Efreet_Icon_Point.

## Enumerations

enum | Efreet_Icon_Theme_Context { EFREET_ICON_THEME_CONTEXT_NONE , EFREET_ICON_THEME_CONTEXT_ACTIONS , EFREET_ICON_THEME_CONTEXT_DEVICES , EFREET_ICON_THEME_CONTEXT_FILESYSTEMS , EFREET_ICON_THEME_CONTEXT_MIMETYPES }
| The possible contexts for an icon directory.
enum | Efreet_Icon_Size_Type { EFREET_ICON_SIZE_TYPE_NONE , EFREET_ICON_SIZE_TYPE_FIXED , EFREET_ICON_SIZE_TYPE_SCALABLE , EFREET_ICON_SIZE_TYPE_THRESHOLD }
| The possible size types for an icon directory.

## Functions

const char * | efreet_icon_user_dir_get (void)
| Returns the user icon directory.
const char * | efreet_icon_deprecated_user_dir_get (void)
| Returns the deprecated user icon directory.
void | efreet_icon_extension_add (const char *ext)
| Adds the given extension to the list of possible icon extensions.
Eina_List ** | efreet_icon_extra_list_get (void)
| Gets the list of all extra directories to look for icons. These directories are used to look for icons after looking in the user icon dir and before looking in standard system directories. The order of search is from first to last directory in this list. the strings in the list should be created with eina_stringshare_add().
Eina_List * | efreet_icon_extensions_list_get (void)
| Gets the list of all icon extensions to look for.
Eina_List * | efreet_icon_theme_list_get (void)
| Retrieves all of the non-hidden icon themes available on the system. The returned list must be freed. Do not free the list data.
Efreet_Icon_Theme * | efreet_icon_theme_find (const char *theme_name)
| Tries to get the icon theme structure for the given theme name.
Efreet_Icon * | efreet_icon_find (const char *theme_name, const char *icon, unsigned int size)
| Retrieves all of the information about the given icon.
const char * | efreet_icon_list_find (const char *theme_name, Eina_List *icons, unsigned int size)
| Retrieves all of the information about the first found icon in the list.
const char * | efreet_icon_path_find (const char *theme_name, const char *icon, unsigned int size)
| Retrives the path to the given icon.
void | efreet_icon_free (Efreet_Icon *icon)
| Free's the given icon and all its internal data.

## Variables

int | EFREET_EVENT_ICON_CACHE_UPDATE
| Event id for cache update.

## Detailed Description

Specification functions and structures

## Function Documentation

## efreet_icon_user_dir_get()

const char * efreet_icon_user_dir_get | ( | void |  | ) |

Returns the user icon directory.

Returns
  Returns the user icon directory

References alloca(), efreet_data_home_get(), eina_file_path_sanitize(), and eina_stringshare_add_length().

## efreet_icon_deprecated_user_dir_get()

const char * efreet_icon_deprecated_user_dir_get | ( | void |  | ) |

Returns the deprecated user icon directory.

Returns
  Returns the deprecated user icon directory

References alloca(), eina_file_path_sanitize(), and eina_stringshare_add_length().

## efreet_icon_extension_add()

void efreet_icon_extension_add | ( | const char * | ext | ) |

Adds the given extension to the list of possible icon extensions.

Parameters

  ext | The extension to add to the list of checked extensions

Returns
  Returns no value.

References eina_list_data_find_list(), eina_list_prepend(), eina_list_promote_list(), EINA_SAFETY_ON_NULL_RETURN, eina_stringshare_add(), and eina_stringshare_del().

## efreet_icon_extra_list_get()

Eina_List ** efreet_icon_extra_list_get | ( | void |  | ) |

Gets the list of all extra directories to look for icons. These directories are used to look for icons after looking in the user icon dir and before looking in standard system directories. The order of search is from first to last directory in this list. the strings in the list should be created with eina_stringshare_add().

Returns
  Returns a list of strings that are paths to other icon directories

References ecore_job_add().

## efreet_icon_extensions_list_get()

Eina_List * efreet_icon_extensions_list_get | ( | void |  | ) |

Gets the list of all icon extensions to look for.

Returns
  Returns a list of strings that are icon extensions to look for

## efreet_icon_theme_list_get()

Eina_List * efreet_icon_theme_list_get | ( | void |  | ) |

Retrieves all of the non-hidden icon themes available on the system. The returned list must be freed. Do not free the list data.

Returns
  Returns a list of Efreet_Icon structs for all the non-hidden icon themes

## efreet_icon_theme_find()

Efreet_Icon_Theme * efreet_icon_theme_find | ( | const char * | theme_name | ) |

Tries to get the icon theme structure for the given theme name.

Parameters

  theme_name | The theme to look for

Returns
  Returns the icon theme related to the given theme name or NULL if none exists.

Referenced by efreet_icon_list_find(), and efreet_icon_path_find().

## efreet_icon_find()

Efreet_Icon * efreet_icon_find | ( | const char * | theme_name,
|  | const char * | icon,
|  | unsigned int | size )

Retrieves all of the information about the given icon.

Parameters

  theme_name | The icon theme to look for
  icon | The icon to look for
  size | The icon size to look for

Returns
  Returns the Efreet_Icon structure representing this icon or NULL if the icon is not found

References efreet_icon_path_find(), and EINA_SAFETY_ON_NULL_RETURN_VAL.

## efreet_icon_list_find()

const char * efreet_icon_list_find | ( | const char * | theme_name,
|  | Eina_List * | icons,
|  | unsigned int | size )

Retrieves all of the information about the first found icon in the list.

Parameters

  theme_name | The icon theme to look for
  icons | List of icons to look for
  size; | The icon size to look for

Returns
  Returns the path representing first found icon or NULL if none of the icons are found

Note
  This function will search the given theme for all icons before falling back. This is useful when searching for mimetype icons.

There is no guarantee for how long the pointer to the path will be valid. If the pointer is to be kept, the user must create a copy of the path.

References efreet_icon_theme_find(), eina_list_append(), EINA_LIST_FOREACH, EINA_LIST_FREE, eina_list_free(), EINA_SAFETY_ON_NULL_RETURN_VAL, and Efreet_Icon_Theme::name.

Referenced by efreet_mime_type_icon_get().

## efreet_icon_path_find()

const char * efreet_icon_path_find | ( | const char * | theme_name,
|  | const char * | icon,
|  | unsigned int | size )

Retrives the path to the given icon.

Parameters

  theme_name | The icon theme to look for
  icon | The icon to look for
  size; | The icon size to look for

Returns
  Returns the path to the given icon or NULL if none found

There is no guarantee for how long the pointer to the path will be valid. If the pointer is to be kept, the user must create a copy of the path.

References efreet_icon_theme_find(), EINA_SAFETY_ON_NULL_RETURN_VAL, and INF.

Referenced by efreet_icon_find().

## efreet_icon_free()

void efreet_icon_free | ( | Efreet_Icon * | icon | ) |

Free's the given icon and all its internal data.

Parameters

  icon | The Efreet_Icon to cleanup

Returns
  Returns no value.

References Efreet_Icon::attach_points, Efreet_Icon::name, Efreet_Icon::path, and Efreet_Icon::ref_count.