Provided by: libui-dialog-perl_1.09-1_all bug

NAME

       UI::Dialog::Backend::Nautilus - wrapper around the data provided by the nautilus(1).

SYNOPSIS

        use UI::Dialog::Backend::Nautilus;
        my $nautilus = new UI::Dialog::Backend::Nautilus ();
        my @paths = $nautilus->paths();

ABSTRACT

       UI::Dialog::Backend::Nautilus is simply an OOPerl wrapper around the data provided by the nautilus(1)
       file manager's scripts feature.

DESCRIPTION

       nautilus(1) is a GNOME file manager that has a "right-click" menu for user made scripts (found in the
       user's ~/.gnome2/nautilus-scripts/ directory). This is an OOPerl interface to the environment variables
       provided to the scripts during runtime by nautilus. When you use any of the UI::Dialog meta classes
       (UI::Dialog, UI::Dialog::GNOME, etc.) access to this backend is provided via the $d->nautilus method. ie:
       replace $nautilus with $d->nautilus in the synopsis example (provided you made $d with something like my
       $d = new UI::Dialog...). Also, UI::Dialog and friends only load this module when you first use the
       $d->nautilus method (this may silently fail, but you can test by ref() for success).

EXPORT

        None

INHERITS

        None

CONSTRUCTOR

   new( @options )
       EXAMPLE
            my $nautilus = new UI::Dialog::Backend::Nautilus ();

       DESCRIPTION
                 This is the Class Constructor method. It accepts a list of key => value pairs and uses them as
                 the defaults when interacting with the various widgets.

       RETURNS
                 A blessed object reference of the UI::Dialog::Backend::Nautilus class.

METHODS

   path( )
       EXAMPLE
            my $path = $nautilus->path();

       DESCRIPTION
                 This method examines the NAUTILUS_SCRIPT_CURRENT_URI string uri unescapes and strips it of any
                 prefixing protocol indicators (file://) then returns the modified string.

       RETURNS
            a SCALAR.

   paths( )
       EXAMPLE
            my @paths = $nautilus->paths();

       DESCRIPTION
                 This method splits the NAUTILUS_SCRIPT_SELECTED_FILE_PATHS multiline string and returns the
                 ARRAY of selections in the order provided by nautilus.

       RETURNS
            an ARRAY.

   uri( )
       EXAMPLE
            my $uri = $nautilus->uri();

       DESCRIPTION
                 This simply returns the NAUTILUS_SCRIPT_CURRENT_URI string.

       RETURNS
            a SCALAR.

   uris( )
       EXAMPLE
            my @uris = $nautilus->uris();

       DESCRIPTION
                 This method splits the NAUTILUS_SCRIPT_SELECTED_URIS multiline string and returns the ARRAY of
                 selections in the order provided by nautilus. This does not uri escape or unescape the string.

       RETURNS
            an ARRAY.

   geometry( )
       EXAMPLE
            my ($h,$w,$x,$y) = $nautilus->geometry();

       DESCRIPTION
                 This method splits the NAUTILUS_SCRIPT_WINDOW_GEOMETRY string and returns and ARRAY of the
                 geometry details provided by nautilus. The array returned contains the following (in order):

                  height
                  width
                  X-coordinate
                  Y-coordinate

       RETURNS
            an ARRAY.

   uri_unescape( )
       EXAMPLE
            my $path = $nautilus->uri_unescape( "file:///path/to/somewhere" );
            my @paths = $nautilus->uri_unescape( "file:///path/to/somewhere",
                                                 "file:///yet/another/path" );

       DESCRIPTION
                 This is the method used to unescape the NAUTILUS_SCRIPT_CURRENT_URI in the path() method. This
                 method is derived from the URI::Escape module which is not included in the Perl core modules
                 yet is vitally necessary for the path() method to function in a useful manor.

       RETURNS
                 an ARRAY or a SCALAR depending on the calling arguments.

SEE ALSO

       PERLDOC
          UI::Dialog
          UI::Dialog::Backend

       MAN FILES
          nautilus(1)

BUGS

        Please email the author with any bug reports. Include the name of the
        module in the subject line.

AUTHOR

        Kevin C. Krinke, E<lt>kevin@krinke.caE<gt>

COPYRIGHT AND LICENSE

        Copyright (C) 2013  Kevin C. Krinke <kevin@krinke.ca>

        This library is free software; you can redistribute it and/or
        modify it under the terms of the GNU Lesser General Public
        License as published by the Free Software Foundation; either
        version 2.1 of the License, or (at your option) any later version.

        This library is distributed in the hope that it will be useful,
        but WITHOUT ANY WARRANTY; without even the implied warranty of
        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
        Lesser General Public License for more details.

        You should have received a copy of the GNU Lesser General Public
        License along with this library; if not, write to the Free Software
        Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA