since: 2.14


const gchar*
g_get_user_special_dir (
  GUserDirectory directory


Returns the full path of a special directory using its logical id.

On UNIX this is done using the XDG special user directories. For compatibility with existing practise, G_USER_DIRECTORY_DESKTOP falls back to $HOME/Desktop when XDG special user directories have not been set up.

Depending on the platform, the user might be able to change the path of the special directory without requiring the session to restart; GLib will not reflect any change once the special directories are loaded.

Available since: 2.14



Type: GUserDirectory

The logical id of special directory.

Return value

Type: const gchar*

The path to the specified special directory, or NULL if the logical id was not found. The returned string is owned by GLib and should not be modified or freed.

The data is owned by the called function.
The return value can be NULL.
The value is a file system path, using the OS encoding.