NAME

UI::Dialog::Backend::XOSD - backend for the osd_cat(1).

SYNOPSIS

use UI::Dialog::Backend::XOSD;
my $xosd = new UI::Dialog::Backend::XOSD ();
$xosd->line( text => "Something to display...");

ABSTRACT

UI::Dialog::Backend::XOSD is an OOPerl wrapper for the osd_cat(1) program.

DESCRIPTION

Use this module to present feedback to the end user via an on-screen display (like an on-screen TV volume meter). 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->xosd method. ie: replace $xosd with $d->xosd 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->xosd method (this may silently fail, but you can test by ref() for success).

EXPORT

    None

INHERITS

    UI::Dialog::Backend

CONSTRUCTOR

new( @options )

EXAMPLE
    my $xosd = new UI::Dialog::Backend::XOSD ( );
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. All methods accept the same arguments as new() except that the arguments passed to the methods are temporarily used instead of making them the default as the new() method does. In the case of the 'wait' option, any (non-zero) value enables the option as it's a switch and not a string argument.

RETURNS

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

OPTIONS

The (...)'s after each option indicate the default for the option. An * denotes support by all the widget methods on a per-use policy defaulting to the values decided during object creation.

offset = \d+ (0) *
align = \w+ ('left') *
indent = \d+ (0) *
font = "x-font-string" ('fixed') *
colour = \w+ ('red') *
delay = \d+ (5) *
lines = \d+ (5) *
shadow = \d+ (0) *
age = \d+ (0) *
wait = 0,1 (0) *

METHODS

line( )

EXAMPLE
    $xosd->line( text => "some text to display" );
DESCRIPTION

    Display a simple string on the screen.

RETURNS

    Nothing.

file( )

EXAMPLE
    $xosd->file( file => "/path/to/a/file" );
DESCRIPTION

    Display a file on the screen.

RETURNS

    Nothing.

gauge( )

EXAMPLE
    $xosd->gauge( text => "",
                  percent => $current_percentage,
                  length => 40,
                  bar => "-",
                  mark => "|" );
DESCRIPTION

    Display a gauge bar with a percentage mark on the screen with an optional message.

RETURNS

    Nothing.

display_start( )

EXAMPLE
    $xosd->display_start( );
DESCRIPTION

    Opens a pipe command to the osd_cat(1) program for prolonged interactivity. This accepts all of the standard options but has nothing else to offer. The other display_*() methods (detailed below) return zero unless this method has been used and has created the command pipe.

RETURNS

    TRUE (1) for success and FALSE (0) otherwise.

display_text( )

EXAMPLE
    $xosd->display_start();
    $xosd->display_text( "Some string to display." );
DESCRIPTION

    Uses the command pipe created by display_start() and prints the first argument to the screen. This method does not have any options, save the one string scalar.

RETURNS

    TRUE (1) for success and FALSE (0) otherwise.

display_gauge( )

EXAMPLE
    $xosd->display_start();
    $xosd->display_gauge( 50, "display an optional text string." );
DESCRIPTION

    Uses the command pipe created by display_start() and prints a gauge identical to the regular (stand-alone) gauge() method. There are only to accepted arguments; the desired percentage and an optional text string.

RETURNS

    TRUE (1) for success and FALSE (0) otherwise.

display_stop( )

EXAMPLE
    $xosd->display_start();
    $xosd->display_text( "about to stop!" );
    $xosd->display_stop();
DESCRIPTION

    This closes the command pipe opened by the display_start() method. This method takes no arguments and performs only the task for closing and existing command pipe.

RETURNS

    TRUE (1) for success and FALSE (0) otherwise.

SEE ALSO

PERLDOC
UI::Dialog
UI::Dialog::Backend
MAN FILES

osd_cat(1)

BUGS

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

AUTHOR

Kevin C. Krinke, <kevin@krinke.ca>

COPYRIGHT AND LICENSE

Copyright (C) 2015  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