X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2Fconsole.pl;h=3258af44ffb1441b734146b5bee5c7d58a8b4a5c;hb=2b7e736fb36d7edc64930ce9a8acffb86257e3ed;hp=7e725029b0fb79919dcf7dfda141aef98b2f3602;hpb=ef77e5488c4cc47afe272f6220cc3fa0cddc5829;p=spider.git diff --git a/perl/console.pl b/perl/console.pl index 7e725029..3258af44 100755 --- a/perl/console.pl +++ b/perl/console.pl @@ -14,8 +14,22 @@ # require 5.16.1; +use strict; use warnings; +our $root; +our $is_win; +our $myalias; +our $mycall; +our $clusteraddr; +our $clusterport; +our $maxshist; +our $maxkhist; +our $foreground; +our $background; +our $mycallcolor; +our @colors; + # search local then perl directories BEGIN { # root of directory tree for this system @@ -27,8 +41,6 @@ BEGIN { $is_win = ($^O =~ /^MS/ || $^O =~ /^OS-2/) ? 1 : 0; # is it Windows? } -$clusteraddr = '127.0.0.1'; -$clusterport = 27754; use Mojo::IOLoop; @@ -51,20 +63,36 @@ use Console; # initialisation # -$call = ""; # the callsign being used -$node = ""; # the node callsign being used -$conn = 0; # the connection object for the cluster -$lasttime = time; # lasttime something happened on the interface - -$connsort = "local"; -@kh = (); -@sh = (); -$kpos = 0; -$spos = $pos = $lth = 0; -$inbuf = ""; -$lastmin = 0; -$idle = 0; -$inscroll = 0; +$clusteraddr //= '127.0.0.1'; +$clusterport //= 27754; + +our $call = ""; # the callsign being used +our $node = ""; # the node callsign being used +our $conn = 0; # the connection object for the cluster +our $lasttime = time; # lasttime something happened on the interface + +our $connsort = "local"; +our @kh = (); +our @sh = (); +our $kpos = 0; +our $inbuf = ""; +our $idle = 0; +our $inscroll = 0; + +my $top; +my $bot; +my $lines; +my $scr; +my $cols; +my $pagel; +my $has_colors; +our $pos; +our $lth; +my $sh; + +our $spos = $pos = $lth = 0; + + #$SIG{WINCH} = sub {@time = gettimeofday}; @@ -474,6 +502,7 @@ sub rec_socket $lasttime = time; } +my $lastmin = 0; sub idle_loop { @@ -504,8 +533,8 @@ sub on_connect { my $conn = shift; $conn->send_later("A$call|$connsort width=$cols enhanced"); - $conn->send_later("I$call|set/page $maxshist"); - #$conn->send_later("I$call|set/nobeep"); + $conn->send_later("I$call|set/page " . ($maxshist-5)); + $conn->send_later("I$call|set/nobeep"); } sub on_disconnect @@ -533,10 +562,11 @@ $call = uc shift @ARGV if @ARGV; $call = uc $myalias unless $call; $node = uc $mycall unless $node; +$call = normalise_call($call); my ($scall, $ssid) = split /-/, $call; $ssid = undef unless $ssid && $ssid =~ /^\d+$/; if ($ssid) { - $ssid = 15 if $ssid > 15; + $ssid = 99 if $ssid > 99; $call = "$scall-$ssid"; } @@ -559,9 +589,6 @@ doresize(); $SIG{__DIE__} = \&sig_term; -my $lastmin = 0; - - $conn = IntMsg->connect($clusteraddr, $clusterport, rproc => \&rec_socket); $conn->{on_connect} = \&on_connect; $conn->{on_disconnect} = \&on_disconnect;