gimpenv

Name

gimpenv -- Functions to access the GIMP environment.

Synopsis



gchar*      gimp_directory                  (void);
gchar*      gimp_personal_rc_file           (gchar *basename);
gchar*      gimp_data_directory             (void);
gchar*      gimp_gtkrc                      (void);
GList*      gimp_path_parse                 (gchar *path,
                                             gint max_paths,
                                             gboolean check,
                                             GList **check_failed);
void        gimp_path_free                  (GList *path);
gchar*      gimp_path_to_str                (GList *path);
gchar*      gimp_path_get_user_writable_dir (GList *path);

Description

A set of functions to find the locations of GIMP's data directories and configuration files.

Details

gimp_directory ()

gchar*      gimp_directory                  (void);

Returns the user-specific GIMP settings directory. If the environment variable GIMP_DIRECTORY exists, it is used. If it is an absolute path, it is used as is. If it is a relative path, it is taken to be a subdirectory of the home directory. If it is relative path, and no home directory can be determined, it is taken to be a subdirectory of gimp_data_directory().

The usual case is that no GIMP_DIRECTORY environment variable exists, and then we use the GIMPDIR subdirectory of the home directory. If no home directory exists, we use a per-user subdirectory of gimp_data_directory(). In any case, we always return some non-empty string, whether it corresponds to an existing directory or not.

The returned string is allocated just once, and should *NOT* be freed with g_free().

Returns : The user-specific GIMP settings directory.


gimp_personal_rc_file ()

gchar*      gimp_personal_rc_file           (gchar *basename);

Returns the name of a file in the user-specific GIMP settings directory.

The returned string is allocated dynamically and *SHOULD* be freed with g_free() after use.

basename : The basename of a rc_file.
Returns : The name of a file in the user-specific GIMP settings directory.


gimp_data_directory ()

gchar*      gimp_data_directory             (void);

Returns the top directory for GIMP data. If the environment variable GIMP_DATADIR exists, that is used. It should be an absolute pathname. Otherwise, on Unix the compile-time defined directory is used. On Win32, the installation directory as deduced from the executable's name is used.

The returned string is allocated just once, and should *NOT* be freed with g_free().

Returns : The top directory for GIMP data.


gimp_gtkrc ()

gchar*      gimp_gtkrc                      (void);

Returns the name of the GIMP's application-specific gtkrc file.

The returned string is allocated just once, and should *NOT* be freed with g_free().

Returns : The name of the GIMP's application-specific gtkrc file.


gimp_path_parse ()

GList*      gimp_path_parse                 (gchar *path,
                                             gint max_paths,
                                             gboolean check,
                                             GList **check_failed);

path : A list of directories separated by G_SEARCHPATH_SEPARATOR.
max_paths : The maximum number of directories to return.
check : TRUE if you want the directories to be checked.
check_failed : Returns a GList of path elements for which the check failed. Each list element is guaranteed to end with a G_PATH_SEPARATOR.
Returns : A GList of all directories in path. Each list element is guaranteed to end with a G_PATH_SEPARATOR.


gimp_path_free ()

void        gimp_path_free                  (GList *path);

This function frees the memory allocated for the list and it's strings.

path : A list of directories as returned by gimp_path_parse().


gimp_path_to_str ()

gchar*      gimp_path_to_str                (GList *path);

path : A list of directories as returned by gimp_path_parse().
Returns : A searchpath string separated by G_SEARCHPATH_SEPARATOR.


gimp_path_get_user_writable_dir ()

gchar*      gimp_path_get_user_writable_dir (GList *path);

Note that you have to g_free() the returned string.

path : A list of directories as returned by gimp_path_parse().
Returns : The first directory in path where the user has write permission.