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