\hypertarget{group__Elm__Profile}{}\doxysection{Elementary Profile}
\label{group__Elm__Profile}\index{Elementary Profile@{Elementary Profile}}


Profiles are pre-\/set options that affect the whole look-\/and-\/feel of Elementary-\/based applications.  


\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
const char $\ast$ \mbox{\hyperlink{group__Elm__Profile_gaa7f90ba4d4502690ee84a08fa9494b9d}{elm\+\_\+config\+\_\+profile\+\_\+get}} (void)
\begin{DoxyCompactList}\small\item\em Get Elementary\textquotesingle{}s profile in use. \end{DoxyCompactList}\item 
const char $\ast$ \mbox{\hyperlink{group__Elm__Profile_gaded09ffdb2cf409f2c1d84811b15a2c3}{elm\+\_\+config\+\_\+profile\+\_\+dir\+\_\+get}} (const char $\ast$profile, \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} is\+\_\+user)
\begin{DoxyCompactList}\small\item\em Get an Elementary\textquotesingle{}s profile directory path in the filesystem. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Elm__Profile_gab26c330a4eae7e190984cc1638947341}{elm\+\_\+config\+\_\+profile\+\_\+dir\+\_\+free}} (const char $\ast$p\+\_\+dir)
\begin{DoxyCompactList}\small\item\em Free an Elementary\textquotesingle{}s profile directory path, as returned by \mbox{\hyperlink{group__Elm__Profile_gaded09ffdb2cf409f2c1d84811b15a2c3}{elm\+\_\+config\+\_\+profile\+\_\+dir\+\_\+get()}}. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} $\ast$ \mbox{\hyperlink{group__Elm__Profile_ga17d23afcf0e30b1844513405fc9ae81f}{elm\+\_\+config\+\_\+profile\+\_\+list\+\_\+get}} (void)
\begin{DoxyCompactList}\small\item\em Get Elementary\textquotesingle{}s list of available profiles. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} $\ast$ \mbox{\hyperlink{group__Elm__Profile_ga57997abf5620597b6d439c63d91901bb}{elm\+\_\+config\+\_\+profile\+\_\+list\+\_\+full\+\_\+get}} (void)
\begin{DoxyCompactList}\small\item\em Get Elementary\textquotesingle{}s list of available profiles including hidden ones. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Elm__Profile_gae312204c4dd4ec927748665b784b621b}{elm\+\_\+config\+\_\+profile\+\_\+list\+\_\+free}} (\mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} $\ast$l)
\begin{DoxyCompactList}\small\item\em Free Elementary\textquotesingle{}s list of available profiles. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Elm__Profile_ga68e7d7f56eefe7f4b15f5bb3b4aa6c96}{elm\+\_\+config\+\_\+profile\+\_\+exists}} (const char $\ast$profile)
\begin{DoxyCompactList}\small\item\em Return if a profile of the given name exists. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Elm__Profile_gafedf998f8887c1b51b2ea9a969dbad8c}{elm\+\_\+config\+\_\+profile\+\_\+set}} (const char $\ast$profile)
\begin{DoxyCompactList}\small\item\em Set Elementary\textquotesingle{}s profile. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Elm__Profile_ga88cf8cbf6c65aa37227c90ed63a8db1c}{elm\+\_\+config\+\_\+profile\+\_\+save}} (const char $\ast$profile)
\begin{DoxyCompactList}\small\item\em Take the current config and write it out to the named profile. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Elm__Profile_gae65dd9ed2cd9a110163eb3bf15729e66}{elm\+\_\+config\+\_\+profile\+\_\+derived\+\_\+add}} (const char $\ast$profile, const char $\ast$derive\+\_\+options)
\begin{DoxyCompactList}\small\item\em Add a new profile of the given name to be derived from the current profile. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Elm__Profile_ga616fc7d537fbf1a2f1078cba84cf94ce}{elm\+\_\+config\+\_\+profile\+\_\+derived\+\_\+del}} (const char $\ast$profile)
\begin{DoxyCompactList}\small\item\em Deletes a profile that is derived from the current one. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_gad5b2116495471db12a34bab9a34edfaa}{EINA\+\_\+\+DEPRECATED}} void \mbox{\hyperlink{group__Elm__Profile_ga89ae7eb05eb82a00408e3d6142e4eb73}{elm\+\_\+profile\+\_\+all\+\_\+set}} (const char $\ast$profile)
\begin{DoxyCompactList}\small\item\em Set Elementary\textquotesingle{}s profile. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Profiles are pre-\/set options that affect the whole look-\/and-\/feel of Elementary-\/based applications. 

