---
name: "UI::Dialog::Backend::XOSD"
section: "3pm"
platform: "linux"
package: "libui-dialog-perl"
version: "1.21-0.1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/UI::Dialog::Backend::XOSD"
---

# UI::Dialog::Backend::XOSD(3pm)

backend for the osd\_cat(1).

## NAME

UI::Dialog::Backend::XOSD - backend for the [osd\_cat(1)](/osd_cat/1.md).

## 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)](/osd_cat/1.md) 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)](/osd_cat/1.md) 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)](/osd_cat/1.md)

## 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) 2004-2016  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
```
