GIMP Library Reference Manual
<<< Previous Page | Home | Up | Next Page >>>

# 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_sysconf_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_sysconf_directory ()

    gchar*      gimp_sysconf_directory          (void);

Returns the top directory for GIMP config files. If the environment variable GIMP_SYSCONFDIR 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 config files.

### 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.

<<< Previous Page | Home | Up | Next Page >>>
gimp | gimpcompat