There are, for example, profiles aimed at desktop computer applications and others aimed at mobile, touchscreen-\/based ones. You most probably don\textquotesingle{}t want to use the functions in this group unless you\textquotesingle{}re writing an elementary configuration manager. 

\doxysubsection{Function Documentation}
\mbox{\Hypertarget{group__Elm__Profile_gaa7f90ba4d4502690ee84a08fa9494b9d}\label{group__Elm__Profile_gaa7f90ba4d4502690ee84a08fa9494b9d}} 
\index{Elementary Profile@{Elementary Profile}!elm\_config\_profile\_get@{elm\_config\_profile\_get}}
\index{elm\_config\_profile\_get@{elm\_config\_profile\_get}!Elementary Profile@{Elementary Profile}}
\doxysubsubsection{\texorpdfstring{elm\_config\_profile\_get()}{elm\_config\_profile\_get()}}
{\footnotesize\ttfamily const char$\ast$ elm\+\_\+config\+\_\+profile\+\_\+get (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Get Elementary\textquotesingle{}s profile in use. 

This gets the global profile that is applied to all Elementary applications.

\begin{DoxyReturn}{Returns}
The profile\textquotesingle{}s name 
\end{DoxyReturn}
\mbox{\Hypertarget{group__Elm__Profile_gaded09ffdb2cf409f2c1d84811b15a2c3}\label{group__Elm__Profile_gaded09ffdb2cf409f2c1d84811b15a2c3}} 
\index{Elementary Profile@{Elementary Profile}!elm\_config\_profile\_dir\_get@{elm\_config\_profile\_dir\_get}}
\index{elm\_config\_profile\_dir\_get@{elm\_config\_profile\_dir\_get}!Elementary Profile@{Elementary Profile}}
\doxysubsubsection{\texorpdfstring{elm\_config\_profile\_dir\_get()}{elm\_config\_profile\_dir\_get()}}
{\footnotesize\ttfamily const char$\ast$ elm\+\_\+config\+\_\+profile\+\_\+dir\+\_\+get (\begin{DoxyParamCaption}\item[{const char $\ast$}]{profile,  }\item[{\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}}}]{is\+\_\+user }\end{DoxyParamCaption})}



Get an Elementary\textquotesingle{}s profile directory path in the filesystem. 

One may want to fetch a system profile\textquotesingle{}s dir or a user one (fetched inside \$\+HOME).


\begin{DoxyParams}{Parameters}
{\em profile} & The profile\textquotesingle{}s name \\
\hline
{\em is\+\_\+user} & Whether to lookup for a user profile ({\ttfamily EINA\+\_\+\+TRUE}) or a system one ({\ttfamily EINA\+\_\+\+FALSE}) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The profile\textquotesingle{}s directory path.
\end{DoxyReturn}
\begin{DoxyNote}{Note}
You must free it with \mbox{\hyperlink{group__Elm__Profile_gab26c330a4eae7e190984cc1638947341}{elm\+\_\+config\+\_\+profile\+\_\+dir\+\_\+free()}}. 
\end{DoxyNote}
\mbox{\Hypertarget{group__Elm__Profile_gab26c330a4eae7e190984cc1638947341}\label{group__Elm__Profile_gab26c330a4eae7e190984cc1638947341}} 
\index{Elementary Profile@{Elementary Profile}!elm\_config\_profile\_dir\_free@{elm\_config\_profile\_dir\_free}}
\index{elm\_config\_profile\_dir\_free@{elm\_config\_profile\_dir\_free}!Elementary Profile@{Elementary Profile}}
\doxysubsubsection{\texorpdfstring{elm\_config\_profile\_dir\_free()}{elm\_config\_profile\_dir\_free()}}
{\footnotesize\ttfamily void elm\+\_\+config\+\_\+profile\+\_\+dir\+\_\+free (\begin{DoxyParamCaption}\item[{const char $\ast$}]{p\+\_\+dir }\end{DoxyParamCaption})}



Free an Elementary\textquotesingle{}s profile directory path, as returned by \mbox{\hyperlink{group__Elm__Profile_gaded09ffdb2cf409f2c1d84811b15a2c3}{elm\+\_\+config\+\_\+profile\+\_\+dir\+\_\+get()}}. 


\begin{DoxyParams}{Parameters}
{\em p\+\_\+dir} & The profile\textquotesingle{}s path \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__Elm__Profile_ga17d23afcf0e30b1844513405fc9ae81f}\label{group__Elm__Profile_ga17d23afcf0e30b1844513405fc9ae81f}} 
\index{Elementary Profile@{Elementary Profile}!elm\_config\_profile\_list\_get@{elm\_config\_profile\_list\_get}}
\index{elm\_config\_profile\_list\_get@{elm\_config\_profile\_list\_get}!Elementary Profile@{Elementary Profile}}
\doxysubsubsection{\texorpdfstring{elm\_config\_profile\_list\_get()}{elm\_config\_profile\_list\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}}$\ast$ elm\+\_\+config\+\_\+profile\+\_\+list\+\_\+get (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Get Elementary\textquotesingle{}s list of available profiles. 

\begin{DoxyReturn}{Returns}
The profiles list. List node data are the profile name strings.
\end{DoxyReturn}
\begin{DoxyNote}{Note}
One must free this list, after usage, with the function \mbox{\hyperlink{group__Elm__Profile_gae312204c4dd4ec927748665b784b621b}{elm\+\_\+config\+\_\+profile\+\_\+list\+\_\+free()}}. 
\end{DoxyNote}


References EINA\+\_\+\+TRUE.

\mbox{\Hypertarget{group__Elm__Profile_ga57997abf5620597b6d439c63d91901bb}\label{group__Elm__Profile_ga57997abf5620597b6d439c63d91901bb}} 
\index{Elementary Profile@{Elementary Profile}!elm\_config\_profile\_list\_full\_get@{elm\_config\_profile\_list\_full\_get}}
\index{elm\_config\_profile\_list\_full\_get@{elm\_config\_profile\_list\_full\_get}!Elementary Profile@{Elementary Profile}}
\doxysubsubsection{\texorpdfstring{elm\_config\_profile\_list\_full\_get()}{elm\_config\_profile\_list\_full\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}}$\ast$ elm\+\_\+config\+\_\+profile\+\_\+list\+\_\+full\+\_\+get (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Get Elementary\textquotesingle{}s list of available profiles including hidden ones. 

This gets a full list of profiles even with hidden names that should not be user-\/visible.

\begin{DoxyReturn}{Returns}
The profiles list. List node data are the profile name strings.
\end{DoxyReturn}
\begin{DoxyNote}{Note}
One must free this list, after usage, with the function \mbox{\hyperlink{group__Elm__Profile_gae312204c4dd4ec927748665b784b621b}{elm\+\_\+config\+\_\+profile\+\_\+list\+\_\+free()}}. 
\end{DoxyNote}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}


References EINA\+\_\+\+FALSE.

\mbox{\Hypertarget{group__Elm__Profile_gae312204c4dd4ec927748665b784b621b}\label{group__Elm__Profile_gae312204c4dd4ec927748665b784b621b}} 
\index{Elementary Profile@{Elementary Profile}!elm\_config\_profile\_list\_free@{elm\_config\_profile\_list\_free}}
\index{elm\_config\_profile\_list\_free@{elm\_config\_profile\_list\_free}!Elementary Profile@{Elementary Profile}}
\doxysubsubsection{\texorpdfstring{elm\_config\_profile\_list\_free()}{elm\_config\_profile\_list\_free()}}
{\footnotesize\ttfamily void elm\+\_\+config\+\_\+profile\+\_\+list\+\_\+free (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} $\ast$}]{l }\end{DoxyParamCaption})}



Free Elementary\textquotesingle{}s list of available profiles. 


\begin{DoxyParams}{Parameters}
{\em l} & The profiles list, as returned by \mbox{\hyperlink{group__Elm__Profile_ga17d23afcf0e30b1844513405fc9ae81f}{elm\+\_\+config\+\_\+profile\+\_\+list\+\_\+get()}}. \\
\hline
\end{DoxyParams}


