% include( '/elements/header.html', 'Developer Documentation' ) %> <& /elements/menubar.html, 'Freeside Perl Modules' => $fsurl.'docs/library/FS.html', 'Complete Index' => $fsurl.'docs/library/index.html', &>
File::UserDirs - find extra media and documents directories
This document describes File::UserDirs version 0.04.
use File::UserDirs qw(:all);
print xdg_desktop_dir; # e.g. /home/user/Desktop
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.
xdg_desktop_dirReturns the desktop directory. Unless changed by the user, this is the directory Desktop in the home directory.
xdg_documents_dirReturns the documents directory. Unless changed by the user, this is the home directory.
xdg_download_dirReturns the download directory. Unless changed by the user, this is the home directory.
xdg_music_dirReturns the music directory. Unless changed by the user, this is the home directory.
xdg_pictures_dirReturns the pictures directory. Unless changed by the user, this is the home directory.
xdg_publicshare_dirReturns the public share directory. Unless changed by the user, this is the home directory.
xdg_templates_dirReturns the templates directory. Unless changed by the user, this is the home directory.
xdg_videos_dirReturns the videos directory. Unless changed by the user, this is the home directory.
None by default, but any method can be exported on demand. Also the group :all is defined which exports all methods.
"xdg-user-dir" failed to start: %sThe executable xdg-user-dir could not be run, most likely because it was not installed. See "DEPENDENCIES".
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');
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"
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/.