diff -ur ruby-1.8.2/ext/curses/curses.c ruby-1.8.2-curses_color_set/ext/curses/curses.c
--- ruby-1.8.2/ext/curses/curses.c	2003-12-10 03:26:33.000000000 -0500
+++ ruby-1.8.2-curses_color_set/ext/curses/curses.c	2005-02-08 16:01:52.000000000 -0500
@@ -1187,6 +1187,20 @@
 #endif
 }
 
+#ifdef USE_COLOR
+static VALUE
+window_color_set(VALUE obj, VALUE col) 
+{
+  struct windata *winp;
+  int res;
+
+  GetWINDOW(obj, winp);
+  res = wcolor_set(winp->window, NUM2INT(col), NULL);
+  return (res == OK) ? Qtrue : Qfalse;
+  return Qfalse;
+}
+#endif /* USE_COLOR */
+
 static VALUE
 window_scroll(VALUE obj)
 {
@@ -1463,6 +1477,9 @@
     rb_define_method(cWindow, "box", window_box, -1);
     rb_define_method(cWindow, "move", window_move, 2);
     rb_define_method(cWindow, "setpos", window_setpos, 2);
+#ifdef USE_COLOR
+    rb_define_method(cWindow, "color_set", window_color_set, 1);
+#endif /* USE_COLOR */
     rb_define_method(cWindow, "cury", window_cury, 0);
     rb_define_method(cWindow, "curx", window_curx, 0);
     rb_define_method(cWindow, "maxy", window_maxy, 0);

