Functions
Elementary Profile

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

Functions

const char * elm_config_profile_get (void)
 Get Elementary's profile in use. More...
 
const char * elm_config_profile_dir_get (const char *profile, Eina_Bool is_user)
 Get an Elementary's profile directory path in the filesystem. More...
 
void elm_config_profile_dir_free (const char *p_dir)
 Free an Elementary's profile directory path, as returned by elm_config_profile_dir_get(). More...
 
Eina_Listelm_config_profile_list_get (void)
 Get Elementary's list of available profiles. More...
 
Eina_Listelm_config_profile_list_full_get (void)
 Get Elementary's list of available profiles including hidden ones. More...
 
void elm_config_profile_list_free (Eina_List *l)
 Free Elementary's list of available profiles. More...
 
Eina_Bool elm_config_profile_exists (const char *profile)
 Return if a profile of the given name exists. More...
 
void elm_config_profile_set (const char *profile)
 Set Elementary's profile. More...
 
void elm_config_profile_save (const char *profile)
 Take the current config and write it out to the named profile. More...
 
void elm_config_profile_derived_add (const char *profile, const char *derive_options)
 Add a new profile of the given name to be derived from the current profile. More...
 
void elm_config_profile_derived_del (const char *profile)
 Deletes a profile that is derived from the current one. More...
 
EINA_DEPRECATED void elm_profile_all_set (const char *profile)
 Set Elementary's profile. More...
 

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't want to use the functions in this group unless you're writing an elementary configuration manager.

Function Documentation

◆ elm_config_profile_get()

const char* elm_config_profile_get ( void  )

Get Elementary's profile in use.

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

Returns
The profile's name

◆ elm_config_profile_dir_get()

const char* elm_config_profile_dir_get ( const char *  profile,
Eina_Bool  is_user 
)

Get an Elementary's profile directory path in the filesystem.

One may want to fetch a system profile's dir or a user one (fetched inside $HOME).

Parameters
profileThe profile's name
is_userWhether to lookup for a user profile (EINA_TRUE) or a system one (EINA_FALSE)
Returns
The profile's directory path.
Note
You must free it with elm_config_profile_dir_free().

◆ elm_config_profile_dir_free()

void elm_config_profile_dir_free ( const char *  p_dir)

Free an Elementary's profile directory path, as returned by elm_config_profile_dir_get().

Parameters
p_dirThe profile's path

◆ elm_config_profile_list_get()

Eina_List* elm_config_profile_list_get ( void  )

Get Elementary's list of available profiles.

Returns
The profiles list. List node data are the profile name strings.
Note
One must free this list, after usage, with the function elm_config_profile_list_free().

References EINA_TRUE.

◆ elm_config_profile_list_full_get()

Eina_List* elm_config_profile_list_full_get ( void  )

Get Elementary'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.

Returns
The profiles list. List node data are the profile name strings.
Note
One must free this list, after usage, with the function elm_config_profile_list_free().
Since
1.17

References EINA_FALSE.

◆ elm_config_profile_list_free()

void elm_config_profile_list_free ( Eina_List l)

Free Elementary's list of available profiles.

Parameters
lThe profiles list, as returned by elm_config_profile_list_get().

References EINA_LIST_FREE, and eina_stringshare_del().

◆ elm_config_profile_exists()

Eina_Bool elm_config_profile_exists ( const char *  profile)

Return if a profile of the given name exists.

Returns
EINA_TRUE if the profile exists, or EINA_FALSE if not
Parameters
profileThe profile's name
Since
1.17

◆ elm_config_profile_set()

void elm_config_profile_set ( const char *  profile)

Set Elementary's profile.

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

Parameters
profileThe profile's name

References EINA_SAFETY_ON_NULL_RETURN.

◆ elm_config_profile_save()

void elm_config_profile_save ( const char *  profile)

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 profile. This will not change profile for the application or make other processes switch profile.

Parameters
profileThe profile's name
Since
1.17

References EINA_SAFETY_ON_NULL_RETURN.

◆ elm_config_profile_derived_add()

void elm_config_profile_derived_add ( const char *  profile,
const char *  derive_options 
)

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

This creates a new profile of name profile that will be derived from the currently used profile using the modification commands encoded in the 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.

Parameters
profileThe new profile's name
derive_optionsA string of derive options detailing how to modify
See also
elm_config_profile_derived_del
Since
1.17

References eina_list_append(), and eina_stringshare_add().

◆ elm_config_profile_derived_del()

void elm_config_profile_derived_del ( const char *  profile)

Deletes a profile that is derived from the current one.

This deletes a derived profile added by elm_config_profile_derived_add(). This will delete the profile of the given name 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.

Parameters
profileThe profile's name that is to be deleted
See also
elm_config_profile_derived_add
Since
1.17

References EINA_LIST_FOREACH.

◆ elm_profile_all_set()

EINA_DEPRECATED void elm_profile_all_set ( const char *  profile)

Set Elementary's profile.

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

Parameters
profileThe profile's name
Deprecated:
Use elm_profile_set() and elm_config_all_flush()