File::UserDirs

NAME

File::UserDirs − find extra media and documents directories

VERSION

This document describes File::UserDirs version 0.04.

SYNOPSIS

use File::UserDirs qw(:all);
print xdg_desktop_dir; # e.g. /home/user/Desktop

DESCRIPTION

This module can be used to find directories as informally specified by the Freedesktop.org xdg-user-dirs software. This gives a mechanism to locate extra directories for media and documents files.

INTERFACE

"xdg_desktop_dir"

Returns the desktop directory. Unless changed by the user, this is the directory Desktop in the home directory.

"xdg_documents_dir"

Returns the documents directory. Unless changed by the user, this is the home directory.

"xdg_download_dir"

Returns the download directory. Unless changed by the user, this is the home directory.

"xdg_music_dir"

Returns the music directory. Unless changed by the user, this is the home directory.

"xdg_pictures_dir"

Returns the pictures directory. Unless changed by the user, this is the home directory.

"xdg_publicshare_dir"

Returns the public share directory. Unless changed by the user, this is the home directory.

"xdg_templates_dir"

Returns the templates directory. Unless changed by the user, this is the home directory.

"xdg_videos_dir"

Returns the videos directory. Unless changed by the user, this is the home directory.

EXPORTS

None by default, but any method can be exported on demand. Also the group ":all" is defined which exports all methods.

DIAGNOSTICS

""xdg−user−dir" failed to start: %s"

The executable "xdg−user−dir" could not be run, most likely because it was not installed. See " DEPENDENCIES" .

CONFIGURATION AND ENVIRONMENT

The location of the directories can be specified by the user in the file $XDG_CONFIG_HOME/user−dirs.dirs. It is a shell file setting a number of environment variables. To find the exact pathname from Perl, run:

use File::BaseDir qw(config_home);
print config_home('user−dirs.dirs');

Example customised user−dirs.dirs
XDG_DESKTOP_DIR="$HOME/Workspace"
XDG_DOCUMENTS_DIR="$HOME/Files"
XDG_DOWNLOAD_DIR="$HOME/Files/Downloads"
XDG_MUSIC_DIR="$HOME/Files/Audio"
XDG_PICTURES_DIR="$HOME/Files/Images"
XDG_PUBLICSHARE_DIR="$HOME/public_html"
XDG_TEMPLATES_DIR="$HOME/Files/Document templates"
XDG_VIDEOS_DIR="$HOME/Files/Video"

DEPENDENCIES

This module requires the executable xdg-user-dir from the package "xdg−user−dirs". Source code is available from <http://cgit.freedesktop.org/xdg/xdg−user−dirs/>.

SEE ALSO