References EINA\+\_\+\+LIST\+\_\+\+FREE, and eina\+\_\+stringshare\+\_\+del().

\mbox{\Hypertarget{group__Elm__Profile_ga68e7d7f56eefe7f4b15f5bb3b4aa6c96}\label{group__Elm__Profile_ga68e7d7f56eefe7f4b15f5bb3b4aa6c96}} 
\index{Elementary Profile@{Elementary Profile}!elm\_config\_profile\_exists@{elm\_config\_profile\_exists}}
\index{elm\_config\_profile\_exists@{elm\_config\_profile\_exists}!Elementary Profile@{Elementary Profile}}
\doxysubsubsection{\texorpdfstring{elm\_config\_profile\_exists()}{elm\_config\_profile\_exists()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} elm\+\_\+config\+\_\+profile\+\_\+exists (\begin{DoxyParamCaption}\item[{const char $\ast$}]{profile }\end{DoxyParamCaption})}



Return if a profile of the given name exists. 

\begin{DoxyReturn}{Returns}
EINA\+\_\+\+TRUE if the profile exists, or EINA\+\_\+\+FALSE if not 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em profile} & The profile\textquotesingle{}s name\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}
\mbox{\Hypertarget{group__Elm__Profile_gafedf998f8887c1b51b2ea9a969dbad8c}\label{group__Elm__Profile_gafedf998f8887c1b51b2ea9a969dbad8c}} 
\index{Elementary Profile@{Elementary Profile}!elm\_config\_profile\_set@{elm\_config\_profile\_set}}
\index{elm\_config\_profile\_set@{elm\_config\_profile\_set}!Elementary Profile@{Elementary Profile}}
\doxysubsubsection{\texorpdfstring{elm\_config\_profile\_set()}{elm\_config\_profile\_set()}}
{\footnotesize\ttfamily void elm\+\_\+config\+\_\+profile\+\_\+set (\begin{DoxyParamCaption}\item[{const char $\ast$}]{profile }\end{DoxyParamCaption})}



Set Elementary\textquotesingle{}s profile. 

This sets the global profile that is applied to Elementary applications. Just the process the call comes from will be affected.


\begin{DoxyParams}{Parameters}
{\em profile} & The profile\textquotesingle{}s name \\
\hline
\end{DoxyParams}


References EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN.

\mbox{\Hypertarget{group__Elm__Profile_ga88cf8cbf6c65aa37227c90ed63a8db1c}\label{group__Elm__Profile_ga88cf8cbf6c65aa37227c90ed63a8db1c}} 
\index{Elementary Profile@{Elementary Profile}!elm\_config\_profile\_save@{elm\_config\_profile\_save}}
\index{elm\_config\_profile\_save@{elm\_config\_profile\_save}!Elementary Profile@{Elementary Profile}}
\doxysubsubsection{\texorpdfstring{elm\_config\_profile\_save()}{elm\_config\_profile\_save()}}
{\footnotesize\ttfamily void elm\+\_\+config\+\_\+profile\+\_\+save (\begin{DoxyParamCaption}\item[{const char $\ast$}]{profile }\end{DoxyParamCaption})}



Take the current config and write it out to the named profile. 

This will take the current in-\/memory config and write it out to the named profile specified by {\ttfamily profile}. This will not change profile for the application or make other processes switch profile.


\begin{DoxyParams}{Parameters}
{\em profile} & The profile\textquotesingle{}s name\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}


References EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN.

\mbox{\Hypertarget{group__Elm__Profile_gae65dd9ed2cd9a110163eb3bf15729e66}\label{group__Elm__Profile_gae65dd9ed2cd9a110163eb3bf15729e66}} 
\index{Elementary Profile@{Elementary Profile}!elm\_config\_profile\_derived\_add@{elm\_config\_profile\_derived\_add}}
\index{elm\_config\_profile\_derived\_add@{elm\_config\_profile\_derived\_add}!Elementary Profile@{Elementary Profile}}
\doxysubsubsection{\texorpdfstring{elm\_config\_profile\_derived\_add()}{elm\_config\_profile\_derived\_add()}}
{\footnotesize\ttfamily void elm\+\_\+config\+\_\+profile\+\_\+derived\+\_\+add (\begin{DoxyParamCaption}\item[{const char $\ast$}]{profile,  }\item[{const char $\ast$}]{derive\+\_\+options }\end{DoxyParamCaption})}



