\hypertarget{efreet__menu_8h}{}\section{efreet\+\_\+menu.\+h File Reference}
\label{efreet__menu_8h}\index{efreet\+\_\+menu.\+h@{efreet\+\_\+menu.\+h}}


Contains the structures and methods to support the Desktop Menu Specification.  


\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}
\begin{DoxyCompactList}\small\item\em \hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu} Stores information on a entry in the menu. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group__Efreet__Menu_ga5a0f81e93dce820cd5c55f1b96424530}{}typedef enum \hyperlink{group__Efreet__Menu_ga2991e288d08928c50a4da721f9845150}{Efreet\+\_\+\+Menu\+\_\+\+Entry\+\_\+\+Type} \hyperlink{group__Efreet__Menu_ga5a0f81e93dce820cd5c55f1b96424530}{Efreet\+\_\+\+Menu\+\_\+\+Entry\+\_\+\+Type}\label{group__Efreet__Menu_ga5a0f81e93dce820cd5c55f1b96424530}

\begin{DoxyCompactList}\small\item\em The type of entry. \end{DoxyCompactList}\item 
\hypertarget{group__Efreet__Menu_ga09908f95fe36f7e5c52f0b33bf22ebe7}{}typedef struct \hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu} \hyperlink{group__Efreet__Menu_ga09908f95fe36f7e5c52f0b33bf22ebe7}{Efreet\+\_\+\+Menu}\label{group__Efreet__Menu_ga09908f95fe36f7e5c52f0b33bf22ebe7}

\begin{DoxyCompactList}\small\item\em \hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}. \end{DoxyCompactList}\item 
typedef void($\ast$ \hyperlink{group__Efreet__Menu_gaab91b46110e8e15125a8ddfae0a3164f}{Efreet\+\_\+\+Menu\+\_\+\+Cb}) (void $\ast$data, \hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu} $\ast$menu)
\begin{DoxyCompactList}\small\item\em A callback used with \hyperlink{group__Efreet__Menu_gab02e50a02650b8f37954fbd8867e0fb3}{efreet\+\_\+menu\+\_\+async\+\_\+get()} and \hyperlink{group__Efreet__Menu_gacff1caff07b5d129a4e1b73f32349b8f}{efreet\+\_\+menu\+\_\+async\+\_\+parse()} \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group__Efreet__Menu_ga2991e288d08928c50a4da721f9845150}{}enum \hyperlink{group__Efreet__Menu_ga2991e288d08928c50a4da721f9845150}{Efreet\+\_\+\+Menu\+\_\+\+Entry\+\_\+\+Type} \{ \\*
{\bfseries E\+F\+R\+E\+E\+T\+\_\+\+M\+E\+N\+U\+\_\+\+E\+N\+T\+R\+Y\+\_\+\+M\+E\+N\+U}, 
\\*
{\bfseries E\+F\+R\+E\+E\+T\+\_\+\+M\+E\+N\+U\+\_\+\+E\+N\+T\+R\+Y\+\_\+\+D\+E\+S\+K\+T\+O\+P}, 
\\*
{\bfseries E\+F\+R\+E\+E\+T\+\_\+\+M\+E\+N\+U\+\_\+\+E\+N\+T\+R\+Y\+\_\+\+S\+E\+P\+A\+R\+A\+T\+O\+R}, 
\\*
{\bfseries E\+F\+R\+E\+E\+T\+\_\+\+M\+E\+N\+U\+\_\+\+E\+N\+T\+R\+Y\+\_\+\+H\+E\+A\+D\+E\+R}
 \}\label{group__Efreet__Menu_ga2991e288d08928c50a4da721f9845150}

