Index: /branches/eam_branches/Ohana.20100407/src/kapa2/src/CheckPipe.c
===================================================================
--- /branches/eam_branches/Ohana.20100407/src/kapa2/src/CheckPipe.c	(revision 27635)
+++ /branches/eam_branches/Ohana.20100407/src/kapa2/src/CheckPipe.c	(revision 27636)
@@ -221,4 +221,10 @@
   }
   
+  if (!strcmp (word, "BSEC")) {
+    status = SetSectionBG (sock);
+    KiiSendCommand (sock, 4, "DONE");
+    FINISHED (TRUE);
+  }
+  
   if (!strcmp (word, "FONT")) {
     status = SetFont (sock);
Index: /branches/eam_branches/Ohana.20100407/src/kapa2/src/DefineSection.c
===================================================================
--- /branches/eam_branches/Ohana.20100407/src/kapa2/src/DefineSection.c	(revision 27635)
+++ /branches/eam_branches/Ohana.20100407/src/kapa2/src/DefineSection.c	(revision 27636)
@@ -9,5 +9,5 @@
   Section *section;
 
-  KiiScanMessage (sock, "%s %lf %lf %lf %lf", name, &x, &y, &dx, &dy);
+  KiiScanMessage (sock, "%s %lf %lf %lf %lf %d", name, &x, &y, &dx, &dy, &bg);
 
   MoveSection = FALSE;
@@ -15,5 +15,5 @@
   N = GetSectionByName (name);
   if (N < 0) {
-    section = AddSection (name, x, y, dx, dy);
+    section = AddSection (name, x, y, dx, dy, bg);
     MoveSection = TRUE;
   } else {
@@ -30,4 +30,5 @@
     section[0].dx = dx;
     section[0].dy = dy;
+    section[0].bg = bg;
   }
 
Index: /branches/eam_branches/Ohana.20100407/src/kapa2/src/Sections.c
===================================================================
--- /branches/eam_branches/Ohana.20100407/src/kapa2/src/Sections.c	(revision 27635)
+++ /branches/eam_branches/Ohana.20100407/src/kapa2/src/Sections.c	(revision 27636)
@@ -16,4 +16,5 @@
   section[0].dx = 0;
   section[0].dy = 0;
+  section[0].bg = -1;
 
   section[0].name = NULL;
@@ -42,5 +43,5 @@
 }
 
-Section *AddSection (char *name, float x, float y, float dx, float dy) {
+Section *AddSection (char *name, float x, float y, float dx, float dy, int bg) {
 
   int N;
@@ -61,4 +62,5 @@
   sections[N][0].dx = dx;
   sections[N][0].dy = dy;
+  sections[N][0].bg = bg;
   ActiveSection = N;
   return (sections[N]);
@@ -91,4 +93,15 @@
 }
 
+int SetSectionBG (char *name) {
+
+  int i;
+
+  for (i = 0; i < Nsections; i++) {
+    if (strcmp (name, sections[i][0].name)) continue;
+    sections[i][0].bg = 
+  }
+  return (-1);
+}
+
 int GetNumberOfSections () {
   return (Nsections);
Index: /branches/eam_branches/Ohana.20100407/src/libkapa/include/kapa.h
===================================================================
--- /branches/eam_branches/Ohana.20100407/src/libkapa/include/kapa.h	(revision 27635)
+++ /branches/eam_branches/Ohana.20100407/src/libkapa/include/kapa.h	(revision 27636)
@@ -72,4 +72,5 @@
   float dx;
   float dy;
+  int bg;
 } KapaSection;
 
Index: /branches/eam_branches/Ohana.20100407/src/libkapa/src/KapaWindow.c
===================================================================
--- /branches/eam_branches/Ohana.20100407/src/libkapa/src/KapaWindow.c	(revision 27635)
+++ /branches/eam_branches/Ohana.20100407/src/libkapa/src/KapaWindow.c	(revision 27636)
@@ -312,10 +312,19 @@
 
   KiiSendCommand (fd, 4, "DSEC");
-  KiiSendMessage (fd, "%s %6.3f %6.3f %6.3f %6.3f", 
+  KiiSendMessage (fd, "%s %6.3f %6.3f %6.3f %6.3f %3d", 
 		  section[0].name, 
 		  section[0].x,
 		  section[0].y,
 		  section[0].dx,
-		  section[0].dy);
+		  section[0].dy,
+		  section[0].bg);
+  KiiWaitAnswer (fd, "DONE");
+  return (TRUE);
+}
+
+int KapaSectionBG (int fd, char *name, int bg) {
+
+  KiiSendCommand (fd, 4, "BSEC");
+  KiiSendMessage (fd, "%s %3d", name, bg);
   KiiWaitAnswer (fd, "DONE");
   return (TRUE);
Index: /branches/eam_branches/Ohana.20100407/src/opihi/cmd.data/section.c
===================================================================
--- /branches/eam_branches/Ohana.20100407/src/opihi/cmd.data/section.c	(revision 27635)
+++ /branches/eam_branches/Ohana.20100407/src/opihi/cmd.data/section.c	(revision 27636)
@@ -1,5 +1,5 @@
 # include "data.h"
 
-enum {NONE, LIST, UP, DOWN, TOP, BOTTOM, TOOL};
+enum {NONE, LIST, UP, DOWN, TOP, BOTTOM, TOOL, BG};
 
 int section (int argc, char **argv) {
@@ -37,4 +37,12 @@
     location = argv[N];
     remove_argument (N, &argc, argv);
+  }
+
+  background = -1; // invisible
+  if ((N = get_argument (argc, argv, "-bg"))) {
+    remove_argument (N, &argc, argv);
+    background = KapaColorByName(argv[N]);
+    remove_argument (N, &argc, argv);
+    action = BG;
   }
 
@@ -82,4 +90,8 @@
 	break;
 
+      case BG:
+	KapaSectionBG (kapa, argv[1], bg);
+	break;
+
       case TOOL:
 	if (!strcmp(location, "-x")) {
@@ -121,4 +133,5 @@
     section.dx = atof (argv[4]);
     section.dy = atof (argv[5]);
+    section.bg = background;
     KapaSetSection (kapa, &section);
     return (TRUE);