Add a new profile of the given name to be derived from the current profile. 

This creates a new profile of name {\ttfamily profile} that will be derived from the currently used profile using the modification commands encoded in the {\ttfamily derive\+\_\+options} string.

At this point it is not expected that anyone would generally use this API except if you are a desktop environment and so the user base of this API will be enlightenment itself.


\begin{DoxyParams}{Parameters}
{\em profile} & The new profile\textquotesingle{}s name \\
\hline
{\em derive\+\_\+options} & A string of derive options detailing how to modify\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Elm__Profile_ga616fc7d537fbf1a2f1078cba84cf94ce}{elm\+\_\+config\+\_\+profile\+\_\+derived\+\_\+del}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}


References eina\+\_\+list\+\_\+append(), and eina\+\_\+stringshare\+\_\+add().

\mbox{\Hypertarget{group__Elm__Profile_ga616fc7d537fbf1a2f1078cba84cf94ce}\label{group__Elm__Profile_ga616fc7d537fbf1a2f1078cba84cf94ce}} 
\index{Elementary Profile@{Elementary Profile}!elm\_config\_profile\_derived\_del@{elm\_config\_profile\_derived\_del}}
\index{elm\_config\_profile\_derived\_del@{elm\_config\_profile\_derived\_del}!Elementary Profile@{Elementary Profile}}
\doxysubsubsection{\texorpdfstring{elm\_config\_profile\_derived\_del()}{elm\_config\_profile\_derived\_del()}}
{\footnotesize\ttfamily void elm\+\_\+config\+\_\+profile\+\_\+derived\+\_\+del (\begin{DoxyParamCaption}\item[{const char $\ast$}]{profile }\end{DoxyParamCaption})}



Deletes a profile that is derived from the current one. 

This deletes a derived profile added by \mbox{\hyperlink{group__Elm__Profile_gae65dd9ed2cd9a110163eb3bf15729e66}{elm\+\_\+config\+\_\+profile\+\_\+derived\+\_\+add()}}. This will delete the profile of the given name {\ttfamily profile} that is derived from the current profile.

At this point it is not expected that anyone would generally use this API except if you are a desktop environment and so the user base of this API will be enlightenment itself.


\begin{DoxyParams}{Parameters}
{\em profile} & The profile\textquotesingle{}s name that is to be deleted\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Elm__Profile_gae65dd9ed2cd9a110163eb3bf15729e66}{elm\+\_\+config\+\_\+profile\+\_\+derived\+\_\+add}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}


References EINA\+\_\+\+LIST\+\_\+\+FOREACH.

\mbox{\Hypertarget{group__Elm__Profile_ga89ae7eb05eb82a00408e3d6142e4eb73}\label{group__Elm__Profile_ga89ae7eb05eb82a00408e3d6142e4eb73}} 
\index{Elementary Profile@{Elementary Profile}!elm\_profile\_all\_set@{elm\_profile\_all\_set}}
\index{elm\_profile\_all\_set@{elm\_profile\_all\_set}!Elementary Profile@{Elementary Profile}}
\doxysubsubsection{\texorpdfstring{elm\_profile\_all\_set()}{elm\_profile\_all\_set()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_gad5b2116495471db12a34bab9a34edfaa}{EINA\+\_\+\+DEPRECATED}} void elm\+\_\+profile\+\_\+all\+\_\+set (\begin{DoxyParamCaption}\item[{const char $\ast$}]{profile }\end{DoxyParamCaption})}



Set Elementary\textquotesingle{}s profile. 

This sets the global profile that is applied to all Elementary applications. All running Elementary windows will be affected.


\begin{DoxyParams}{Parameters}
{\em profile} & The profile\textquotesingle{}s name \\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Deprecated}
\item[\mbox{\hyperlink{deprecated__deprecated000194}{Deprecated}}]Use elm\+\_\+profile\+\_\+set() and \mbox{\hyperlink{group__Elm__Config_ga2906ee30d3976ab4917b3287eecdd526}{elm\+\_\+config\+\_\+all\+\_\+flush()}} \end{DoxyRefDesc}
