.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "LCDproc 3pm" .TH LCDproc 3pm "2012-04-15" "perl v5.14.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" IO::LCDproc \- Perl extension to connect to an LCDproc ready display. .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& use IO::LCDproc; \& \& my $client = IO::LCDproc::Client\->new(name => "MYNAME"); \& my $screen = IO::LCDproc::Screen\->new(name => "screen"); \& my $title = IO::LCDproc::Widget\->new( \& name => "date", type => "title" \& ); \& my $first = IO::LCDproc::Widget\->new( \& name => "first", align => "center", xPos => 1, yPos => 2 \& ); \& my $second = IO::LCDproc::Widget\->new( \& name => "second", align => "center", xPos => 1, yPos => 3 \& ); \& my $third = IO::LCDproc::Widget\->new( \& name => "third", xPos => 1, yPos => 4 \& ); \& $client\->add( $screen ); \& $screen\->add( $title, $first, $second, $third ); \& $client\->connect() or die "cannot connect: $!"; \& $client\->initialize(); \& \& $title\->set( data => "This is the title" ); \& $first\->set( data => "First Line" ); \& $second\->set( data => "Second line" ); \& $third\->set( data => "Third Line" ); \& \& $client\->flushAnswers(); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" Follow the example above. Pretty straight forward. You create a client, assign a screen, add widgets, and then set the widgets. .SS "IO::LCDproc::Client" .IX Subsection "IO::LCDproc::Client" It is the back engine of the module. It generates the connection to a ready listening server. .PP \fI\s-1METHODS\s0\fR .IX Subsection "METHODS" .ie n .IP "new( name => 'Client_Name' [, host => $MYHOSTNAME] [, port => $MYPORTNUMBER] )" 4 .el .IP "new( name => 'Client_Name' [, host => \f(CW$MYHOSTNAME\fR] [, port => \f(CW$MYPORTNUMBER\fR] )" 4 .IX Item "new( name => 'Client_Name' [, host => $MYHOSTNAME] [, port => $MYPORTNUMBER] )" .Vb 2 \& Constructor. Takes the following possible arguments (arguments must be given in key => value form): \& host, port, and name. name is required. .Ve .IP "add( \fI\s-1SCREENREF\s0\fR )" 4 .IX Item "add( SCREENREF )" .Vb 1 \& Adds the screens that will be attached to this client. .Ve .IP "\fIconnect()\fR" 4 .IX Item "connect()" .Vb 1 \& Establishes connection to LCDproc server (LCDd). .Ve .IP "\fIinitialize()\fR" 4 .IX Item "initialize()" .Vb 1 \& Initializes client, screen and all the widgets with the server. .Ve .IP "\fIanswer()\fR" 4 .IX Item "answer()" .Vb 1 \& Reads an answer from the server .Ve .IP "\fIflushAnswers()\fR" 4 .IX Item "flushAnswers()" .Vb 1 \& Flushes all answers from the server (should be called regulary if you don\*(Aqt need the answers) .Ve .SS "IO::LCDproc::Screen" .IX Subsection "IO::LCDproc::Screen" \fI\s-1METHODS\s0\fR .IX Subsection "METHODS" .IP "new( name => '\s-1MYNAME\s0')" 4 .IX Item "new( name => 'MYNAME')" .Vb 2 \& Constructor. Allowed options: \& heartbeat => 1 or 0. .Ve .ie n .IP "add( @WIDGETS )" 4 .el .IP "add( \f(CW@WIDGETS\fR )" 4 .IX Item "add( @WIDGETS )" .Vb 1 \& Adds the given widgets to this screen. .Ve .ie n .IP "set_prio( $prio )" 4 .el .IP "set_prio( \f(CW$prio\fR )" 4 .IX Item "set_prio( $prio )" .Vb 1 \& Sets the screen priority with $prio one of \& \& hidden The screen will never be visible \& background The screen is only visible when no normal info screens exists \& info normal info screen, default priority \& foreground an active client \& alert The screen has an important message for the user. \& input The client is doing interactive input. .Ve .SS "IO::LCDproc::Widget" .IX Subsection "IO::LCDproc::Widget" \fI\s-1METHODS\s0\fR .IX Subsection "METHODS" .IP "new( name => '\s-1MYNAME\s0' )" 4 .IX Item "new( name => 'MYNAME' )" .Vb 2 \& Constructor. Allowed arguments: \& align (left, center, rigth), type (string, title, vbar, hbar, ...), xPos, yPos, data .Ve .IP "\fIset()\fR" 4 .IX Item "set()" .Vb 3 \& Sets the widget to the spec\*(Aqd args. They may be given on the function call or the may be \& pre specified. \& xPos, yPos, data .Ve .IP "\fIsave()\fR" 4 .IX Item "save()" .Vb 1 \& Saves current data to be user later. .Ve .IP "\fIrestore()\fR" 4 .IX Item "restore()" .Vb 1 \& Restore previously saved data. (Implicitly calls set) .Ve .SH "SEE ALSO" .IX Header "SEE ALSO" LCDd .SH "AUTHOR" .IX Header "AUTHOR" Juan C. Muller, .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" Copyright 2005 by Juan C. Muller .PP This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.