\begin{DoxyCompactList}\small\item\em The type of entry. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
int \hyperlink{group__Efreet__Menu_gafdc0116e02086b5698fcc7e400bcc15c}{efreet\+\_\+menu\+\_\+kde\+\_\+legacy\+\_\+init} (void)
\begin{DoxyCompactList}\small\item\em Initialize legacy kde support. This function blocks while the kde-\/config script is run. \end{DoxyCompactList}\item 
\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu} $\ast$ \hyperlink{group__Efreet__Menu_ga262bbe7b490a69fd81bcae77a9edc207}{efreet\+\_\+menu\+\_\+new} (const char $\ast$name)
\begin{DoxyCompactList}\small\item\em Creates a new menu. \end{DoxyCompactList}\item 
void \hyperlink{group__Efreet__Menu_gaf6de3882d42bccc068291bbcc1a0244a}{efreet\+\_\+menu\+\_\+file\+\_\+set} (const char $\ast$file)
\begin{DoxyCompactList}\small\item\em Override which file is used for menu creation. \end{DoxyCompactList}\item 
void \hyperlink{group__Efreet__Menu_gab02e50a02650b8f37954fbd8867e0fb3}{efreet\+\_\+menu\+\_\+async\+\_\+get} (\hyperlink{group__Efreet__Menu_gaab91b46110e8e15125a8ddfae0a3164f}{Efreet\+\_\+\+Menu\+\_\+\+Cb} func, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Creates the \hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu} representation of the default menu or N\+U\+L\+L if none found and returns it in the callback. \end{DoxyCompactList}\item 
\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu} $\ast$ \hyperlink{group__Efreet__Menu_ga3add55409db4cca3581973f3a22ff375}{efreet\+\_\+menu\+\_\+get} (void)
\begin{DoxyCompactList}\small\item\em Creates the default menu representation. \end{DoxyCompactList}\item 
void \hyperlink{group__Efreet__Menu_gacff1caff07b5d129a4e1b73f32349b8f}{efreet\+\_\+menu\+\_\+async\+\_\+parse} (const char $\ast$path, \hyperlink{group__Efreet__Menu_gaab91b46110e8e15125a8ddfae0a3164f}{Efreet\+\_\+\+Menu\+\_\+\+Cb} func, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Parses the given .menu file and creates the menu representation, and returns it in the callback. \end{DoxyCompactList}\item 
\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu} $\ast$ \hyperlink{group__Efreet__Menu_gaf771866e8e43479d7f989a9a785f8af1}{efreet\+\_\+menu\+\_\+parse} (const char $\ast$path)
\begin{DoxyCompactList}\small\item\em Parses the given .menu file and creates the menu representation. \end{DoxyCompactList}\item 
int \hyperlink{group__Efreet__Menu_ga11b1e15cbc386a7275930c8aa559e921}{efreet\+\_\+menu\+\_\+save} (\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu} $\ast$menu, const char $\ast$path)
\begin{DoxyCompactList}\small\item\em Saves the menu to file. \end{DoxyCompactList}\item 
void \hyperlink{group__Efreet__Menu_gaf6ce6f6ac0038217fe874cad8bd3ae6a}{efreet\+\_\+menu\+\_\+free} (\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu} $\ast$menu)
\begin{DoxyCompactList}\small\item\em Frees the given structure (if refcount at 1 at the time of this call) \end{DoxyCompactList}\item 
void \hyperlink{group__Efreet__Menu_ga083aa9f37c0726db3b04ade41084a532}{efreet\+\_\+menu\+\_\+ref} (\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu} $\ast$menu)
\begin{DoxyCompactList}\small\item\em Incriments refcount for the menu. \end{DoxyCompactList}\item 
void \hyperlink{group__Efreet__Menu_gace014272006d6dcac614fdb34960c0ac}{efreet\+\_\+menu\+\_\+unref} (\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu} $\ast$menu)
\begin{DoxyCompactList}\small\item\em Decrements refcount for the menu, and on 0 frees. \end{DoxyCompactList}\item 
int \hyperlink{group__Efreet__Menu_gad623606893391e7c32ff4f39fae0aab1}{efreet\+\_\+menu\+\_\+desktop\+\_\+insert} (\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu} $\ast$menu, \hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop} $\ast$desktop, int pos)
\begin{DoxyCompactList}\small\item\em Insert a desktop element in a menu structure. Only accepts desktop files in default directories. \end{DoxyCompactList}\item 
int \hyperlink{group__Efreet__Menu_ga1341ea90ebef422eb859f6fe69e81a1b}{efreet\+\_\+menu\+\_\+desktop\+\_\+remove} (\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu} $\ast$menu, \hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop} $\ast$desktop)
\begin{DoxyCompactList}\small\item\em Remove a desktop element in a menu structure. Only accepts desktop files in default directories. \end{DoxyCompactList}\item 
void \hyperlink{group__Efreet__Menu_ga25b14b29531706b9b2ca0f1bd378b169}{efreet\+\_\+menu\+\_\+dump} (\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu} $\ast$menu, const char $\ast$indent)
\begin{DoxyCompactList}\small\item\em Dumps the contents of the menu to the command line. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Contains the structures and methods to support the Desktop Menu Specification. 

