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"