[EMAIL PROTECTED] wrote:
> >>      An empty FvwmIconMan displays a button with the Title string in it
> >>      but it doesn't use the TitleColorset properly, it seems to just
> >>      draw a flat button using the colorset background, shadow and hilight
> >>      colors. If the colorset has a pixmap it is ignored.

The problem really is that tranparent colrosets don't work in the title
button, here's a patch.

Cheers,
Tim.
Index: modules/FvwmIconMan/xmanager.c
===================================================================
RCS file: /u/phippst/share/cvsroot/fvwm/modules/FvwmIconMan/xmanager.c,v
retrieving revision 1.11
diff -u -r1.11 xmanager.c
--- modules/FvwmIconMan/xmanager.c      2002/03/13 13:43:00     1.11
+++ modules/FvwmIconMan/xmanager.c      2002/03/15 10:17:47
@@ -1488,22 +1488,27 @@
   clear_empty_region (man);
   get_title_geometry (man, &g);
 
-  if (len > 0)
-    XFillRectangle (theDisplay, man->theWindow, man->backContext[state],
-                    g.button_x, g.button_y, g.button_w, g.button_h);
+  if (len > 0) {
+    if (man->colorsets[state] >= 0
+        && Colorset[man->colorsets[state]].pixmap == ParentRelative) {
+      XClearArea (theDisplay, man->theWindow, g.button_x, g.button_y,
+                  g.button_w, g.button_h, False);
+    } else {
+      XFillRectangle (theDisplay, man->theWindow, man->backContext[state],
+                      g.button_x, g.button_y, g.button_w, g.button_h);
+    }
+  }
   if (Pdepth > 2) {
     get_gcs (man, state, 0, &context1, &context2);
     draw_relief (man, state, &g, context1, context2);
   }
-  else {
-  }
   ClipRectangle (man, state, g.text_x, g.text_y, g.text_w, g.text_h);
-  FwinString->str =  man->titlename;
+  FwinString->str = man->titlename;
   FwinString->win = man->theWindow;
   FwinString->gc = man->hiContext[state];
   FwinString->x = g.text_x;
   FwinString->y = g.text_base;
-  FlocaleDrawString(theDisplay, man->FButtonFont, FwinString, 0);
+  FlocaleDrawString (theDisplay, man->FButtonFont, FwinString, 0);
   XSetClipMask (theDisplay, man->hiContext[state], None);
 }
 

Reply via email to