Index: /branches/Rappture 1.2/gui/scripts/analyzer.tcl
===================================================================
--- /branches/Rappture 1.2/gui/scripts/analyzer.tcl	(revision 3301)
+++ /branches/Rappture 1.2/gui/scripts/analyzer.tcl	(revision 3302)
@@ -1185,5 +1185,5 @@
 # ----------------------------------------------------------------------
 itcl::body Rappture::Analyzer::_isPdbTrajectory {data} {
-    if { [llength $data]  == 0 } {
+    if { [llength $data] == 0 } {
         return 0
     }
@@ -1209,5 +1209,5 @@
 # ----------------------------------------------------------------------
 itcl::body Rappture::Analyzer::_isLammpsTrajectory { data } {
-    if { [llength $data]  == 0 } {
+    if { [llength $data] == 0 } {
         return 0
     }
Index: /branches/Rappture 1.2/gui/scripts/field.tcl
===================================================================
--- /branches/Rappture 1.2/gui/scripts/field.tcl	(revision 3301)
+++ /branches/Rappture 1.2/gui/scripts/field.tcl	(revision 3302)
@@ -53,5 +53,5 @@
 itcl::class Rappture::Field {
     private variable _dim	0;	# Dimension of mesh
-    private variable _xmlobj ""  ;      # ref to XML obj with device data
+    private variable _xmlobj ""  ;      # ref to XML obj with field data
     private variable _limits     ;	# maps box name => {z0 z1} limits
     private variable _field ""
@@ -59,5 +59,6 @@
     private variable _fieldUnits ""   ;	# list of units of each field name.
     private variable _fieldLabels ""  ;	# list of labels of each field name.
-    private variable _viewer		"auto"
+    private variable _viewer		""
+    private variable _hints 
 
     constructor {xmlobj path} { 
@@ -568,58 +569,62 @@
 # ----------------------------------------------------------------------
 itcl::body Rappture::Field::hints {{keyword ""}} {
-    set hints(fieldnames)  $_fieldNames
-    set hints(fieldunits)  $_fieldUnits
-    set hints(fieldlabels) $_fieldLabels
-    foreach {key path} {
-        camera          camera.position
-        color           about.color
-        default         about.default
-        group           about.group
-        label           about.label
-        fieldnames      about.fieldnames
-        fieldunits      about.fieldunits
-        fieldlabels     about.fieldlabels
-        scale           about.scale
-        seeds           about.seeds
-        style           about.style
-        toolId          tool.id
-        toolName        tool.name
-        toolTitle       tool.title
-        toolRevision    tool.version.application.revision
-        type            about.type
-        xlabel          about.xaxis.label
-        ylabel          about.yaxis.label
-        zlabel          about.zaxis.label
-        xunits          about.xaxis.units
-        yunits          about.yaxis.units
-        zunits          about.zaxis.units
-        units           units
-        updir           updir
-        vectors         about.vectors
-    } {
-        set str [$_field get $path]
-        if {"" != $str} {
-            set hints($key) $str
-        }
-    }
-    # Set tool and path hints
-    set hints(tool) [$_xmlobj get tool.name]
-    set hints(path) $_path
-    if 0 {
-        # to be compatible with curve objects
-        set hints(xlabel) "Position"
-    }
-    if {[info exists hints(group)] && [info exists hints(label)]} {
-        # pop-up help for each curve
-        set hints(tooltip) $hints(label)
-    }
-
-    if {$keyword != ""} {
-        if {[info exists hints($keyword)]} {
+    if { ![info exists _hints] } {
+	set _hints(fieldnames)  $_fieldNames
+	set _hints(fieldunits)  $_fieldUnits
+	set _hints(fieldlabels) $_fieldLabels
+	foreach {key path} {
+	    camera          camera.position
+	    color           about.color
+	    default         about.default
+	    group           about.group
+	    label           about.label
+	    fieldnames      about.fieldnames
+	    fieldunits      about.fieldunits
+	    fieldlabels     about.fieldlabels
+	    scale           about.scale
+	    seeds           about.seeds
+	    style           about.style
+	    type            about.type
+	    xlabel          about.xaxis.label
+	    ylabel          about.yaxis.label
+	    zlabel          about.zaxis.label
+	    xunits          about.xaxis.units
+	    yunits          about.yaxis.units
+	    zunits          about.zaxis.units
+	    units           units
+	    updir           updir
+	    vectors         about.vectors
+	} {
+	    set str [$_field get $path]
+	    if { "" != $str } {
+		set _hints($key) $str
+	    }
+	}
+	foreach {key path} {
+	    toolid          tool.id
+	    toolname        tool.name
+	    toolcommand     tool.execute
+	    tooltitle       tool.title
+	    toolrevision    tool.version.application.revision
+	} {
+	    set str [$_xmlobj get $path]
+	    if { "" != $str } {
+		set _hints($key) $str
+	    }
+	}
+	# Set toolip and path hints
+	set _hints(path) $_path
+	if { [info exists _hints(group)] && [info exists _hints(label)] } {
+	    # pop-up help for each curve
+	    set _hints(tooltip) $_hints(label)
+	}
+    }
+    if { $keyword != "" } {
+        if {[info exists _hints($keyword)]} {
             return $hints($keyword)
         }
         return ""
     }
-    return [array get hints]
+    return [array get _hints]
 }
 
@@ -1054,8 +1059,10 @@
 	incr _dim
     }
-    if { $_dim == 2 } {
-	set _viewer heightmap
-    } else {
-	set _viewer isosurface
+    if { $_viewer == "" } {
+	if { $_dim == 2 } {
+	    set _viewer heightmap
+	} else {
+	    set _viewer isosurface
+	}
     }
     set _comp2dims($cname) ${_dim}D
Index: /branches/Rappture 1.2/gui/scripts/molvisviewer.tcl
===================================================================
--- /branches/Rappture 1.2/gui/scripts/molvisviewer.tcl	(revision 3301)
+++ /branches/Rappture 1.2/gui/scripts/molvisviewer.tcl	(revision 3302)
@@ -85,6 +85,6 @@
     private variable _cell 0;           # Restore camera settings
 
-    constructor { hostlist args } {
-        Rappture::VisViewer::constructor $hostlist
+    constructor { servers args } {
+        Rappture::VisViewer::constructor $servers
     } {
         # defined below
@@ -158,5 +158,5 @@
 # CONSTRUCTOR
 # ----------------------------------------------------------------------
-itcl::body Rappture::MolvisViewer::constructor {hostlist args} {
+itcl::body Rappture::MolvisViewer::constructor {servers args} {
     set _serverType "pymol"
 
@@ -203,5 +203,4 @@
     set _state(server) 1
     set _state(client) 1
-    set _hostlist $hostlist
     set _reset 1
 
@@ -1106,17 +1105,24 @@
             # what data objects are using the renderer until be get here.
 	    global env
-	    lappend data "hub" [exec hostname]
-	    lappend data "viewer" "molvisviewer"
+	    lappend out "hub" [exec hostname]
+	    lappend out "viewer" "molvisviewer"
 	    if { [info exists env(USER)] } {
-		lappend data "user" $env(USER)
+		lappend out "user" $env(USER)
 	    }
 	    if { [info exists env(SESSION)] } {
-		lappend data "session" $env(SESSION)
+		lappend out "session" $env(SESSION)
 	    }
-            lappend data "tool_id" [$_first get tool.id]
-            lappend data "tool_name" [$_first get tool.name]
-            lappend data "tool_version" [$_first get tool.version]
-            lappend data "tool_title" [$_first get tool.title]
-            SendCmd "clientinfo $data"
+	    set parent [$_first parent -as object]
+	    while { $parent != "" } {
+		set xmlobj $parent
+		set parent [$parent parent -as object]
+	    }
+	    lappend out "tool_id" [$xmlobj get tool.id]
+	    lappend out "tool_name" [$xmlobj get tool.name]
+	    lappend out "tool_title" [$xmlobj get tool.title]
+	    lappend out "tool_command" [$xmlobj get tool.execute]
+	    lappend out "tool_revision" \
+		[$xmlobj get tool.version.application.revision]
+            SendCmd "clientinfo $out"
         }
 
Index: /branches/Rappture 1.2/gui/scripts/nanovisviewer.tcl
===================================================================
--- /branches/Rappture 1.2/gui/scripts/nanovisviewer.tcl	(revision 3301)
+++ /branches/Rappture 1.2/gui/scripts/nanovisviewer.tcl	(revision 3302)
@@ -940,7 +940,8 @@
 		    lappend out "session" $env(SESSION)
 		}
-		lappend out "tool_id" [$_first hints toolId]
+		lappend out "tool_id"      [$_first hints toolId]
+		lappend out "tool_name"    [$_first hints toolName]
 		lappend out "tool_version" [$_first hints toolRevision]
-		lappend out "tool_title" [$_first hints toolTitle]
+		lappend out "tool_title"   [$_first hints toolTitle]
 		lappend out "tool_dataset" [$_first hints label]
 		SendCmd "clientinfo [list $out]"
Index: /branches/Rappture 1.2/gui/scripts/resultviewer.tcl
===================================================================
--- /branches/Rappture 1.2/gui/scripts/resultviewer.tcl	(revision 3301)
+++ /branches/Rappture 1.2/gui/scripts/resultviewer.tcl	(revision 3302)
@@ -24,7 +24,10 @@
     itk_option define -simulatecommand simulateCommand SimulateCommand ""
 
-    constructor {args} { # defined below }
-    destructor { # defined below }
-
+    constructor {args} { 
+	# defined below 
+    }
+    destructor { 
+	# defined below 
+    }
     public method add {index xmlobj path}
     public method clear {{index ""}}
Index: /branches/Rappture 1.2/gui/scripts/tool.tcl
===================================================================
--- /branches/Rappture 1.2/gui/scripts/tool.tcl	(revision 3301)
+++ /branches/Rappture 1.2/gui/scripts/tool.tcl	(revision 3302)
@@ -192,4 +192,5 @@
             set cmd [linsert $cmd 0 submit --local]
         }
+	$_xmlobj put tool.execute $cmd
 
         # starting job...
Index: /branches/Rappture 1.2/gui/scripts/visviewer.tcl
===================================================================
--- /branches/Rappture 1.2/gui/scripts/visviewer.tcl	(revision 3301)
+++ /branches/Rappture 1.2/gui/scripts/visviewer.tcl	(revision 3302)
@@ -48,5 +48,5 @@
     protected variable _debugConsole 0
 
-    constructor { hostlist args } {
+    constructor { servers args } {
         # defined below
     }
@@ -55,5 +55,5 @@
     }
     # Used internally only.
-    private method Shuffle { hostlist }
+    private method Shuffle { servers }
     private method ReceiveHelper {}
     private method ServerDown {}
@@ -72,5 +72,5 @@
     protected method SendEcho { channel {data ""} }
     protected method ReceiveEcho { channel {data ""} }
-    protected method Connect { hostlist }
+    protected method Connect { servers }
     protected method Disconnect {}
     protected method IsConnected {}
@@ -131,5 +131,5 @@
 # CONSTRUCTOR
 # ----------------------------------------------------------------------
-itcl::body Rappture::VisViewer::constructor { hostlist args } {
+itcl::body Rappture::VisViewer::constructor { servers args } {
 
     Rappture::dispatcher _dispatcher
@@ -141,6 +141,5 @@
     $_dispatcher register !waiting
 
-    CheckNameList $hostlist
-    set _hostlist $hostlist
+    CheckNameList $servers
     set _buffer(in) ""
     set _buffer(out) ""
@@ -235,9 +234,9 @@
 #    (no I/O with the server) for some specified time. 
 #
-itcl::body Rappture::VisViewer::Connect { hostlist } {
+itcl::body Rappture::VisViewer::Connect { servers } {
     blt::busy hold $itk_component(hull) -cursor watch
 
     puts stderr "server type is $_serverType"
-    foreach server [Shuffle $hostlist] {
+    foreach server [Shuffle $servers] {
         puts stderr "connecting to $server..."
         foreach {hostname port} [split $server ":"] break
Index: /branches/Rappture 1.2/gui/scripts/vtkheightmapviewer.tcl
===================================================================
--- /branches/Rappture 1.2/gui/scripts/vtkheightmapviewer.tcl	(revision 3301)
+++ /branches/Rappture 1.2/gui/scripts/vtkheightmapviewer.tcl	(revision 3302)
@@ -984,18 +984,18 @@
 	    global env
 
-puts stderr "sending clientinfo"
-            lappend data "hub" [exec hostname]
-	    lappend data "viewer" "vtkheightmapviewer"
+            lappend out "hub" [exec hostname]
+	    lappend out "viewer" "vtkheightmapviewer"
 	    if { [info exists env(USER)] } {
-		lappend data "user" $env(USER)
+		lappend out "user" $env(USER)
 	    }
 	    if { [info exists env(SESSION)] } {
-		lappend data "session" $env(SESSION)
+		lappend out "session" $env(SESSION)
 	    }
-            lappend data "tool_id" [$_first hints toolId]
-            lappend data "tool_version" [$_first hints toolRevision]
-            lappend data "tool_title" [$_first hints toolTitle]
-            lappend data "tool_dataset" [$_first hints label]
-            SendCmd "clientinfo [list $data]"
+            lappend out "tool_id"      [$_first hints toolId]
+            lappend out "tool_name"    [$_first hints toolName]
+            lappend out "tool_version" [$_first hints toolRevision]
+            lappend out "tool_title"   [$_first hints toolTitle]
+            lappend out "tool_dataset" [$_first hints label]
+            SendCmd "clientinfo [list $out]"
         }
 	set _fieldNames [$_first hints fieldnames]
Index: /branches/Rappture 1.2/gui/scripts/vtkisosurfaceviewer.tcl
===================================================================
--- /branches/Rappture 1.2/gui/scripts/vtkisosurfaceviewer.tcl	(revision 3301)
+++ /branches/Rappture 1.2/gui/scripts/vtkisosurfaceviewer.tcl	(revision 3302)
@@ -1019,7 +1019,8 @@
 		lappend data "session" $env(SESSION)
 	    }
-            lappend data "tool_id" [$_first hints toolId]
+            lappend data "tool_id"      [$_first hints toolId]
+            lappend data "tool_name"    [$_first hints toolName]
             lappend data "tool_version" [$_first hints toolRevision]
-            lappend data "tool_title" [$_first hints toolTitle]
+            lappend data "tool_title"   [$_first hints toolTitle]
             lappend data "tool_dataset" [$_first hints label]
             SendCmd "clientinfo [list $data]"
Index: /branches/Rappture 1.2/gui/scripts/vtkstreamlinesviewer.tcl
===================================================================
--- /branches/Rappture 1.2/gui/scripts/vtkstreamlinesviewer.tcl	(revision 3301)
+++ /branches/Rappture 1.2/gui/scripts/vtkstreamlinesviewer.tcl	(revision 3302)
@@ -1041,5 +1041,5 @@
             set tag $dataobj-$comp
             if { ![info exists _datasets($tag)] } {
-                set bytes [$dataobj blob $comp]
+                set bytes [$dataobj vtkdata $comp]
                 set length [string length $bytes]
                 append _outbuf "dataset add $tag data follows $length\n"
@@ -1060,24 +1060,4 @@
         if { $location != "" } {
             array set view $location
-        }
-        if 1 {
-            # Tell the server the name of the tool, the version, and dataset
-            # that we are rendering.  Have to do it here because we don't know
-            # what data objects are using the renderer until be get here.
-	    global env
-
-            lappend data "hub" [exec hostname]
-	    lappend data "viewer" "vtkstreamlinesviewer"
-	    if { [info exists env(USER)] } {
-		lappend data "user" $env(USER)
-	    }
-	    if { [info exists env(SESSION)] } {
-		lappend data "session" $env(SESSION)
-	    }
-            lappend data "tool_id"      [$_first hints toolId]
-            lappend data "tool_version" [$_first hints toolRevision]
-            lappend data "tool_title"   [$_first hints toolTitle]
-            lappend data "tool_dataset" [$_first hints label]
-            SendCmd "clientinfo $data"
         }
         foreach axis { x y z } {
@@ -1141,8 +1121,10 @@
 		lappend data "session" $env(SESSION)
 	    }
-            lappend data tool [$_first hints toolId]
-            lappend data version [$_first hints toolRevision]
-            lappend data dataset [$_first hints label]
-            SendCmd "clientinfo $data"
+            lappend data "tool_id"      [$_first hints toolId]
+            lappend data "tool_name"    [$_first hints toolName]
+            lappend data "tool_version" [$_first hints toolRevision]
+            lappend data "tool_title"   [$_first hints toolTitle]
+            lappend data "tool_dataset" [$_first hints label]
+            SendCmd "clientinfo [list $data]"
         }
         InitSettings streamlines-seeds streamlines-opacity \
