File::UserDirs - Find extra media and documents directories
version 0.09
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.
May be exported on request. Also the group :all
is
defined which exports all methods.
my $dir = xdg_desktop_dir;
Returns the desktop directory. Unless changed by the user, this is the directory Desktop in the home directory.
my $dir = xdg_documents_dir;
Returns the documents directory. Unless changed by the user, this is the home directory.
my $dir = xdg_download_dir;
Returns the download directory. Unless changed by the user, this is the home directory.
my $dir = xdg_music_dir;
Returns the music directory. Unless changed by the user, this is the home directory.
my $dir = xdg_pictures_dir;
Returns the pictures directory. Unless changed by the user, this is the home directory.
my $dir = xdg_publicshare_dir;
Returns the public share directory. Unless changed by the user, this is the home directory.
my $dir = xdg_templates_dir;
Returns the templates directory. Unless changed by the user, this is the home directory.
my $dir = xdg_videos_dir;
Returns the videos directory. Unless changed by the user, this is the home directory.
The 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/>.
Jaap Karssenberg || Pardus [Larus] <pardus@cpan.org>
Graham Ollis <plicease@cpan.org>
This software is copyright (c) 2003-2021 by Jaap Karssenberg || Pardus [Larus] <pardus@cpan.org>.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.