Index: src/fl_gleam.cxx
===================================================================
--- src/fl_gleam.cxx	(revision 0)
+++ src/fl_gleam.cxx	(revision 0)
@@ -0,0 +1,163 @@
+//
+// "Gleam" drawing routines for the Fast Light Tool Kit (FLTK).
+//
+// These box types provide a sort of Clearlooks Glossy scheme
+// for FLTK.
+//
+// Copyright 2001-2005 by Colin Jones.
+//
+// Modified 2011 by Edmanuel Torres
+// This is a new fl_gleam theme. The gradients are on the top an the
+// bottom so the text area looks like in the classic FLTK way.
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Library General Public
+// License as published by the Free Software Foundation; either
+// version 2 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Library General Public License for more details.
+//
+// You should have received a copy of the GNU Library General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+// USA.
+//
+// Please report all bugs and problems on the following page:
+//
+//     http://www.fltk.org/str.php
+//
+
+// Box drawing code for an obscure box type.
+// These box types are in seperate files so they are not linked
+// in if not used.
+
+#include <FL/Fl.H>
+#include <FL/fl_draw.H>
+#include <iostream>
+
+using namespace std;
+
+static void gleam_color(Fl_Color c) {
+  if (Fl::draw_box_active()) fl_color(c);
+  else fl_color(fl_inactive(c));
+}
+
+static void shade_rect_up(int x, int y, int w, int h, Fl_Color bc, float th) {
+  // Draws the shiny
+  int h_top  = h/2;
+  int h_bottom = h/2;
+  int h_flat = h-(h_top+h_bottom);
+  int j = 0;
+  float step_size_top = (0.999/(float)(h_top));
+  float step_size_bottom = (0.999/(float)(h_bottom));
+
+  // This loop generates the gradient at the top of the widget
+  for (float k = 1; k >= 0; k -= step_size_top){
+    gleam_color(fl_color_average(fl_color_average(bc, FL_WHITE, th), bc, k));  
+    fl_line(x, y+j, x+w, y+j);
+    j++;
+  }
+  gleam_color(bc);
+  fl_rectf(x, y+h_top, w+1, h_flat);
+  // This loop generates the gradient at the bottom of the widget
+  for (float k = 1; k >= 0; k -= step_size_bottom){
+     //gleam_color(fl_color_average(bc, fl_color_average(bc, FL_WHITE, th), k));
+     gleam_color(fl_color_average(bc,fl_color_average(bc, FL_BLACK, th), k));
+     fl_line(x, y+j+h_flat-1, x+w, y+j+h_flat-1);
+     j++;
+  }
+}
+
+static void shade_rect_down(int x, int y, int w, int h, Fl_Color bc, float th) {
+  // Draws the shiny
+  int h_top  = (int)h/2;
+  int h_bottom = (int)h/2;
+  float h_flat = h-(h_top+h_bottom);
+  int j = 0;
+  float step_size_top = (0.999/(float)h_top);
+  float step_size_bottom = (0.999/(float)h_bottom);
+
+  // This loop generates the gradient at the top of the widget
+  for (float k = 1; k >= 0; k -= step_size_top){
+    gleam_color(fl_color_average(fl_color_average(bc, FL_BLACK, th), bc, k));
+    //gleam_color(fl_color_average(fl_color_average(bc, FL_WHITE, th), bc, k));
+    fl_line(x, y+j, x+w, y+j);
+    j++;
+  }
+  gleam_color(bc);
+  fl_rectf(x, y+h_top, w+1, h_flat);
+  // This loop generates the gradient at the bottom of the widget
+  for (float k = 1; k >= 0; k -= step_size_bottom){
+     gleam_color(fl_color_average(bc, fl_color_average(bc, FL_BLACK, th), k));
+     fl_line(x, y+j+h_flat-1, x+w, y+j+h_flat-1);
+     j++;
+  }
+}
+
+static void frame_rect_up(int x, int y, int w, int h, Fl_Color bc, float th) {
+  // Draw the outline around the perimeter of the box
+  //gleam_color(FL_BLACK);
+  gleam_color(fl_color_average(bc, FL_WHITE, th)); 
+  fl_line(x+1, y, x+w-1, y); //Go across the top
+  fl_line(x, y+h-1, x, y+1); //Go from bottom to top left side
+  gleam_color(fl_color_average(fl_darker(bc), FL_BLACK, th));
+  fl_line(x+1, y+h, x+w-1, y+h); //Go across the bottom
+  fl_line(x+w, y+h-1, x+w, y+1); //Go from bottom to top right side
+}
+
+static void frame_rect_down(int x, int y, int w, int h, Fl_Color bc, float th) {
+  // Draw the outline around the perimeter of the box
+  //gleam_color(FL_BLACK);
+  gleam_color(fl_color_average(fl_darker(bc), FL_BLACK, th));
+  fl_line(x+1, y, x+w-1, y); //Go across the top
+  fl_line(x, y+h-1, x, y+1); //Go from bottom to top left side
+  gleam_color(fl_color_average(bc, FL_WHITE, th));
+  fl_line(x+1, y+h, x+w-1, y+h); //Go across the bottom
+  fl_line(x+w, y+h-1, x+w, y+1); //Go from bottom to top right side
+}
+
+static void up_frame(int x, int y, int w, int h, Fl_Color c) {
+  frame_rect_up(x, y, w-1, h-1, c,0.25);
+}
+
+static void up_box(int x, int y, int w, int h, Fl_Color c) {
+  shade_rect_up(x+1, y+1, w-3, h-3, c, 0.25f);
+  frame_rect_up(x, y, w-1, h-1, c,0.25);
+}
+
+static void thin_up_box(int x, int y, int w, int h, Fl_Color c) {
+  shade_rect_up(x+1, y+1, w-3, h-3, c, 0.55f);
+  frame_rect_up(x, y, w-1, h-1, c,0.35);
+}
+
+static void down_frame(int x, int y, int w, int h, Fl_Color c) {
+  frame_rect_down(x, y, w-1, h-1, c,0.25f);
+}
+
+static void down_box(int x, int y, int w, int h, Fl_Color c) {
+  shade_rect_down(x+1, y+1, w-3, h-3, c, 0.25f);
+  frame_rect_down(x, y, w-1, h-1, c, 0.25f);
+}
+
+static void thin_down_box(int x, int y, int w, int h, Fl_Color c) {
+  shade_rect_down(x+1, y+1, w-3, h-3, c, 0.55f);
+  frame_rect_down(x, y, w-1, h-1, c, 0.35f);
+}
+
+extern void fl_internal_boxtype(Fl_Boxtype, Fl_Box_Draw_F*);
+
+Fl_Boxtype fl_define_FL_GLEAM_UP_BOX() {
+  fl_internal_boxtype(_FL_GLEAM_UP_BOX, up_box);
+  fl_internal_boxtype(_FL_GLEAM_DOWN_BOX, down_box);
+  fl_internal_boxtype(_FL_GLEAM_UP_FRAME, up_frame);
+  fl_internal_boxtype(_FL_GLEAM_DOWN_FRAME, down_frame);
+  fl_internal_boxtype(_FL_GLEAM_THIN_UP_BOX, thin_up_box);
+  fl_internal_boxtype(_FL_GLEAM_THIN_DOWN_BOX, thin_down_box);
+  fl_internal_boxtype(_FL_GLEAM_ROUND_UP_BOX, up_box);
+  fl_internal_boxtype(_FL_GLEAM_ROUND_DOWN_BOX, down_box);
+
+  return _FL_GLEAM_UP_BOX;
+}
Index: src/Fl_get_system_colors.cxx
===================================================================
--- src/Fl_get_system_colors.cxx	(revision 8842)
+++ src/Fl_get_system_colors.cxx	(working copy)
@@ -235,9 +235,8 @@
   if (Fl::first_window()) key1 = Fl::first_window()->xclass();
   if (!key1) key1 = "fltk";
   if (!fl_bg2_set) getsyscolor("Text","background",	fl_bg2,	"#ffffff", Fl::background2);
