Index: trunk/Ohana/src/opihi/cmd.data/ps.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.data/ps.c	(revision 12892)
+++ trunk/Ohana/src/opihi/cmd.data/ps.c	(revision 13479)
@@ -3,6 +3,6 @@
 int ps (int argc, char **argv) {
 
-  char filename[1024], pagename[1024];
-  int N, Source, Nsource, scaleMode, pageMode, IsImage;
+  char filename[1024], pagename[1024], *name;
+  int N, kapa, scaleMode, pageMode, IsImage;
   
   if ((N = get_argument (argc, argv, "--help"))) goto help;
@@ -44,35 +44,23 @@
 
   /* which tool */
-  Nsource = -1;
+  name = NULL;
   if ((N = get_argument (argc, argv, "-n"))) {
     remove_argument (N, &argc, argv);
-    Nsource = atof (argv[N]);
+    name = strcreate (argv[N]);
     remove_argument (N, &argc, argv);
   }
-  /* which device */
-  if ((N = get_argument (argc, argv, "-g"))) {
-    remove_argument (N, &argc, argv);
-    SetImageDevice (FALSE);
-  }  
-  if ((N = get_argument (argc, argv, "-i"))) {
-    remove_argument (N, &argc, argv);
-    SetImageDevice (TRUE);
-  }  
-  
+
   if ((argc > 1) && filename[0]) goto help;
 
   if (argc > 1) strcpy (filename, argv[1]);
 
-  IsImage = GetCurrentDevice ();
-  if (IsImage) {
-    if (!GetImage (&Source, &Nsource)) return (FALSE);
-    if (!filename[0]) strcpy (filename, "Ximage.ps");
-  } else {
-    if (!GetGraph (NULL, &Source, &Nsource)) return (FALSE);
-    if (!filename[0]) strcpy (filename, "Xgraph.ps");
-  }
+  // get the connection to kapa, false if none available
+  if (!GetGraphData (NULL, &kapa, name)) return (FALSE);
+  FREE (name);
+
+  if (!filename[0]) strcpy (filename, "kapa.ps");
   
   /* tell Ximage/Xgraph to ps the image */
-  KiiPS (Source, filename, scaleMode, pageMode, pagename);
+  KiiPS (kapa, filename, scaleMode, pageMode, pagename);
   return (TRUE);
 
