#
#
-require 5.004;
+require 5.16.1;
use warnings;
# search local then perl directories
do_initscr();
$inscroll = 0;
+ dbg("resize: l=$lines c=$cols");
+ dbg("resize: sh=". scalar @sh );
+# my @tsh;
+# my $t;
+# while (defined ($t = shift @sh)) {
+# dbg("t: $t(" , length $t . ')');
+# if ($t =~ /^\t/) {
+# $t =~ s/^\t/ /;
+# push(@tsh, pop(@tsh) . $t)
+# } else {
+# push(@tsh, $t);
+# }
+# dbg("tsh: " . scalar @tsh);
+# }
+# dbg("resize: tsh=". scalar @tsh );
+# $spos = @tsh < $pagel ? 0 : @tsh - $pagel;
+ # addtotop(@tsh);
$spos = @sh < $pagel ? 0 : @sh - $pagel;
show_screen();
+ $conn->send_later("C$call|$cols") if $conn;
}
# cease communications
while (@_) {
my $inbuf = shift;
my $l = length $inbuf;
+ dbg("addtotop: $l $inbuf");
if ($l > $cols) {
-# $Text::Wrap::Columns = $cols;
-# push @sh, wrap('',"\t", $inbuf);
- push @sh, $inbuf;
+ $inbuf =~ s/\s+/ /g;
+ if (length $inbuf > $cols) {
+ $Text::Wrap::columns = $cols;
+ push @sh, split /\n/, wrap('',' ' x 19, $inbuf);
+ } else {
+ push @sh, $inbuf;
+ }
} else {
push @sh, $inbuf;
}
}
my $ch = $bot->getch(); # this is here just to catch RESIZE events
if (defined $ch) {
- if ($ch == KEY_RESIZE) {
+ if ($ch eq KEY_RESIZE) {
doresize();
} else {
- rec_stdin($ch) unless $ch == '-1';
+ rec_stdin($ch) unless $ch eq '-1';
}
}
$top->refresh() if $top->is_wintouched;
while (@ARGV && $ARGV[0] =~ /^-/) {
my $arg = shift;
- dbgadd('console'), $maxshist = 200 if $arg eq '-x';
+ if ($arg eq '-x') {
+ dbginit('console');
+ dbgadd('console');
+ $maxshist = 200;
+ }
}
$call = uc shift @ARGV if @ARGV;
exit(0);
}
-dbginit();
-
unless ($DB::VERSION) {
$SIG{'INT'} = \&sig_term;
$SIG{'TERM'} = \&sig_term;
$SIG{'HUP'} = \&sig_term;
-# start up
+
+# start upb
+$Text::Wrap::Columns = $cols;
doresize();
$SIG{__DIE__} = \&sig_term;
-#$Text::Wrap::Columns = $cols;
+$Text::Wrap::columns = $cols;
my $lastmin = 0;
$conn->{on_connect} = \&on_connect;
$conn->{on_disconnect} = \&on_disconnect;
-my $timer = Mojo::IOLoop->recurring(1, sub {DXLog::flushall()});
+my $timer = Mojo::IOLoop->recurring(1, sub {DXLog::flushall()}) if $DXDebug::fp;
$idle = Mojo::IOLoop->recurring(0.100 => \&idle_loop);
Mojo::IOLoop->singleton->reactor->io(\*STDIN => sub {