-  if (!fl_fg_set) getsyscolor(key1,  "foreground",	fl_fg,	"#000000", Fl::foreground);
-  if (!fl_bg_set) getsyscolor(key1,  "background",	fl_bg,	"#c0c0c0", Fl::background);
-  getsyscolor("Text", "selectBackground", 0, "#000080", set_selection_color);
+  if (!fl_bg_set) getsyscolor(key1,  "background",    fl_bg,  "#e4e4e4", Fl::background);
+  getsyscolor("Text", "selectBackground", 0, "#3465a4", set_selection_color);
 }
 
 #endif
@@ -386,6 +385,28 @@
 
     // Use slightly thinner scrollbars...
     Fl::scrollbar_size(15);
+  } else if (scheme_ && !strcasecmp(scheme_, "gleam")) {
+    // Use a Gleam look-and-feel, similar to Clearlooks Glossy, made by Colin Jones
+    if (scheme_bg_) {
+      delete scheme_bg_;
+      scheme_bg_ = (Fl_Image *)0;
+    }
+
+    set_boxtype(FL_UP_FRAME,        FL_GLEAM_UP_FRAME);
+    set_boxtype(FL_DOWN_FRAME,      FL_GLEAM_DOWN_FRAME);
+    set_boxtype(FL_THIN_UP_FRAME,   FL_GLEAM_UP_FRAME);
+    set_boxtype(FL_THIN_DOWN_FRAME, FL_GLEAM_DOWN_FRAME);
+
+    set_boxtype(FL_UP_BOX,          FL_GLEAM_UP_BOX);
+    set_boxtype(FL_DOWN_BOX,        FL_GLEAM_DOWN_BOX);
+    set_boxtype(FL_THIN_UP_BOX,     FL_GLEAM_THIN_UP_BOX);
+    set_boxtype(FL_THIN_DOWN_BOX,   FL_GLEAM_THIN_DOWN_BOX);
+    set_boxtype(_FL_ROUND_UP_BOX,   FL_GLEAM_ROUND_UP_BOX);
+    set_boxtype(_FL_ROUND_DOWN_BOX, FL_GLEAM_ROUND_DOWN_BOX);
+
+    // Use slightly thinner scrollbars...
+    Fl::scrollbar_size(10);
+
   } else {
     // Use the standard FLTK look-n-feel...
     if (scheme_bg_) {
Index: src/Makefile
===================================================================
--- src/Makefile	(revision 8842)
+++ src/Makefile	(working copy)
@@ -143,6 +143,7 @@
 	fl_engraved_label.cxx \
 	fl_file_dir.cxx \
 	fl_font.cxx \
+	fl_gleam.cxx \
 	fl_gtk.cxx \
 	fl_labeltype.cxx \
 	fl_line_style.cxx \
Index: FL/Enumerations.H
===================================================================
--- FL/Enumerations.H	(revision 8842)
+++ FL/Enumerations.H	(working copy)
@@ -511,6 +511,14 @@
   _FL_GTK_THIN_DOWN_FRAME,	///< gtk+ version of FL_THIN_DOWN_FRAME
   _FL_GTK_ROUND_UP_BOX,		///< gtk+ version of FL_ROUND_UP_BOX
   _FL_GTK_ROUND_DOWN_BOX,	///< gtk+ version of FL_ROUND_DOWN_BOX
+  _FL_GLEAM_UP_BOX,
+  _FL_GLEAM_DOWN_BOX,
+  _FL_GLEAM_UP_FRAME, 
+  _FL_GLEAM_DOWN_FRAME,
+  _FL_GLEAM_THIN_UP_BOX,    
+  _FL_GLEAM_THIN_DOWN_BOX,
+  _FL_GLEAM_ROUND_UP_BOX,   
+  _FL_GLEAM_ROUND_DOWN_BOX,
   FL_FREE_BOXTYPE		///< the first free box type for creation of new box types
 };
 extern FL_EXPORT Fl_Boxtype fl_define_FL_ROUND_UP_BOX();
@@ -557,6 +565,16 @@
 #define FL_GTK_ROUND_UP_BOX (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+8)
 #define FL_GTK_ROUND_DOWN_BOX (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+9)
 
+extern FL_EXPORT Fl_Boxtype fl_define_FL_GLEAM_UP_BOX();
+#define FL_GLEAM_UP_BOX fl_define_FL_GLEAM_UP_BOX()
+#define FL_GLEAM_DOWN_BOX (Fl_Boxtype)(fl_define_FL_GLEAM_UP_BOX()+1)
+#define FL_GLEAM_UP_FRAME (Fl_Boxtype)(fl_define_FL_GLEAM_UP_BOX()+2)
+#define FL_GLEAM_DOWN_FRAME (Fl_Boxtype)(fl_define_FL_GLEAM_UP_BOX()+3)
+#define FL_GLEAM_THIN_UP_BOX (Fl_Boxtype)(fl_define_FL_GLEAM_UP_BOX()+4)
+#define FL_GLEAM_THIN_DOWN_BOX (Fl_Boxtype)(fl_define_FL_GLEAM_UP_BOX()+5)
+#define FL_GLEAM_ROUND_UP_BOX (Fl_Boxtype)(fl_define_FL_GLEAM_UP_BOX()+6)
+#define FL_GLEAM_ROUND_DOWN_BOX (Fl_Boxtype)(fl_define_FL_GLEAM_UP_BOX()+7)
+
 // conversions of box types to other boxtypes:
 /**
   Get the filled version of a frame.
Index: test/Makefile
===================================================================
--- test/Makefile	(revision 8842)
+++ test/Makefile	(working copy)
@@ -60,6 +60,7 @@
 	fullscreen.cxx \
 	gl_overlay.cxx \
 	glpuzzle.cxx \
+	gleam.cxx \
 	hello.cxx \
 	help.cxx \
 	iconize.cxx \
@@ -128,6 +129,7 @@
 	file_chooser$(EXEEXT) \
 	fonts$(EXEEXT) \
 	forms$(EXEEXT) \
+	gleam$(EXEEXT) \
 	hello$(EXEEXT) \
 	help$(EXEEXT) \
 	iconize$(EXEEXT) \
Index: test/gleam.h
===================================================================
--- test/gleam.h	(revision 0)
+++ test/gleam.h	(revision 0)
@@ -0,0 +1,31 @@
+// generated by Fast Light User Interface Designer (fluid) version 1.0300
+
+#ifndef gleam_h
+#define gleam_h
+#include <FL/Fl.H>
+#include <FL/Fl_Double_Window.H>
+#include <FL/Fl_Button.H>
+#include <FL/Fl_Tabs.H>
+#include <FL/Fl_Group.H>
+#include <FL/Fl_Clock.H>
+#include <FL/Fl_Progress.H>
+#include <FL/Fl_Slider.H>
+#include <FL/Fl_Scrollbar.H>
+#include <FL/Fl_Value_Slider.H>
+#include <FL/Fl_Value_Output.H>
+#include <FL/Fl_Adjuster.H>
+#include <FL/Fl_Counter.H>
+#include <FL/Fl_Roller.H>
+#include <FL/Fl_Spinner.H>
+#include <FL/Fl_Value_Input.H>
+#include <FL/Fl_Input.H>
+#include <FL/Fl_Output.H>
+#include <FL/Fl_Text_Editor.H>
+#include <FL/Fl_Text_Display.H>
+#include <FL/Fl_File_Input.H>
+#include <FL/Fl_Choice.H>
+#include <FL/Fl_Input_Choice.H>
+#include <FL/Fl_Box.H>
+#include <FL/Fl_Light_Button.H>
+#include <FL/Fl_Check_Button.H>
+#endif
Index: test/gleam.fl
===================================================================
--- test/gleam.fl	(revision 0)
+++ test/gleam.fl	(revision 0)
@@ -0,0 +1,170 @@
+# data file for the Fltk User Interface Designer (fluid)
+version 1.0300 
+header_name {.h} 
+code_name {.cxx}
+Function {} {open
+} {
+  Fl_Window {} {open
+    xywh {829 335 600 340} type Double box GLEAM_THIN_UP_BOX color 40 visible
+  } {
+    Fl_Button {} {
+      label button
+      xywh {10 9 90 25} box GLEAM_THIN_UP_BOX color 101 labelfont 5
+    }
+    Fl_Button {} {
+      label button
+      xywh {10 36 90 25} box GLEAM_THIN_UP_BOX color 179 labelfont 4 labelcolor 7
+    }
+    Fl_Button {} {
+      label button
+      xywh {10 63 90 25} box GLEAM_UP_BOX color 91
+    }
+    Fl_Button {} {
+      label button
+      xywh {10 90 90 25} box GLEAM_UP_BOX color 8 labelcolor 7
+    }
+    Fl_Tabs {} {open
+      xywh {10 120 320 215} box GLEAM_UP_BOX color 39 selection_color 47
+    } {
+      Fl_Group {} {
+        label tab1 open selected
+        xywh {14 141 310 190} color 47 selection_color 23
+      } {
+        Fl_Clock {} {
+          xywh {24 166 130 124} box GLEAM_UP_BOX color 31 selection_color 7 labelcolor 7
+        }
+        Fl_Progress {} {
+          xywh {22 306 290 20} box GLEAM_THIN_DOWN_BOX
+        }
+        Fl_Clock {} {
+          xywh {179 166 130 130} box GLEAM_DOWN_BOX color 47
+        }
+      }
+      Fl_Group {} {
+        label tab2 open
+        xywh {15 140 310 190} color 47 hide
+      } {
+        Fl_Slider {} {
+          xywh {20 161 25 155} box GLEAM_DOWN_BOX
+        }
+        Fl_Scrollbar {} {
+          xywh {50 161 25 155} box GLEAM_DOWN_BOX
+        }
+        Fl_Value_Slider {} {
+          xywh {115 161 25 155} box GLEAM_DOWN_BOX
+        }
+        Fl_Value_Output {} {
+          xywh {246 289 75 25} box GLEAM_DOWN_BOX
+        }
+        Fl_Adjuster {} {
+          xywh {220 230 100 25} box GLEAM_UP_BOX
+        }
+        Fl_Counter {} {
+          xywh {220 200 100 25} box GLEAM_UP_BOX
+        }
+        Fl_Roller {} {
+          xywh {85 161 25 155} box GLEAM_UP_BOX
+        }
+        Fl_Spinner {} {
+          xywh {220 165 100 25} box GLEAM_DOWN_BOX
+        }
+        Fl_Value_Input {} {
+          xywh {161 289 75 25} box GLEAM_DOWN_BOX
+        }
+      }
+      Fl_Group {} {
+        label tab3 open
+        xywh {15 140 310 190} color 47 hide
+      } {
+        Fl_Input {} {
+          xywh {40 230 120 25} box GLEAM_DOWN_BOX
+        }
+        Fl_Output {} {
+          xywh {40 260 120 25} box GLEAM_DOWN_BOX
+        }
+        Fl_Text_Editor {} {
+          xywh {220 160 90 55} box GLEAM_DOWN_FRAME
+        }
+        Fl_Text_Display {} {
+          xywh {220 230 90 55} box GLEAM_DOWN_FRAME
+        }
+        Fl_File_Input {} {
+          xywh {40 290 265 30}
+        }
+      }
+      Fl_Group {} {
+        label tab4 open
+        xywh {15 140 310 190} color 47 hide
+      } {
+        Fl_Choice {} {open
+          xywh {190 195 120 25} box GLEAM_THIN_UP_BOX down_box BORDER_BOX
+        } {}
+        Fl_Input_Choice {} {open
+          xywh {190 160 120 25} box GLEAM_DOWN_BOX
+        } {}
+      }
+    }
+    Fl_Box {} {
+      label {thin box down1}
+      xywh {341 10 125 50} box GLEAM_THIN_DOWN_BOX color 20
+    }
+    Fl_Box {} {
+      label {thin box up1}
+      xywh {471 10 125 50} box GLEAM_THIN_UP_BOX color 12 labelcolor 7
+    }
+    Fl_Box {} {
+      label {thin box down2}
+      xywh {341 71 125 44} box GLEAM_THIN_DOWN_BOX color 190
+    }
+    Fl_Box {} {
+      label {thin box up2}
+      xywh {471 71 125 44} box GLEAM_THIN_UP_BOX color 149
+    }
+    Fl_Box {} {
+      label {box down3}
+      xywh {341 127 125 50} box GLEAM_DOWN_BOX color 3
+    }
+    Fl_Box {} {
+      label {box up3}
+      xywh {471 127 125 50} box GLEAM_UP_BOX color 10
+    }
+    Fl_Box {} {
+      label {box down4}
+      xywh {341 189 125 50} box GLEAM_DOWN_BOX color 42
+    }
+    Fl_Box {} {
+      label {box up4}
+      xywh {471 189 125 50} box GLEAM_UP_BOX color 34 labelcolor 7
+    }
+    Fl_Box {} {
+      label {box down5}
+      xywh {341 251 125 82} box GLEAM_DOWN_BOX color 19
+    }
+    Fl_Box {} {
+      label {thin box up5}
+      xywh {471 251 125 82} box GLEAM_THIN_UP_BOX color 15 labelcolor 7
+    }
+    Fl_Light_Button {} {
+      label Gleam
+      xywh {110 10 80 25} box GLEAM_THIN_DOWN_BOX color 47
+    }
+    Fl_Check_Button {} {
+      label Gleam
+      xywh {110 37 80 25} box GLEAM_THIN_DOWN_BOX down_box DOWN_BOX color 25
+    }
+    Fl_Input {} {
+      xywh {220 10 100 25} box GLEAM_THIN_DOWN_BOX color 23
+    }
+    Fl_Adjuster {} {
+      xywh {110 65 80 43} box GLEAM_THIN_UP_BOX color 38
+    }
+    Fl_Text_Editor {} {
+      label {down frame}
+      xywh {220 53 100 29} box GLEAM_DOWN_FRAME color 15
+    }
+    Fl_Text_Editor {} {
+      label {up frame}
+      xywh {220 99 100 38} box GLEAM_UP_FRAME color 15
+    }
+  }
+} 
Index: test/gleam.cxx
===================================================================
--- test/gleam.cxx	(revision 0)
+++ test/gleam.cxx	(revision 0)
@@ -0,0 +1,190 @@
+// generated by Fast Light User Interface Designer (fluid) version 1.0300
+
+#include "gleam.h"
+
+int main(int argc, char **argv) {
+  Fl_Double_Window* w;
+  { Fl_Double_Window* o = new Fl_Double_Window(600, 340);
+    w = o;
+    o->box(FL_GLEAM_THIN_UP_BOX);
+    o->color((Fl_Color)40);
+    { Fl_Button* o = new Fl_Button(10, 9, 90, 25, "button");
+      o->box(FL_GLEAM_THIN_UP_BOX);
+      o->color((Fl_Color)101);
+      o->labelfont(5);
+    } // Fl_Button* o
+    { Fl_Button* o = new Fl_Button(10, 36, 90, 25, "button");
+      o->box(FL_GLEAM_THIN_UP_BOX);
+      o->color((Fl_Color)179);
+      o->labelfont(4);
+      o->labelcolor(FL_BACKGROUND2_COLOR);
+    } // Fl_Button* o
+    { Fl_Button* o = new Fl_Button(10, 63, 90, 25, "button");
+      o->box(FL_GLEAM_UP_BOX);
+      o->color((Fl_Color)91);
+    } // Fl_Button* o
+    { Fl_Button* o = new Fl_Button(10, 90, 90, 25, "button");
+      o->box(FL_GLEAM_UP_BOX);
+      o->color(FL_INACTIVE_COLOR);
+      o->labelcolor(FL_BACKGROUND2_COLOR);
+    } // Fl_Button* o
+    { Fl_Tabs* o = new Fl_Tabs(10, 120, 320, 215);
+      o->box(FL_GLEAM_UP_BOX);
+      o->color(FL_DARK3);
+      o->selection_color(FL_DARK1);
+      { Fl_Group* o = new Fl_Group(14, 141, 310, 190, "tab1");
+        o->color(FL_DARK1);
+        o->selection_color((Fl_Color)23);
+        { Fl_Clock* o = new Fl_Clock(24, 166, 130, 124);
+          o->box(FL_GLEAM_UP_BOX);
+          o->color((Fl_Color)31);
+          o->selection_color(FL_BACKGROUND2_COLOR);
+          o->labelcolor(FL_BACKGROUND2_COLOR);
+        } // Fl_Clock* o
+        { Fl_Progress* o = new Fl_Progress(22, 306, 290, 20);
+          o->box(FL_GLEAM_THIN_DOWN_BOX);
+        } // Fl_Progress* o
+        { Fl_Clock* o = new Fl_Clock(179, 166, 130, 130);
+          o->box(FL_GLEAM_DOWN_BOX);
+          o->color(FL_DARK1);
+        } // Fl_Clock* o
+        o->end();
+      } // Fl_Group* o
+      { Fl_Group* o = new Fl_Group(15, 140, 310, 190, "tab2");
+        o->color(FL_DARK1);
+        o->hide();
+        { Fl_Slider* o = new Fl_Slider(20, 161, 25, 155);
+          o->box(FL_GLEAM_DOWN_BOX);
+        } // Fl_Slider* o
+        { Fl_Scrollbar* o = new Fl_Scrollbar(50, 161, 25, 155);
+          o->box(FL_GLEAM_DOWN_BOX);
+        } // Fl_Scrollbar* o
+        { Fl_Value_Slider* o = new Fl_Value_Slider(115, 161, 25, 155);
+          o->box(FL_GLEAM_DOWN_BOX);
+        } // Fl_Value_Slider* o
+        { Fl_Value_Output* o = new Fl_Value_Output(246, 289, 75, 25);
+          o->box(FL_GLEAM_DOWN_BOX);
+        } // Fl_Value_Output* o
+        { Fl_Adjuster* o = new Fl_Adjuster(220, 230, 100, 25);
+          o->box(FL_GLEAM_UP_BOX);
+        } // Fl_Adjuster* o
+        { Fl_Counter* o = new Fl_Counter(220, 200, 100, 25);
+          o->box(FL_GLEAM_UP_BOX);
+        } // Fl_Counter* o
+        { Fl_Roller* o = new Fl_Roller(85, 161, 25, 155);
+          o->box(FL_GLEAM_UP_BOX);
+        } // Fl_Roller* o
+        { Fl_Spinner* o = new Fl_Spinner(220, 165, 100, 25);
+          o->box(FL_GLEAM_DOWN_BOX);
+        } // Fl_Spinner* o
+        { Fl_Value_Input* o = new Fl_Value_Input(161, 289, 75, 25);
+          o->box(FL_GLEAM_DOWN_BOX);
+        } // Fl_Value_Input* o
+        o->end();
+      } // Fl_Group* o
+      { Fl_Group* o = new Fl_Group(15, 140, 310, 190, "tab3");
+        o->color(FL_DARK1);
+        o->hide();
+        { Fl_Input* o = new Fl_Input(40, 230, 120, 25);
+          o->box(FL_GLEAM_DOWN_BOX);
+        } // Fl_Input* o
+        { Fl_Output* o = new Fl_Output(40, 260, 120, 25);
+          o->box(FL_GLEAM_DOWN_BOX);
+        } // Fl_Output* o
+        { Fl_Text_Editor* o = new Fl_Text_Editor(220, 160, 90, 55);
+          o->box(FL_GLEAM_DOWN_FRAME);
+        } // Fl_Text_Editor* o
+        { Fl_Text_Display* o = new Fl_Text_Display(220, 230, 90, 55);
+          o->box(FL_GLEAM_DOWN_FRAME);
+        } // Fl_Text_Display* o
+        { new Fl_File_Input(40, 290, 265, 30);
+        } // Fl_File_Input* o
+        o->end();
+      } // Fl_Group* o
+      { Fl_Group* o = new Fl_Group(15, 140, 310, 190, "tab4");
+        o->color(FL_DARK1);
+        o->hide();
+        { Fl_Choice* o = new Fl_Choice(190, 195, 120, 25);
+          o->box(FL_GLEAM_THIN_UP_BOX);
+          o->down_box(FL_BORDER_BOX);
+        } // Fl_Choice* o
+        { Fl_Input_Choice* o = new Fl_Input_Choice(190, 160, 120, 25);
+          o->box(FL_GLEAM_DOWN_BOX);
+        } // Fl_Input_Choice* o
+        o->end();
+      } // Fl_Group* o
+      o->end();
+    } // Fl_Tabs* o
+    { Fl_Box* o = new Fl_Box(341, 10, 125, 50, "thin box down1");
+      o->box(FL_GLEAM_THIN_DOWN_BOX);
+      o->color((Fl_Color)20);
+    } // Fl_Box* o
+    { Fl_Box* o = new Fl_Box(471, 10, 125, 50, "thin box up1");
+      o->box(FL_GLEAM_THIN_UP_BOX);
+      o->color((Fl_Color)12);
+      o->labelcolor(FL_BACKGROUND2_COLOR);
+    } // Fl_Box* o
+    { Fl_Box* o = new Fl_Box(341, 71, 125, 44, "thin box down2");
+      o->box(FL_GLEAM_THIN_DOWN_BOX);
+      o->color((Fl_Color)190);
+    } // Fl_Box* o
+    { Fl_Box* o = new Fl_Box(471, 71, 125, 44, "thin box up2");
+      o->box(FL_GLEAM_THIN_UP_BOX);
+      o->color((Fl_Color)149);
+    } // Fl_Box* o
+    { Fl_Box* o = new Fl_Box(341, 127, 125, 50, "box down3");
+      o->box(FL_GLEAM_DOWN_BOX);
+      o->color((Fl_Color)3);
+    } // Fl_Box* o
+    { Fl_Box* o = new Fl_Box(471, 127, 125, 50, "box up3");
+      o->box(FL_GLEAM_UP_BOX);
+      o->color((Fl_Color)10);
+    } // Fl_Box* o
+    { Fl_Box* o = new Fl_Box(341, 189, 125, 50, "box down4");
+      o->box(FL_GLEAM_DOWN_BOX);
+      o->color((Fl_Color)42);
+    } // Fl_Box* o
+    { Fl_Box* o = new Fl_Box(471, 189, 125, 50, "box up4");
+      o->box(FL_GLEAM_UP_BOX);
+      o->color((Fl_Color)34);
+      o->labelcolor(FL_BACKGROUND2_COLOR);
+    } // Fl_Box* o
+    { Fl_Box* o = new Fl_Box(341, 251, 125, 82, "box down5");
+      o->box(FL_GLEAM_DOWN_BOX);
+      o->color((Fl_Color)19);
+    } // Fl_Box* o
+    { Fl_Box* o = new Fl_Box(471, 251, 125, 82, "thin box up5");
+      o->box(FL_GLEAM_THIN_UP_BOX);
+      o->color(FL_SELECTION_COLOR);
+      o->labelcolor(FL_BACKGROUND2_COLOR);
+    } // Fl_Box* o
+    { Fl_Light_Button* o = new Fl_Light_Button(110, 10, 80, 25, "Gleam");
+      o->box(FL_GLEAM_THIN_DOWN_BOX);
+      o->color(FL_DARK1);
+    } // Fl_Light_Button* o
+    { Fl_Check_Button* o = new Fl_Check_Button(110, 37, 80, 25, "Gleam");
+      o->box(FL_GLEAM_THIN_DOWN_BOX);
+      o->down_box(FL_DOWN_BOX);
+      o->color((Fl_Color)25);
+    } // Fl_Check_Button* o
+    { Fl_Input* o = new Fl_Input(220, 10, 100, 25);
+      o->box(FL_GLEAM_THIN_DOWN_BOX);
+      o->color((Fl_Color)23);
+    } // Fl_Input* o
+    { Fl_Adjuster* o = new Fl_Adjuster(110, 65, 80, 43);
+      o->box(FL_GLEAM_THIN_UP_BOX);
+      o->color((Fl_Color)38);
+    } // Fl_Adjuster* o
+    { Fl_Text_Editor* o = new Fl_Text_Editor(220, 53, 100, 29, "down frame");
+      o->box(FL_GLEAM_DOWN_FRAME);
+      o->color(FL_SELECTION_COLOR);
+    } // Fl_Text_Editor* o
+    { Fl_Text_Editor* o = new Fl_Text_Editor(220, 99, 100, 38, "up frame");
+      o->box(FL_GLEAM_UP_FRAME);
+      o->color(FL_SELECTION_COLOR);
+    } // Fl_Text_Editor* o
+    o->end();
+  } // Fl_Double_Window* o
+  w->show(argc, argv);
+  return Fl::run();
+}
Index: test/forms.cxx
===================================================================
--- test/forms.cxx	(revision 8842)
+++ test/forms.cxx	(working copy)
@@ -67,6 +67,7 @@
    {FL_PLASTIC_DOWN_BOX,"plastic downbox"},
    {FL_GTK_UP_BOX,"GTK up box"},
    {FL_GTK_ROUND_UP_BOX,"GTK round up box"},
+   {FL_GLEAM_UP_BOX,"Gleam up box"},
    /* sentinel */
    {-1}
 };
