Term::Visual

Split-terminal user interface
Download

Term::Visual Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Perl Artistic License
  • Price:
  • FREE
  • Publisher Name:
  • Charles Ayres
  • Publisher web site:
  • http://search.cpan.org/~lunartear/

Term::Visual Tags


Term::Visual Description

Split-terminal user interface Term::Visual is a "visual" terminal interface for curses applications, written in Perl. It provides the split-screen interface you may have seen in console based IRC and MUD clients.Term::Visual uses the POE networking and multitasking framework to support concurrent input from network sockets and the console, multiple timers, and more.SYNOPSIS #!/usr/bin/perl -w use strict; use Term::Visual; my $vt = Term::Visual->new( Alias => "interface", Errlevel => 0 ); $vt->set_palette( mycolor => "magenta on black", thiscolor => "green on black" ); my $window_id = $vt->create_window( Window_Name => "foo", Status => { 0 => { format => "template for status line 1", fields => }, 1 => { format => "template for status line 2", fields => }, }, Buffer_Size => 1000, History_Size => 50, Input_Prompt => " ", # Set the input prompt for the input line. Use_Title => 0, # Don't use a titlebar Use_Status => 0, # Don't use a statusbar Title => "Title of foo" ); POE::Session->create (inline_states => { _start => &start_handler, got_term_input => &term_input_handler, } ); sub start_handler { my $kernel = $_; # Tell the terminal to send me input as "got_term_input". $kernel->post( interface => send_me_input => "got_term_input" ); $vt->set_status_field( $window_id, bar => $value ); $vt->set_input_prompt($window_id, "$"); $vt->print( $window_id, "my Window ID is $window_id" ); } sub term_input_handler { my ($kernel, $heap, $input, $exception) = @_; # Got an exception. These are interrupt (^C) or quit (^). if (defined $exception) { warn "got exception: $exception"; exit; } $vt->print($window_id, $input); } # Only use delete_window if using multiple windows. $vt->delete_window( $window_id ); $vt->shutdown; Requirements: · Perl


Term::Visual Related Software