Index: openbox/client.c
===================================================================
RCS file: /cvs/cvsroot/openbox/openbox/client.c,v
retrieving revision 1.362
diff -p -u -r1.362 client.c
--- openbox/client.c	4 Aug 2006 19:56:42 -0000	1.362
+++ openbox/client.c	13 Aug 2006 20:04:45 -0000
@@ -1524,63 +1524,30 @@ void client_update_wmhints(ObClient *sel
 void client_update_title(ObClient *self)
 {
     GList *it;
-    guint32 nums;
     guint i;
     gchar *data = NULL;
     gboolean read_title;
-    gchar *old_title;
 
-    old_title = self->title;
-     
     /* try netwm */
     if (!PROP_GETS(self->window, net_wm_name, utf8, &data)) {
         /* try old x stuff */
         if (!PROP_GETS(self->window, wm_name, locale, &data)) {
             // http://developer.gnome.org/projects/gup/hig/draft_hig_new/windows-alert.html
-            if (self->transient) {
+            if (self->transient)
                 data = g_strdup("");
-                goto no_number;
-            } else
+            else
                 data = g_strdup("Unnamed Window");
         }
     }
 
-    /* did the title change? then reset the title_count */
-    if (old_title && 0 != strncmp(old_title, data, strlen(data)))
-        self->title_count = 1;
-
-    /* look for duplicates and append a number */
-    nums = 0;
-    for (it = client_list; it; it = g_list_next(it))
-        if (it->data != self) {
-            ObClient *c = it->data;
-            if (0 == strncmp(c->title, data, strlen(data)))
-                nums |= 1 << c->title_count;
-        }
-    /* find first free number */
-    for (i = 1; i <= 32; ++i)
-        if (!(nums & (1 << i))) {
-            if (self->title_count == 1 || i == 1)
-                self->title_count = i;
-            break;
-        }
-    /* dont display the number for the first window */
-    if (self->title_count > 1) {
-        gchar *ndata;
-        ndata = g_strdup_printf("%s - [%u]", data, self->title_count);
-        g_free(data);
-        data = ndata;
-    }
+    //PROP_SETS(self->window, net_wm_visible_name, data);
 
-    PROP_SETS(self->window, net_wm_visible_name, data);
-no_number:
+    g_free(self->title);
     self->title = data;
 
     if (self->frame)
         frame_adjust_title(self->frame);
 
-    g_free(old_title);
-
     /* update the icon title */
     data = NULL;
     g_free(self->icon_title);
@@ -1594,17 +1561,7 @@ no_number:
             read_title = FALSE;
         }
 
-    /* append the title count, dont display the number for the first window */
-    if (read_title && self->title_count > 1) {
-        gchar *vdata, *ndata;
-        ndata = g_strdup_printf(" - [%u]", self->title_count);
-        vdata = g_strconcat(data, ndata, NULL);
-        g_free(ndata);
-        g_free(data);
-        data = vdata;
-    }
-
-    PROP_SETS(self->window, net_wm_visible_icon_name, data);
+    //PROP_SETS(self->window, net_wm_visible_icon_name, data);
 
     self->icon_title = data;
 }
Index: openbox/config.c
===================================================================
RCS file: /cvs/cvsroot/openbox/openbox/config.c,v
retrieving revision 1.108
diff -p -u -r1.108 config.c
--- openbox/config.c	2 Aug 2006 21:16:47 -0000	1.108
+++ openbox/config.c	13 Aug 2006 20:04:45 -0000
@@ -38,6 +38,7 @@ ObPlacePolicy config_place_policy;
 gchar   *config_theme;
 gboolean config_theme_keepborder;
 gboolean config_theme_hidedisabled;
+gboolean config_theme_hidemenuheader;
 
 gchar *config_title_layout;
 
@@ -434,6 +435,8 @@ static void parse_theme(ObParseInst *i, 
         config_theme_keepborder = parse_bool(doc, n);
     if ((n = parse_find_node("hideDisabled", node)))
         config_theme_hidedisabled = parse_bool(doc, n);
+    if ((n = parse_find_node("hideMenuHeader", node)))
+        config_theme_hidemenuheader = parse_bool(doc, n);
 }
 
 static void parse_desktops(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node,
@@ -741,7 +744,8 @@ void config_startup(ObParseInst *i)
     config_title_layout = g_strdup("NLIMC");
     config_theme_keepborder = TRUE;
     config_theme_hidedisabled = FALSE;
-
+    config_theme_hidemenuheader = FALSE;
+    
     parse_register(i, "theme", parse_theme, NULL);
 
     config_desktops_num = 4;
Index: openbox/config.h
===================================================================
RCS file: /cvs/cvsroot/openbox/openbox/config.h,v
retrieving revision 1.61
diff -p -u -r1.61 config.h
--- openbox/config.h	2 Aug 2006 17:25:32 -0000	1.61
+++ openbox/config.h	13 Aug 2006 20:04:45 -0000
@@ -39,6 +39,8 @@ extern guint    config_focus_delay;
 extern gboolean config_focus_raise;
 /*! Focus the last focused window, not under the mouse, in follow mouse mode */
 extern gboolean config_focus_last;
+/* Hide the menu header? */
+extern gboolean config_theme_hidemenuheader;
 
 extern ObPlacePolicy config_place_policy;
 
Index: openbox/dock.c
===================================================================
RCS file: /cvs/cvsroot/openbox/openbox/dock.c,v
retrieving revision 1.40
diff -p -u -r1.40 dock.c
--- openbox/dock.c	25 Sep 2005 14:45:24 -0000	1.40
+++ openbox/dock.c	13 Aug 2006 20:04:46 -0000
@@ -60,7 +60,7 @@ void dock_startup(gboolean reconfig)
         XSetWindowBorderWidth(ob_display, dock->frame, ob_rr_theme->bwidth);
 
         RrAppearanceFree(dock->a_frame);
-        dock->a_frame = RrAppearanceCopy(ob_rr_theme->a_unfocused_title);
+        dock->a_frame = RrAppearanceCopy(ob_rr_theme->a_menu);
 
         stacking_add(DOCK_AS_WINDOW(dock));
 
Index: openbox/menuframe.c
===================================================================
RCS file: /cvs/cvsroot/openbox/openbox/menuframe.c,v
retrieving revision 1.55
diff -p -u -r1.55 menuframe.c
--- openbox/menuframe.c	2 Aug 2006 17:25:32 -0000	1.55
+++ openbox/menuframe.c	13 Aug 2006 20:04:47 -0000
@@ -62,7 +62,7 @@ ObMenuFrame* menu_frame_new(ObMenu *menu
     self->type = Window_Menu;
     self->menu = menu;
     self->selected = NULL;
-    self->show_title = TRUE;
+    self->show_title = !config_theme_hidemenuheader;
     self->client = client;
 
     attr.event_mask = FRAME_EVENTMASK;
@@ -414,7 +414,8 @@ static void menu_frame_render(ObMenuFram
     XSetWindowBorderWidth(ob_display, self->window, ob_rr_theme->bwidth);
     XSetWindowBorder(ob_display, self->window,
                      RrColorPixel(ob_rr_theme->b_color));
-
+    XSetWindowBorder(ob_display, self->window,
+                     RrColorPixel(ob_rr_theme->mb_color));
     if (!self->parent && self->show_title) {
         XMoveWindow(ob_display, self->title, 
                     -ob_rr_theme->bwidth, h - ob_rr_theme->bwidth);
Index: openbox/openbox.c
===================================================================
RCS file: /cvs/cvsroot/openbox/openbox/openbox.c,v
retrieving revision 1.130
diff -p -u -r1.130 openbox.c
--- openbox/openbox.c	1 Apr 2005 13:04:55 -0000	1.130
+++ openbox/openbox.c	13 Aug 2006 20:04:47 -0000
@@ -163,7 +163,7 @@ gint main(gint argc, gchar **argv)
     cursors[OB_CURSOR_BUSY] =
         XCreateFontCursor(ob_display, XC_watch);
     cursors[OB_CURSOR_MOVE] =
-        XCreateFontCursor(ob_display, XC_fleur);
+        XCreateFontCursor(ob_display, XC_plus);
     cursors[OB_CURSOR_NORTH] =
         XCreateFontCursor(ob_display, XC_top_side);
     cursors[OB_CURSOR_NORTHEAST] =
Index: openbox/screen.c
===================================================================
RCS file: /cvs/cvsroot/openbox/openbox/screen.c,v
retrieving revision 1.121
diff -p -u -r1.121 screen.c
--- openbox/screen.c	7 Oct 2005 17:00:35 -0000	1.121
+++ openbox/screen.c	13 Aug 2006 20:04:50 -0000
@@ -42,11 +42,6 @@
 #endif
 #include <assert.h>
 
-/*! The event mask to grab on the root window */
-#define ROOT_EVENTMASK (StructureNotifyMask | PropertyChangeMask | \
-                        EnterWindowMask | LeaveWindowMask | \
-                        SubstructureNotifyMask | SubstructureRedirectMask | \
-                        ButtonPressMask | ButtonReleaseMask | ButtonMotionMask)
 
 guint    screen_num_desktops;
 guint    screen_num_monitors;
@@ -175,8 +170,15 @@ gboolean screen_annex()
 
     xerror_set_ignore(TRUE);
     xerror_occured = FALSE;
-    XSelectInput(ob_display, RootWindow(ob_display, ob_screen),
-                 ROOT_EVENTMASK);
+     XSelectInput(ob_display, RootWindow(ob_display, ob_screen),               
+                StructureNotifyMask | PropertyChangeMask | 
+                        EnterWindowMask | LeaveWindowMask | 
+                        SubstructureNotifyMask | SubstructureRedirectMask
+ | ButtonPressMask | ButtonReleaseMask | ButtonMotionMask
+#ifdef HAVE_COMPOSITE_EXTENSIONS
+                ExposureMask |
+#endif
+);
     xerror_set_ignore(FALSE);
     if (xerror_occured) {
         g_warning("A window manager is already running on screen %d",
@@ -204,7 +206,7 @@ gboolean screen_annex()
                window, screen_support_win);
 
     /* set the _NET_SUPPORTED_ATOMS hint */
-    num_support = 51;
+    num_support = 50;
     i = 0;
     supported = g_new(gulong, num_support);
     supported[i++] = prop_atoms.net_current_desktop;
@@ -220,7 +222,7 @@ gboolean screen_annex()
     supported[i++] = prop_atoms.net_desktop_layout;
     supported[i++] = prop_atoms.net_showing_desktop;
     supported[i++] = prop_atoms.net_wm_name;
-    supported[i++] = prop_atoms.net_wm_visible_name;
+   // supported[i++] = prop_atoms.net_wm_visible_name;
     supported[i++] = prop_atoms.net_wm_icon_name;
     supported[i++] = prop_atoms.net_wm_visible_icon_name;
     supported[i++] = prop_atoms.net_wm_desktop;
Index: render/gradient.c
===================================================================
RCS file: /cvs/cvsroot/openbox/render/gradient.c,v
retrieving revision 1.50
diff -p -u -r1.50 gradient.c
--- render/gradient.c	1 Aug 2006 20:34:35 -0000	1.50
+++ render/gradient.c	13 Aug 2006 20:04:50 -0000
@@ -140,11 +140,11 @@ static void highlight(RrPixel32 *x, RrPi
         down = x;
     }
     r = (*up >> RrDefaultRedOffset) & 0xFF;
-    r += r >> 1;
+    r += r >> 3;
     g = (*up >> RrDefaultGreenOffset) & 0xFF;
-    g += g >> 1;
+    g += g >> 3;
     b = (*up >> RrDefaultBlueOffset) & 0xFF;
-    b += b >> 1;
+    b += b >> 3;
     if (r > 0xFF) r = 0xFF;
     if (g > 0xFF) g = 0xFF;
     if (b > 0xFF) b = 0xFF;
@@ -152,11 +152,11 @@ static void highlight(RrPixel32 *x, RrPi
         + (b << RrDefaultBlueOffset);
   
     r = (*down >> RrDefaultRedOffset) & 0xFF;
-    r = (r >> 1) + (r >> 2);
+    r = (r >> 1) + (r >> 2)* 1.7;;
     g = (*down >> RrDefaultGreenOffset) & 0xFF;
-    g = (g >> 1) + (g >> 2);
+    g = (g >> 1) + (g >> 2)* 1.7;;
     b = (*down >> RrDefaultBlueOffset) & 0xFF;
-    b = (b >> 1) + (b >> 2);
+    b = (b >> 1) + (b >> 2)* 1.7;;
     *down = (r << RrDefaultRedOffset) + (g << RrDefaultGreenOffset)
         + (b << RrDefaultBlueOffset);
 }
@@ -167,11 +167,11 @@ static void create_bevel_colors(RrAppear
 
     /* light color */
     r = l->surface.primary->r;
-    r += r >> 1;
+    r += r >> 3;
     g = l->surface.primary->g;
-    g += g >> 1;
+    g += g >> 3;
     b = l->surface.primary->b;
-    b += b >> 1;
+    b += b >> 3;
     if (r > 0xFF) r = 0xFF;
     if (g > 0xFF) g = 0xFF;
     if (b > 0xFF) b = 0xFF;
@@ -180,11 +180,11 @@ static void create_bevel_colors(RrAppear
 
     /* dark color */
     r = l->surface.primary->r;
-    r = (r >> 1) + (r >> 2);
+    r = (r >> 1) + (r >> 2)* 1.7;;
     g = l->surface.primary->g;
-    g = (g >> 1) + (g >> 2);
+    g = (g >> 1) + (g >> 2)* 1.7;;
     b = l->surface.primary->b;
-    b = (b >> 1) + (b >> 2);
+    b = (b >> 1) + (b >> 2)* 1.7;;
     g_assert(!l->surface.bevel_dark);
     l->surface.bevel_dark = RrColorNew(l->inst, r, g, b);
 }
Index: render/theme.c
===================================================================
RCS file: /cvs/cvsroot/openbox/render/theme.c,v
retrieving revision 1.78
diff -p -u -r1.78 theme.c
--- render/theme.c	1 Aug 2006 20:34:35 -0000	1.78
+++ render/theme.c	13 Aug 2006 20:04:51 -0000
@@ -186,6 +186,12 @@ RrTheme* RrThemeNew(const RrInstance *in
     if (!read_color(db, inst,
                     "border.color", &theme->b_color))
         theme->b_color = RrColorNew(inst, 0, 0, 0);
+    if (!read_color(db, inst,  
+                   "menu.border.color", &theme->mb_color))
+        theme->mb_color = RrColorNew(inst, 
+                                    theme->b_color->r, 
+                                    theme->b_color->g, 
+                                    theme->b_color->b); 
     if (!read_color(db, inst,
                     "window.active.client.color",
                     &theme->cb_focused_color))
@@ -904,7 +910,7 @@ RrTheme* RrThemeNew(const RrInstance *in
             theme->padding * 2;
     }
     theme->button_size = theme->label_height - 2;
-    theme->grip_width = theme->title_height * 1.5;
+    theme->grip_width = 25;
 
     return theme;
 }
Index: render/theme.h
===================================================================
RCS file: /cvs/cvsroot/openbox/render/theme.h,v
retrieving revision 1.37
diff -p -u -r1.37 theme.h
--- render/theme.h	14 Jul 2005 20:41:24 -0000	1.37
+++ render/theme.h	13 Aug 2006 20:04:52 -0000
@@ -48,6 +48,7 @@ struct _RrTheme {
 
     /* style settings - colors */
     RrColor *b_color;
+    RrColor *mb_color;
     RrColor *cb_focused_color;
     RrColor *cb_unfocused_color;
     RrColor *title_focused_color;

