Provided by: perl-tk_804.036+dfsg1-1ubuntu3_amd64 bug

NAME

       Tk::chooseDirectory - pops up a dialog box for the user to select a directory.

SYNOPSIS

       $widget->chooseDirectory( ?option value ...? );

DESCRIPTION

       The method chooseDirectory is implemented as a perl wrapper on the core tk "command" tk_chooseDirectory,
       and $widget is passed as the argument to the hidden -parent option.

       The chooseDirectory method pops up a dialog box for the user to select a directory. The following option-
       value pairs are possible as command line arguments:

       -initialdir dirname
           Specifies  that  the  directories  in  directory should be displayed when the dialog pops up. If this
           parameter is not specified, then the directories in the current working directory are  displayed.  If
           the  parameter  specifies  a  relative  path,  the  return value will convert the relative path to an
           absolute path.  This option may not always work on the Macintosh.  This is not  a  bug.  Rather,  the
           General  Controls  control  panel  on the Mac allows the end user to override the application default
           directory.

       -parent $widget
           Makes $widget the logical parent of the dialog. The dialog is displayed on top of its parent window.

       -title titleString
           Specifies a string to display as the title of the dialog box. If this option is not specified, then a
           default title will be displayed.

       -mustexist boolean
           Specifies whether the user may specify non-existant directories.  If this parameter is true, then the
           user may only select directories that already exist.  The default value is false.

CAVEATS

       Perl does not have a concept of encoded filesystems yet. This means that  operations  on  filenames  like
       "opendir"  and  "open"  still  use  byte semantics. Tk however uses character semantics internally, which
       means that you  can  get  filenames  with  the  UTF-8  flag  set  in  functions  like  "chooseDirectory",
       "getOpenFile"  and  similar.  It's  the user's responsibility to determine the encoding of the underlying
       filesystem and convert the result into bytes, e.g.

           use Encode;
           ...
           my $dir = $mw->chooseDirectory;
           $dir = encode("windows-1252", $dir);
           opendir DIR, $dir or die $!;
           ...

       See also "When Unicode Does Not Happen" in perlunicode and "Unicode in Filenames" in perltodo.

EXAMPLE

           my $dir = $mw->chooseDirectory(-initialdir => '~',
                                          -title => 'Choose a directory');
           if (!defined $dir) {
               warn 'No directory selected';
           } else {
               warn "Selected $dir";
           }

SEE ALSO

       Tk::getOpenFile, Tk::getOpenFile

KEYWORDS

       directory selection dialog

perl v5.38.2                                       2024-04-01                               chooseDirectory(3pm)