### Function

# GLib get_user_special_dir

since: 2.14

#### Declaration [src]

    const gchar*
    g_get_user_special_dir (
      GUserDirectory directory
    )

#### Description [src]

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

#### Parameters

`directory`

  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 platform-native string, using the preferred OS encoding on Unix and UTF-8 on Windows.