fix .gtkconsole_data creation bug
[spider.git] / gtkconsole / gtkconsole
index db12d1e003984c83fb91e81dbab050ac9ff0b9e5..e4a2b2476bc0d2ff94b570f6867c9f2bf6391c22 100755 (executable)
@@ -11,9 +11,6 @@
 
 use strict;
 
-our $VERSION = '$Revision$';
-$VERSION =~ s|[^\d\.]+||g;
-
 our $root;
 
 # search local then perl directories
@@ -58,6 +55,11 @@ our $chatwin;                                        # chat window handle
 
 require "$root/local/DXVars.pm" if -e "$root/local/DXVars.pm";
 
+our ($version, $subversion, $build);
+require "$root/perl/Version.pm";
+
+our $VERSION = "$version.$subversion build $build";
+
 # read in the user data
 our $userfn = "$ENV{HOME}/.gtkconsole_data";
 our $user = read_user_data();
@@ -85,37 +87,34 @@ if (@ARGV) {
        $port = shift @ARGV if @ARGV;
 }
 
-unless ($call && $host) {
+unless ($call) {
+       $call = $main::myalias;
+}
+
+unless ($host) {
        my $node = $user->{clusters}->{$user->{node}};
 
        if ($node->{call} || $user->{call}) {
-               $call = $node->{call} || $user->{call} || $main::myalias;
-               $host = $node->{passwd};
                $host = $node->{host};
-               $port = $node->{port};
+               $port ||= $node->{port};
        }
-}
 
-unless ($call && $host) {
-       if (-e "$root/local/Listeners.pm") {
-               require  "$root/local/Listeners.pm";
-               $host = $main::listen->[0]->[0];
-               $port = $main::listen->[0]->[1];
-               $host ||= '127.0.0.1';
-               $host = "127.0.0.1" if $host eq '0.0.0.0';
-               $port ||= 7300;
+       unless ($host) {
+               if (-e "$root/local/Listeners.pm") {
+                       require  "$root/local/Listeners.pm";
+                       $host = $main::listen->[0]->[0];
+                       $port = $main::listen->[0]->[1];
+                       $host ||= '127.0.0.1';
+                       $host = "127.0.0.1" if !$host && ($host eq '0.0.0.0' || $host eq '::');
+                       $port ||= 7300;
+               }
        }
 }
 
-unless ($host) {
-       $host = $user->{clusters}->{$user->{node}}->{host};
-       $port = $user->{clusters}->{$user->{node}}->{port};
-}
-
 $call ||= '';
 $host ||= '';
 $port ||= '';
-die "You need a callsign ($call), a hostname($host) and a port($port) to proceed" unless $call && $host;
+die "You need a callsign ($call), a hostname($host) and a port($port) to proceed" unless $call && $host && $port;
 
 #
 # start of GTK stuff
@@ -123,7 +122,7 @@ die "You need a callsign ($call), a hostname($host) and a port($port) to proceed
 
 gtk_create_main_screen();
 
-$main->set_title("gtkconsole $VERSION - DXSpider Console - $call \@ $host:$port");
+$main->set_title("DXSpider gtkconsole $VERSION - $call \@ $host:$port");
 
 # connect and send stuff
 my $sock = IO::Socket::INET->new(PeerAddr=>$host, PeerPort=>$port);
@@ -416,6 +415,7 @@ sub write_user_data
                my $dd = new Data::Dumper([ $u ]);
                $dd->Indent(1);
                $dd->Quotekeys(0);
+               $dd->Terse(1);
                $fh->print($dd->Dumpxs);
                $fh->close;
                return 1;