Index: fluid/alignment_panel.fl
===================================================================
--- fluid/alignment_panel.fl	(revision 8842)
+++ fluid/alignment_panel.fl	(working copy)
@@ -196,6 +196,10 @@
         label {GTK+}
         xywh {10 10 35 25}
       }
+      MenuItem {} {
+        label {Gleam}
+        xywh {20 20 35 25}
+      }
     }
     Fl_Group {} {open
       xywh {116 43 220 126} labelfont 1 align 0
Index: fluid/alignment_panel.cxx
===================================================================
--- fluid/alignment_panel.cxx	(revision 8842)
+++ fluid/alignment_panel.cxx	(working copy)
@@ -162,6 +162,7 @@
  {"None", 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 14, 0},
  {"Plastic", 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 14, 0},
  {"GTK+", 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 14, 0},
+ {"Gleam", 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 14, 0},
  {0,0,0,0,0,0,0,0,0}
 };
 
Index: fluid/Fl_Widget_Type.cxx
===================================================================
--- fluid/Fl_Widget_Type.cxx	(revision 8842)
+++ fluid/Fl_Widget_Type.cxx	(working copy)
@@ -687,6 +687,12 @@
 {"GTK_THIN_DOWN_BOX",0,0,(void *)FL_GTK_THIN_DOWN_BOX},
 {"GTK_ROUND_UP_BOX",0,0,(void *)FL_GTK_ROUND_UP_BOX},
 {"GTK_ROUND_DOWN_BOX",0,0,(void *)FL_GTK_ROUND_DOWN_BOX},
