X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2Fconsole.pl;h=97b6220df84dbdec0663dc3263c368bc19faee32;hb=2747e0fe4269e9a7e095c333598191eb9dca63fc;hp=720d25752f92b2a2f21319029eb67ee7afa8aed9;hpb=4b49fe47b37249d748f0a52fe2a778d4bc27232f;p=spider.git diff --git a/perl/console.pl b/perl/console.pl index 720d2575..97b6220d 100755 --- a/perl/console.pl +++ b/perl/console.pl @@ -27,11 +27,16 @@ BEGIN { $is_win = ($^O =~ /^MS/ || $^O =~ /^OS-2/) ? 1 : 0; # is it Windows? } +$clusteraddr = '127.0.0.1'; +$clusterport = 27754; + use Mojo::IOLoop; +use DXVars; +use SysVar; + use Msg; use IntMsg; -use DXVars; use DXDebug; use DXUtil; use DXDebug; @@ -175,13 +180,18 @@ sub measure sub show_screen { if ($spos == @shistory - 1) { - # if we really are scrolling thru at the end of the history my $line = $shistory[$spos]; - $top->addstr("\n") if $spos > 0; + my $y = $spos; + if ($spos >= $pagel) { + $top->scrl(1); + $y = $pagel-1; +# $top->addstr("\r"); + } + $top->move($y, 0); + $top->refresh; setattr($line); $top->addstr($line); -# $top->addstr("\n"); $top->attrset(COLOR_PAIR(0)) if $has_colors; $spos = @shistory; @@ -203,8 +213,7 @@ sub show_screen for ($i = 0; $i < $pagel && $p < @shistory; $p++) { my $line = $shistory[$p]; my $lines = measure($line); - last if $i + $lines > $pagel; - $top->addstr("\n") if $i; + $top->move($i, 0); setattr($line); $top->addstr($line); $top->attrset(COLOR_PAIR(0)) if $has_colors; @@ -237,7 +246,8 @@ sub addtotop if ($inbuf =~ s/\x07+$//) { beep(); } - if (length $inbuf >= $cols) { + $inbuf =~ s/\s+$//s; + if (length $inbuf > $cols) { $Text::Wrap::Columns = $cols; push @shistory, wrap('',"\t", $inbuf); } else { @@ -256,7 +266,10 @@ sub rec_socket cease(1); } if (defined $msg) { - my ($sort, $call, $line) = $msg =~ /^(\w)([^\|]+)\|(.*)$/; + my ($sort, $incall, $line) = $msg =~ /^(\w)([^\|]+)\|(.*)$/; + + # change my call if my node says "tonight Michael you are Jane" or something like that... + $call = $incall if $call ne $incall; $line =~ s/[\x00-\x06\x08\x0a-\x19\x1b-\x1f\x80-\x9f]/./g; # immutable CSI sequence + control characters if ($sort && $sort eq 'D') {