Index: trunk/Ohana/src/opihi/cmd.data/ps.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.data/ps.c	(revision 10802)
+++ trunk/Ohana/src/opihi/cmd.data/ps.c	(revision 10843)
@@ -3,28 +3,29 @@
 int ps (int argc, char **argv) {
 
-  char filename[1024];
-  int N, Source, Nsource, RawImage, NoScale, NewPage, IsImage;
+  char filename[1024], pagename[1024];
+  int N, Source, Nsource, scaleMode, pageMode, IsImage;
   
   if ((N = get_argument (argc, argv, "--help"))) goto help;
   if ((N = get_argument (argc, argv, "-h"))) goto help;
 
-  /* raw image? */
-  NewPage = FALSE;
+  pageMode = KAPA_PS_NEWPLOT;
+
+  /* new page? */
   if ((N = get_argument (argc, argv, "-newpage"))) {
     remove_argument (N, &argc, argv);
-    NewPage = TRUE;
+    pageMode = KAPA_PS_NEWPAGE;
   }
-  /* raw image? */
-  RawImage = FALSE;
   if ((N = get_argument (argc, argv, "-raw"))) {
     remove_argument (N, &argc, argv);
-    RawImage = TRUE;
+    pageMode = KAPA_PS_RAWPAGE;
   }
+
   /* scale image? */
-  NoScale = FALSE;
+  scaleMode = TRUE;
   if ((N = get_argument (argc, argv, "-noscale"))) {
     remove_argument (N, &argc, argv);
-    NoScale = TRUE;
+    scaleMode = TRUE;
   }
+
   /* what file? */
   filename[0] = 0;
@@ -34,4 +35,12 @@
     remove_argument (N, &argc, argv);
   }
+  /* pagename ? */
+  strcpy (pagename, "default");
+  if ((N = get_argument (argc, argv, "-pagename"))) {
+    remove_argument (N, &argc, argv);
+    strcpy (pagename, argv[N]);
+    remove_argument (N, &argc, argv);
+  }
+
   /* which tool */
   Nsource = -1;
@@ -50,4 +59,9 @@
     SetImageDevice (TRUE);
   }  
+  
+  if ((argc > 1) && filename[0]) goto help;
+
+  if (argc > 1) strcpy (filename, argv[1]);
+
   IsImage = GetCurrentDevice ();
   if (IsImage) {
@@ -60,9 +74,9 @@
   
   /* tell Ximage/Xgraph to ps the image */
-  KiiPS (Source, NoScale, RawImage, NewPage, filename);
+  KiiPS (Source, scaleMode, pageMode, filename, pagename);
   return (TRUE);
 
 help:
-  gprint (GP_ERR, "USAGE: ps [-name file.ps] [-g | -i] [-n device] [-raw] [-scale]\n");
+  gprint (GP_ERR, "USAGE: ps [-name file.ps] [-g | -i] [-n device] [-raw] [-noscale] [-newpage] [-pagename (name]\n");
   return (FALSE);
 }