+{"GLEAM_UP_BOX",0,0,(void *)FL_GLEAM_UP_BOX},
+{"GLEAM_DOWN_BOX",0,0,(void *)FL_GLEAM_DOWN_BOX},
+{"GLEAM_THIN_UP_BOX",0,0,(void *)FL_GLEAM_THIN_UP_BOX},
+{"GLEAM_THIN_DOWN_BOX",0,0,(void *)FL_GLEAM_THIN_DOWN_BOX},
+{"GLEAM_ROUND_UP_BOX",0,0,(void *)FL_GLEAM_ROUND_UP_BOX},
+{"GLEAM_ROUND_DOWN_BOX",0,0,(void *)FL_GLEAM_ROUND_DOWN_BOX},
 {0},
 {"frames",0,0,0,FL_SUBMENU},
 {"UP_FRAME",0,0,(void *)FL_UP_FRAME},
@@ -705,6 +711,8 @@
 {"GTK_DOWN_FRAME",0,0,(void *)FL_GTK_DOWN_FRAME},
 {"GTK_THIN_UP_FRAME",0,0,(void *)FL_GTK_THIN_UP_FRAME},
 {"GTK_THIN_DOWN_FRAME",0,0,(void *)FL_GTK_THIN_DOWN_FRAME},
+{"GLEAM_UP_FRAME",0,0,(void *)FL_GLEAM_UP_FRAME},
+{"GLEAM_DOWN_FRAME",0,0,(void *)FL_GLEAM_DOWN_FRAME},
 {0},
 {0}};
 
Index: fluid/fluid.cxx
===================================================================
--- fluid/fluid.cxx	(revision 8842)
+++ fluid/fluid.cxx	(working copy)
@@ -1753,6 +1753,9 @@
     case 3 : // GTK+
       Fl::scheme("gtk+");
       break;
+    case 4 : // Gleam
+      Fl::scheme("gleam");
+      break;
   }
 
   fluid_prefs.set("scheme", scheme_choice->value());
