LCDproc(3pm)
LCDproc π the Perl manual, but make it cute
okay bestie, so this is IO::LCDproc(3pm) β a User Contributed Perl Documentation page, aka the whole vibe guide for talking to your LCDproc display from Perl. pull up a chair, grab a strawberry π, and let's get into it.
β¨ NAME β¨
IO::LCDproc β the Perl extension that connects you to an LCDproc-ready display. it's giving "your Perl script but make it β¨visible on a tiny screenβ¨". no cap.
πΈ SYNOPSIS πΈ
here's the whole main-character moment, copy-paste ready:
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();
π¦ DESCRIPTION π¦
literally just follow the example up there, bestie. it's pretty straight forward, fr fr. the whole flow is: you create a client π, you assign a screen, you add widgets, and then you set the widgets. that's the entire plot. periodt.
π IO::LCDproc::Client π
this is the back engine of the whole module, the main character behind the scenes. it's the one that generates the connection to a ready, listening server. it ate, honestly.
METHODS
new( name => 'Client_Name' [, host => $MYHOSTNAME] [, port => $MYPORTNUMBER] )β the Constructor, aka the birth of your client π«. it takes these possible arguments, and yes they must be given inkey => valueform:host,port, andname. andnameis required, so don't skip it, okay?add( SCREENREF )β adds the screens that will be attached to this client. this is you picking which screens get to ride with you π«Ά.connect()β establishes the connection to the LCDproc server (LCDd). the moment of truth β¨.initialize()β initializes the client, the screen, and all the widgets with the server. everybody gets ready at once.answer()β reads an answer from the server π.flushAnswers()β flushes all the answers from the server. and lowkey important: this should be called regularly if you don't need the answers. don't leave your server hanging with unread replies, bestie π.
π IO::LCDproc::Screen π
METHODS
new( name => 'MYNAME')β Constructor β¨. allowed options:heartbeat => 1or0. that's the tea.add( @WIDGETS )β adds the given widgets to this screen. pop them on there π .set_prio( $prio )β sets the screen priority, where$priois one of these iconic tiers:hiddenβ the screen will never be visible. ghost mode π».backgroundβ the screen is only visible when no normal info screens exist. it's the backup dancer π.infoβ normal info screen, and this is the default priority.foregroundβ an active client. front and center π₯.alertβ the screen has an important message for the user. π¨ drama incoming π¨.inputβ the client is doing interactive input. type type type β¨οΈ.
π§ IO::LCDproc::Widget π§
METHODS
new( name => 'MYNAME' )β Constructor β¨. allowed arguments:align(left,center,rigth),type(string,title,vbar,hbar,...),xPos,yPos,data. (yes, it saysrigthβ we are keeping it exactly as written, no fixing, that's the rule π)set()β sets the widget to the spec'd args. they may be given on the function call, or they may be pre specified. the args arexPos,yPos,data.save()β saves the current data to be user later. tucking it away for safekeeping π«Ά.restore()β restores previously saved data. and heads up: it implicitly callsset. so it does two things at once, multitasking queen π.
β SEE ALSO β
LCDd
π AUTHOR π
Juan C. Muller, <jcmuller@gmail.com>
π COPYRIGHT AND LICENSE π
Copyright 2005 by Juan C. Muller
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
and that's the whole page, bestie! π this was LCDproc(3pm) from perl v5.32.0, dated 2021-01-08 β sending you off with that exact energy, mwah ππ
π¦
π¦ where this page comes from
- debian bookworm: libio-lcdproc-perl 0.037-1.1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- debian trixie: libio-lcdproc-perl 0.037-1.1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu jammy: libio-lcdproc-perl 0.037-1.1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu noble: libio-lcdproc-perl 0.037-1.1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms