Index: /trunk/Ohana/src/libkapa/include/kapa.h
===================================================================
--- /trunk/Ohana/src/libkapa/include/kapa.h	(revision 10842)
+++ /trunk/Ohana/src/libkapa/include/kapa.h	(revision 10843)
@@ -49,4 +49,10 @@
 } KapaLabelType;
 
+typedef enum {
+  KAPA_PS_NEWPLOT,
+  KAPA_PS_NEWPAGE,
+  KAPA_PS_RAWPAGE
+} KapaPSmode;
+
 typedef struct {
   char *name;
@@ -110,5 +116,5 @@
 
 /* KiiConvert.c */
-int KiiPS (int fd, int scale, int raw, int newpage, char *filename);
+int KiiPS (int fd, int scaleMode, int pageMode, char *filename, char *pagename);
 int KiiJPEG (int fd, char *filename);
 int KapaPNG (int fd, char *filename);
Index: /trunk/Ohana/src/libkapa/src/KiiConvert.c
===================================================================
--- /trunk/Ohana/src/libkapa/src/KiiConvert.c	(revision 10842)
+++ /trunk/Ohana/src/libkapa/src/KiiConvert.c	(revision 10843)
@@ -37,25 +37,13 @@
 }
 
-int KiiPS (int fd, int scale, int raw, int newpage, char *filename) {
+int KiiPS (int fd, int scaleMode, int pageMode, char *filename, char *pagename) {
 
   char buffer[20];
 
-  if (raw) {
-    KiiSendCommand (fd, 4, "PSRW");
-    goto name;
-  } 
-  if (scale) {
-    KiiSendCommand (fd, 4, "PSNS");
-    goto name;
-  }
-  if (newpage) {
-    KiiSendCommand (fd, 4, "PSNP");
-    goto name;
-  }
   /* the default operation */
   KiiSendCommand (fd, 4, "PSIT");
 
 name:
-  KiiSendMessage (fd, "%s", filename);
+  KiiSendMessage (fd, "%s %s %d %d", filename, pagename, scaleMode, pageMode);
 
   /* block for the response, which says the operation completed */
Index: /trunk/Ohana/src/opihi/cmd.data/ps.c
===================================================================
--- /trunk/Ohana/src/opihi/cmd.data/ps.c	(revision 10842)
+++ /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);
 }
Index: /trunk/Ohana/src/relastro/src/plotstuff.c
===================================================================
--- /trunk/Ohana/src/relastro/src/plotstuff.c	(revision 10842)
+++ /trunk/Ohana/src/relastro/src/plotstuff.c	(revision 10843)
@@ -49,5 +49,5 @@
   if (Xgraph[N] == 0) return;
 
-  KiiPS (Xgraph[N], FALSE, FALSE, FALSE, filename);
+  KiiPS (Xgraph[N], TRUE, KAPA_PS_NEWPLOT, filename);
   return;
 }
Index: /trunk/Ohana/src/relphot/src/plotstuff.c
===================================================================
--- /trunk/Ohana/src/relphot/src/plotstuff.c	(revision 10842)
+++ /trunk/Ohana/src/relphot/src/plotstuff.c	(revision 10843)
@@ -49,5 +49,5 @@
   if (Xgraph[N] == 0) return;
 
-  KiiPS (Xgraph[N], FALSE, FALSE, FALSE, filename);
+  KiiPS (Xgraph[N], TRUE, KAPA_PS_NEWPLOT, filename, "default");
   return;
 }
