backport mojo console.pl width/scolling changes
[spider.git] / perl / DXChannel.pm
index 958fe61860b3cb69122df0101fe8741c6afcc805..fedaee056d4815807f744748297b7b786f322300 100644 (file)
@@ -159,12 +159,15 @@ sub alloc
                $user->new_buddies unless $user->buddies;
                $self->{group} = $user->group;
                $self->{sort} = $user->sort;
+               $self->{width} = $user->width;
        }
        $self->{startt} = $self->{t} = time;
        $self->{state} = 0;
        $self->{oldstate} = 0;
        $self->{lang} = $main::lang if !$self->{lang};
        $self->{func} = "";
+       $self->{width} ||=  80;
+       
 
        # add in all the dxcc, itu, zone info
        my @dxcc = Prefix::extract($call);
@@ -699,17 +702,14 @@ sub broadcast_list
 sub process
 {
        foreach my $dxchan (get_all()) {
-
+               next if $dxchan->{disconnecting};
+               
                while (my $data = shift @{$dxchan->{inqueue}}) {
                        my ($sort, $call, $line) = $dxchan->decode_input($data);
                        next unless defined $sort;
 
                        # do the really sexy console interface bit! (Who is going to do the TK interface then?)
                        dbg("<- $sort $call $line") if $sort ne 'D' && isdbg('chan');
-                       if ($dxchan->{disconnecting}) {
-                               dbg('In disconnection, ignored');
-                               next;
-                       }
 
                        # handle A records
                        my $user = $dxchan->user;