summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Elio Pettenò <flameeyes@gentoo.org>2009-09-25 10:23:23 +0000
committerDiego Elio Pettenò <flameeyes@gentoo.org>2009-09-25 10:23:23 +0000
commit42a98f3f67ac78ba44a430ce26e4efc0a3c09ed8 (patch)
tree6db6edfe0d1108f64e7508684462b540b87fcc72 /x11-wm/fvwm
parentRemove duplicate patch. (diff)
downloadhistorical-42a98f3f67ac78ba44a430ce26e4efc0a3c09ed8.tar.gz
historical-42a98f3f67ac78ba44a430ce26e4efc0a3c09ed8.tar.bz2
historical-42a98f3f67ac78ba44a430ce26e4efc0a3c09ed8.zip
Remove unused, duplicate patch.
Package-Manager: portage-2.2_rc41/cvs/Linux x86_64
Diffstat (limited to 'x11-wm/fvwm')
-rw-r--r--x11-wm/fvwm/ChangeLog6
-rw-r--r--x11-wm/fvwm/Manifest13
-rw-r--r--x11-wm/fvwm/files/fvwm-2.5.23-translucent-menus.diff528
3 files changed, 16 insertions, 531 deletions
diff --git a/x11-wm/fvwm/ChangeLog b/x11-wm/fvwm/ChangeLog
index 2e2eaf143f20..c6c4be0f423e 100644
--- a/x11-wm/fvwm/ChangeLog
+++ b/x11-wm/fvwm/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for x11-wm/fvwm
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-wm/fvwm/ChangeLog,v 1.162 2009/09/22 03:38:37 darkside Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-wm/fvwm/ChangeLog,v 1.163 2009/09/25 10:23:23 flameeyes Exp $
+
+ 25 Sep 2009; Diego E. Pettenò <flameeyes@gentoo.org>
+ -files/fvwm-2.5.23-translucent-menus.diff:
+ Remove unused, duplicate patch.
*fvwm-2.5.28 (22 Sep 2009)
diff --git a/x11-wm/fvwm/Manifest b/x11-wm/fvwm/Manifest
index aeb91dd8d589..b5066a922ab5 100644
--- a/x11-wm/fvwm/Manifest
+++ b/x11-wm/fvwm/Manifest
@@ -1,5 +1,7 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
AUX README.translucency 3723 RMD160 f09c9cb205731ae97781dd8a59a9b1633851ef36 SHA1 d41ac01641797012ec9673d5233421d89914fb91 SHA256 099c57f9f323ba44e03b9edcfc17da7da08b0438dd5be3c6830f283030e75fe6
-AUX fvwm-2.5.23-translucent-menus.diff 15765 RMD160 5629e1fcd6d41e7c9f5cfa0a62204d33d83d5c6f SHA1 2ff0c394e1e393cab8249efeeddf917d07a7ba78 SHA256 ad59f0aa1b73fb128143bf5a390185289c296e0d31a4e6e6ca5f046f414752cf
AUX fvwm-2.5.27-translucent-menus.diff 15765 RMD160 5629e1fcd6d41e7c9f5cfa0a62204d33d83d5c6f SHA1 2ff0c394e1e393cab8249efeeddf917d07a7ba78 SHA256 ad59f0aa1b73fb128143bf5a390185289c296e0d31a4e6e6ca5f046f414752cf
AUX fvwm-menu-directory-security.diff 651 RMD160 4c33671109d1d1f0927bbb755b86691040535bfc SHA1 9b2609a33c85e72c7735de1b3d5fa0fd866819bb SHA256 5ad90a20f6d5f32d718e54347dde66f863971f46a05f6c83c9a294a74cfc24df
AUX fvwm-menu-xlock-xlockmore-compat.diff 550 RMD160 72af6f306e5869581fcd48c84edfe00adea4a5b9 SHA1 0eccf83c3046e3822737c5facb23f547a062bff8 SHA256 5db8bc279f618096b23fed04b70b626c6ff50c104283d5ece505200db1e5a8af
@@ -10,5 +12,12 @@ DIST fvwm-2.5.28.tar.bz2 2521994 RMD160 6df61b9b6477ff35b1b9d4f915c3241ead1a4fa1
EBUILD fvwm-2.5.18-r1.ebuild 5363 RMD160 166152c3c5ca70a2e63209796881b8a3d725b153 SHA1 7c049074fddfb4079af6b984454c353407b5f335 SHA256 81b1f71bc53a1366d61ef5e73de313272749a13efcb5120f56c0923606e96c30
EBUILD fvwm-2.5.27-r1.ebuild 4942 RMD160 4864e2b6656e81dc17e61efbc0cd2add2b316c4d SHA1 cb926c9564b2d711d68ee94b45ea875c467d3ccc SHA256 bec8f99a98064d25ad43e2563833dfd2b8cfdd8cf6535586e605db952b381677
EBUILD fvwm-2.5.28.ebuild 4850 RMD160 cc83dac6a97d7c635beca5c8b4dc06efd18e49a5 SHA1 36d06a191fdbe71d1b4abf9d008aecc0dc892b30 SHA256 ba8348e8dbc4bc68426a3a1ed90159d8e9925990f4cfd8cf2f1439e2af379e05
-MISC ChangeLog 25649 RMD160 332d9d5078c1ea6ea77d7f35a8e4541d7f0c3735 SHA1 c39db53a1aebade484c2284d6c0085d34409d85a SHA256 14fa44197204b0378a2a09cd5e123fcf0fa3403266967f47eeffad6880870148
+MISC ChangeLog 25786 RMD160 78d0eff2f645a39b68ae51ff633616086c739589 SHA1 bf66e35304352079e308b31e1d4cc89e007f54af SHA256 7358fc96220066d95d83b74eac5b8d9deee5941b24c1b5293ef20b929ebcb914
MISC metadata.xml 1030 RMD160 b260d643a074659f85850fa34e70bbd8c75bace1 SHA1 95ca4f850821b546bf56cc053bb800cbfe67c54e SHA256 2bc103425bb6eb407042640f5768da44c559fc1e14cd21b7670a0d7c63f823b0
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.11 (GNU/Linux)
+
+iEYEARECAAYFAkq8miMACgkQAiZjviIA2Xh2EQCfW4sItOMi52YCy0kh1426rIew
+74UAnRKZUtVXZgIzYQ3irdWmFHvicO8G
+=iXwo
+-----END PGP SIGNATURE-----
diff --git a/x11-wm/fvwm/files/fvwm-2.5.23-translucent-menus.diff b/x11-wm/fvwm/files/fvwm-2.5.23-translucent-menus.diff
deleted file mode 100644
index 1c49f69007d0..000000000000
--- a/x11-wm/fvwm/files/fvwm-2.5.23-translucent-menus.diff
+++ /dev/null
@@ -1,528 +0,0 @@
-Index: fvwm/colorset.c
-===================================================================
-RCS file: /home/cvs/fvwm/fvwm/fvwm/colorset.c,v
-retrieving revision 1.52
-diff -u -r1.52 colorset.c
---- fvwm/colorset.c 27 Jan 2007 11:33:15 -0000 1.52
-+++ fvwm/colorset.c 5 Feb 2007 19:15:51 -0000
-@@ -164,6 +164,8 @@
- "NoIconTint",
- "IconAlpha",
-
-+ "Translucent",
-+ "NoTranslucent",
- NULL
- };
-
-@@ -625,6 +627,7 @@
- char *fg_tint = NULL;
- char *bg_tint = NULL;
- char *icon_tint = NULL;
-+ char *translucent_tint = NULL;
- Bool have_pixels_changed = False;
- Bool has_icon_pixels_changed = False;
- Bool has_fg_changed = False;
-@@ -637,6 +640,7 @@
- Bool has_fg_tint_changed = False;
- Bool has_bg_tint_changed = False;
- Bool has_icon_tint_changed = False;
-+ Bool has_translucent_tint_changed = False;
- Bool has_pixmap_changed = False;
- Bool has_shape_changed = False;
- Bool has_image_alpha_changed = False;
-@@ -763,6 +767,10 @@
- case 21: /* Plain */
- has_pixmap_changed = True;
- free_colorset_background(cs, True);
-+ cs->is_translucent = False;
-+ cs->translucent_tint_percent = 0;
-+ cs->color_flags &= ~TRANSLUCENT_TINT_SUPPLIED;
-+ has_translucent_tint_changed = True;
- break;
- case 22: /* NoShape */
- has_shape_changed = True;
-@@ -929,6 +937,24 @@
- cs->icon_alpha_percent = tmp;
- }
- break;
-+ case 42: /* Translucent */
-+ cs->is_translucent = True;
-+ parse_simple_tint(
-+ cs, args, &translucent_tint,
-+ TRANSLUCENT_TINT_SUPPLIED,
-+ &has_translucent_tint_changed, &percent,
-+ "Translucent");
-+ if (has_translucent_tint_changed)
-+ {
-+ cs->translucent_tint_percent = percent;
-+ }
-+ break;
-+ case 43: /* NoTranslucent */
-+ cs->is_translucent = False;
-+ cs->translucent_tint_percent = 0;
-+ cs->color_flags &= ~TRANSLUCENT_TINT_SUPPLIED;
-+ has_translucent_tint_changed = True;
-+ break;
- default:
- /* test for ?Gradient */
- if (option[0] && StrEquals(&option[1], "Gradient"))
-@@ -1615,6 +1641,27 @@
- }
-
- /*
-+ * ---------- change the translucent tint colour ----------
-+ */
-+ if (has_translucent_tint_changed)
-+ {
-+ /* user specified colour */
-+ if (translucent_tint != NULL)
-+ {
-+ PictureFreeColors(
-+ dpy, Pcmap, &cs->translucent_tint, 1, 0, True);
-+ cs->translucent_tint = GetColor(translucent_tint);
-+ }
-+ else
-+ {
-+ /* default */
-+ PictureFreeColors(
-+ dpy, Pcmap, &cs->translucent_tint, 1, 0, True);
-+ cs->translucent_tint = GetColor(black);
-+ }
-+ }
-+
-+ /*
- * ---------- send new colorset to fvwm and clean up ----------
- */
- /* make sure the server has this to avoid races */
-@@ -1710,6 +1757,7 @@
- ncs->fgsh = GetColor(white);
- ncs->tint = GetColor(black);
- ncs->icon_tint = GetColor(black);
-+ ncs->translucent_tint = GetColor(black);
- ncs->pixmap = XCreatePixmapFromBitmapData(
- dpy, Scr.NoFocusWin,
- &g_bits[4 * (nColorsets % 3)], 4, 4,
-@@ -1727,6 +1775,7 @@
- ncs->fgsh = GetForeShadow(ncs->fg, ncs->bg);
- ncs->tint = GetColor(black);
- ncs->icon_tint = GetColor(black);
-+ ncs->translucent_tint = GetColor(black);
- }
- ncs->fg_tint = ncs->bg_tint = GetColor(black);
- /* set flags for fg contrast, bg average */
-@@ -1738,6 +1787,7 @@
- ncs->icon_alpha_percent = 100;
- ncs->tint_percent = 0;
- ncs->icon_tint_percent = 0;
-+ ncs->translucent_tint_percent = 0;
- ncs->fg_tint_percent = ncs->bg_tint_percent = 0;
- ncs->dither = (PictureDitherByDefault())? True:False;
- nColorsets++;
-Index: fvwm/menuroot.h
-===================================================================
-RCS file: /home/cvs/fvwm/fvwm/fvwm/menuroot.h,v
-retrieving revision 1.3
-diff -u -r1.3 menuroot.h
---- fvwm/menuroot.h 13 Jan 2007 15:07:14 -0000 1.3
-+++ fvwm/menuroot.h 5 Feb 2007 19:17:37 -0000
-@@ -146,6 +146,9 @@
- int d_npixels;
- } stored_pixels;
- /* alloc pixels when dithering is used for gradients */
-+ /* x,y XMapRaise */
-+ int x;
-+ int y;
- } MenuRootDynamic;
-
- /* access macros to dynamic menu members */
-Index: fvwm/menus.c
-===================================================================
-RCS file: /home/cvs/fvwm/fvwm/fvwm/menus.c,v
-retrieving revision 1.409
-diff -u -r1.409 menus.c
---- fvwm/menus.c 27 Jan 2007 11:51:15 -0000 1.409
-+++ fvwm/menus.c 5 Feb 2007 19:17:50 -0000
-@@ -75,6 +75,19 @@
-
- /* ---------------------------- local macros ------------------------------- */
-
-+#define MENU_IS_TRANSLUCENT(mr,cs) \
-+ (!MR_IS_TEAR_OFF_MENU(mr) && CSET_IS_TRANSLUCENT(cs))
-+#define MENU_IS_TRANSPARENT(mr,cs) \
-+ (MENU_IS_TRANSLUCENT(mr,cs) || CSET_IS_TRANSPARENT(cs))
-+#define MR_IS_TRANSLUCENT_MENU(mr) \
-+ (!MR_IS_TEAR_OFF_MENU(mr) && MR_STYLE(mr) && \
-+ ST_HAS_MENU_CSET(MR_STYLE(mr)) && CSET_IS_TRANSLUCENT( \
-+ ST_CSET_MENU(MR_STYLE(mr))))
-+#define MR_IS_TRANSPARENT_MENU(mr) \
-+ (MR_IS_TRANSLUCENT_MENU(mr) || (MR_STYLE(mr) && \
-+ ST_HAS_MENU_CSET(MR_STYLE(mr)) && CSET_IS_TRANSPARENT( \
-+ ST_CSET_MENU(MR_STYLE(mr)))))
-+
- /* ---------------------------- imports ------------------------------------ */
-
- /* This external is safe. It's written only during startup. */
-@@ -188,6 +201,8 @@
- } mloop_static_info_t;
-
- /* ---------------------------- forward declarations ----------------------- */
-+static MenuRoot *seek_submenu_instance(
-+ MenuRoot *parent_menu, MenuItem *parent_item);
-
- /* ---------------------------- local variables ---------------------------- */
-
-@@ -353,12 +368,22 @@
- Bool transparent_bg = False;
-
- /* move it back */
-- if (ST_HAS_MENU_CSET(MR_STYLE(mr)) &&
-- CSET_IS_TRANSPARENT(ST_CSET_MENU(MR_STYLE(mr))))
-+ if (MR_IS_TRANSPARENT_MENU(mr))
- {
- transparent_bg = True;
- get_menu_repaint_transparent_parameters(
- &mrtp, mr, fw);
-+ if (MR_IS_TRANSLUCENT_MENU(mr) && MR_SUBMENU_ITEM(mr))
-+ {
-+ MenuRoot *smr;
-+ smr = seek_submenu_instance(
-+ mr, MR_SUBMENU_ITEM(mr));
-+ if (smr)
-+ {
-+ /* just unmap it here, popdown later */
-+ XUnmapWindow(dpy, MR_WINDOW(smr));
-+ }
-+ }
- }
- AnimatedMoveOfWindow(
- MR_WINDOW(mr), act_x, act_y, act_x - MR_XANIMATION(mr),
-@@ -1779,6 +1804,7 @@
- /* Doh. Use the standard display instead. */
- MR_CREATE_DPY(mr) = dpy;
- }
-+ MR_IS_TEAR_OFF_MENU(mr) = 1;
- }
- else
- {
-@@ -2594,7 +2620,37 @@
- }
- MR_IS_PAINTED(mr) = 1;
- /* paint the menu background */
-- if (ms && ST_HAS_MENU_CSET(ms))
-+ if (MR_IS_TRANSLUCENT_MENU(mr))
-+ {
-+ Pixmap trans = None;
-+ FvwmRenderAttributes fra;
-+ colorset_t *colorset = &Colorset[ST_CSET_MENU(ms)];
-+
-+ fra.mask = 0;
-+ if (colorset->translucent_tint_percent > 0)
-+ {
-+ fra.mask = FRAM_HAVE_TINT;
-+ fra.tint = colorset->translucent_tint;
-+ fra.tint_percent = colorset->translucent_tint_percent;
-+ }
-+ if (MR_IS_BACKGROUND_SET(mr) == False)
-+ {
-+ trans = PGraphicsCreateTranslucent(
-+ dpy, MR_WINDOW(mr), &fra,
-+ BACK_GC(ST_MENU_INACTIVE_GCS(ms)),
-+ MR_X(mr), MR_Y(mr), MR_WIDTH(mr), MR_HEIGHT(mr));
-+ XMapRaised(dpy, MR_WINDOW(mr));
-+ if (trans != None)
-+ {
-+ XSetWindowBackgroundPixmap(
-+ dpy, MR_WINDOW(mr), trans);
-+ MR_IS_BACKGROUND_SET(mr) = True;
-+ clear_expose_menu_area(MR_WINDOW(mr), pevent);
-+ XFreePixmap(dpy, trans);
-+ }
-+ }
-+ }
-+ else if (ms && ST_HAS_MENU_CSET(ms))
- {
- if (MR_IS_BACKGROUND_SET(mr) == False)
- {
-@@ -3401,10 +3457,7 @@
- MR_HAS_POPPED_UP_RIGHT(mr) = 0;
- }
- MR_XANIMATION(parent_menu) += end_x - prev_x;
-- if (ST_HAS_MENU_CSET(MR_STYLE(parent_menu)) &&
-- CSET_IS_TRANSPARENT(
-- ST_CSET_MENU(
-- MR_STYLE(parent_menu))))
-+ if (MR_IS_TRANSPARENT_MENU(parent_menu))
- {
- transparent_bg = True;
- get_menu_repaint_transparent_parameters(
-@@ -3583,10 +3636,21 @@
- */
-
- XMoveWindow(dpy, MR_WINDOW(mr), x, y);
-+ MR_X(mr) = x;
-+ MR_Y(mr) = y;
- XSelectInput(dpy, MR_WINDOW(mr), event_mask);
-- XMapRaised(dpy, MR_WINDOW(mr));
-- if (popdown_window)
-- XUnmapWindow(dpy, popdown_window);
-+ if (MR_IS_TRANSLUCENT_MENU(mr))
-+ {
-+ if (popdown_window)
-+ XUnmapWindow(dpy, popdown_window);
-+ paint_menu(mr, NULL, fw);
-+ }
-+ else
-+ {
-+ XMapRaised(dpy, MR_WINDOW(mr));
-+ if (popdown_window)
-+ XUnmapWindow(dpy, popdown_window);
-+ }
- XFlush(dpy);
- MR_MAPPED_COPIES(mr)++;
- MST_USAGE_COUNT(mr)++;
-@@ -6123,16 +6187,122 @@
- {
- last = True;
- }
-- if (!last && CSET_IS_TRANSPARENT_PR_TINT(ST_CSET_MENU(ms)))
-+ if (!last &&
-+ (CSET_IS_TRANSPARENT_PR_TINT(ST_CSET_MENU(ms)) ||
-+ MR_IS_TRANSLUCENT_MENU(mr)))
- {
- /* too slow ... */
- return;
- }
-- SetWindowBackgroundWithOffset(
-- dpy, MR_WINDOW(mr), step_x - current_x, step_y - current_y,
-- MR_WIDTH(mr), MR_HEIGHT(mr),
-- &Colorset[ST_CSET_MENU(ms)], Pdepth,
-- FORE_GC(MST_MENU_INACTIVE_GCS(mr)), False);
-+ if (MR_IS_TRANSLUCENT_MENU(mr))
-+ {
-+ Pixmap trans, tmp;
-+ FvwmRenderAttributes fra;
-+ colorset_t *colorset = &Colorset[ST_CSET_MENU(ms)];
-+
-+ fra.mask = 0;
-+ if (colorset->translucent_tint_percent > 0)
-+ {
-+ fra.mask = FRAM_HAVE_TINT;
-+ fra.tint = colorset->translucent_tint;
-+ fra.tint_percent = colorset->translucent_tint_percent;
-+ }
-+ if (current_x == step_x)
-+ {
-+ /* Reuse the old pixmap for the part of the menu
-+ * that has not moved. (This can be extended to get
-+ * two new rectangles, one in each direction)
-+ *
-+ * It saves the unmapping of the window and makes
-+ * Things less flickering.
-+ */
-+ GC my_gc;
-+ unsigned long valuemask = GCSubwindowMode;
-+ XGCValues values;
-+ int out_y=0;
-+ values.subwindow_mode = IncludeInferiors;
-+ if (step_y < 0)
-+ {
-+ out_y = -step_y;
-+ }
-+ trans = XCreatePixmap(dpy, MR_WINDOW(mr), MR_WIDTH(mr),
-+ MR_HEIGHT(mr), Pdepth);
-+ my_gc = fvwmlib_XCreateGC(dpy, MR_WINDOW(mr), 0, NULL);
-+ XChangeGC(dpy, my_gc, valuemask, &values);
-+
-+ XClearWindow(dpy, MR_WINDOW(mr));
-+
-+ if (current_y < step_y)
-+ {
-+ XCopyArea(dpy, MR_WINDOW(mr), trans, my_gc, 0,
-+ step_y-current_y, MR_WIDTH(mr),
-+ MR_HEIGHT(mr)-(step_y-current_y),
-+ 0,0);
-+ tmp = PGraphicsCreateTranslucent(
-+ dpy, MR_WINDOW(mr), &fra,
-+ BACK_GC(ST_MENU_INACTIVE_GCS(ms)),
-+ current_x, current_y+MR_HEIGHT(mr),
-+ MR_WIDTH(mr), step_y-current_y);
-+
-+ XCopyArea(dpy, tmp, trans, my_gc, 0, 0,
-+ MR_WIDTH(mr), step_y-current_y,0,
-+ MR_HEIGHT(mr)-(step_y-current_y));
-+ }
-+ else
-+ {
-+ XCopyArea(dpy, MR_WINDOW(mr), trans, my_gc, 0,
-+ 0, MR_WIDTH(mr),
-+ MR_HEIGHT(mr)-(current_y-step_y), 0,
-+ current_y-step_y);
-+ tmp = PGraphicsCreateTranslucent(
-+ dpy, MR_WINDOW(mr), &fra,
-+ BACK_GC(ST_MENU_INACTIVE_GCS(ms)),
-+ current_x,step_y, MR_WIDTH(mr),
-+ current_y-step_y);
-+ XCopyArea(dpy, tmp, trans, my_gc, 0, 0,
-+ MR_WIDTH(mr), current_y-step_y,0,
-+ out_y);
-+ }
-+ MR_X(mr) = step_x;
-+ MR_Y(mr) = step_y;
-+ XFreePixmap(dpy, tmp);
-+ XFreeGC(dpy,my_gc);
-+ }
-+ else
-+ {
-+ XUnmapWindow(dpy, MR_WINDOW(mr));
-+ MR_X(mr) = step_x;
-+ MR_Y(mr) = step_y;
-+ trans = PGraphicsCreateTranslucent(
-+ dpy, MR_WINDOW(mr), &fra,
-+ BACK_GC(ST_MENU_INACTIVE_GCS(ms)),
-+ step_x, step_y, MR_WIDTH(mr),
-+ MR_HEIGHT(mr));
-+ XMapRaised(dpy, MR_WINDOW(mr));
-+ }
-+ XSetWindowBackgroundPixmap(
-+ dpy, MR_WINDOW(mr), trans);
-+ XFreePixmap(dpy, trans);
-+ if (current_x == step_x)
-+ {
-+ /* Redraw the border */
-+ RelieveRectangle(
-+ dpy, MR_WINDOW(mr), 0, 0, MR_WIDTH(mr) - 1,
-+ MR_HEIGHT(mr) - 1, (Pdepth < 2) ?
-+ SHADOW_GC(MST_MENU_INACTIVE_GCS(mr)) :
-+ HILIGHT_GC(MST_MENU_INACTIVE_GCS(mr)),
-+ SHADOW_GC(MST_MENU_INACTIVE_GCS(mr)),
-+ MST_BORDER_WIDTH(mr));
-+ }
-+ }
-+ else
-+ {
-+ SetWindowBackgroundWithOffset(
-+ dpy, MR_WINDOW(mr), step_x - current_x,
-+ step_y - current_y, MR_WIDTH(mr), MR_HEIGHT(mr),
-+ &Colorset[ST_CSET_MENU(ms)], Pdepth,
-+ FORE_GC(MST_MENU_INACTIVE_GCS(mr)), False);
-+ }
- }
-
-
-@@ -6173,10 +6343,7 @@
- }
- if (!is_bg_set)
- {
-- SetWindowBackground(
-- dpy, MR_WINDOW(mr), MR_WIDTH(mr), MR_HEIGHT(mr),
-- &Colorset[ST_CSET_MENU(ms)], Pdepth,
-- FORE_GC(MST_MENU_INACTIVE_GCS(mr)), False);
-+ update_transparent_menu_bg(prtm, x, y, x, y, end_x, end_y);
- }
- /* redraw the background of non active item */
- for (mi = MR_FIRST_ITEM(mr); mi != NULL; mi = MI_NEXT_ITEM(mi))
-@@ -6813,10 +6980,12 @@
- SetWindowBackground(
- dpy, MR_WINDOW(mr), MR_WIDTH(mr),
- MR_HEIGHT(mr),
-- &Colorset[ST_CSET_MENU(ms)],
-- Pdepth,
-+ &Colorset[ST_CSET_MENU(ms)], Pdepth,
- FORE_GC(MST_MENU_INACTIVE_GCS(mr)),
-- True);
-+ False);
-+ XClearArea(
-+ dpy, MR_WINDOW(mr), 0, 0, MR_WIDTH(mr),
-+ MR_HEIGHT(mr), True);
- }
- else if ((ST_HAS_ACTIVE_CSET(ms) &&
- ST_CSET_ACTIVE(ms) == cset) ||
-Index: fvwm/menus.h
-===================================================================
-RCS file: /home/cvs/fvwm/fvwm/fvwm/menus.h,v
-retrieving revision 1.111
-diff -u -r1.111 menus.h
---- fvwm/menus.h 27 Jan 2007 11:51:15 -0000 1.111
-+++ fvwm/menus.h 5 Feb 2007 19:17:50 -0000
-@@ -15,6 +15,9 @@
- #define IS_MENU_RETURN(x) \
- ((x)==MENU_DONE || (x)==MENU_ABORTED || (x)==MENU_SUBMENU_TORN_OFF)
-
-+#define MR_X(m) ((m)->d->x)
-+#define MR_Y(m) ((m)->d->y)
-+
- struct MenuRoot;
- struct MenuStyle;
- struct MenuReturn;
-Index: libs/Colorset.h
-===================================================================
-RCS file: /home/cvs/fvwm/fvwm/libs/Colorset.h,v
-retrieving revision 1.38
-diff -u -r1.38 Colorset.h
---- libs/Colorset.h 10 Jan 2007 00:34:27 -0000 1.38
-+++ libs/Colorset.h 5 Feb 2007 19:19:00 -0000
-@@ -51,6 +51,10 @@
- Bool dither;
- Bool allows_buffered_transparency;
- Bool is_maybe_root_transparent;
-+ /* only use by fvwm menu (non tear-off) */
-+ Bool is_translucent;
-+ Pixel translucent_tint;
-+ unsigned int translucent_tint_percent : 7;
- #endif
- } colorset_t;
-
-@@ -78,6 +82,7 @@
- #define FG_TINT_SUPPLIED 0x100
- #define BG_TINT_SUPPLIED 0x200
- #define ICON_TINT_SUPPLIED 0x400
-+#define TRANSLUCENT_TINT_SUPPLIED 0x800
- #endif
-
- /* colorsets are stored as an array of structs to permit fast dereferencing */
-@@ -153,6 +158,11 @@
- (cset != NULL && cset->pixmap == ParentRelative && \
- cset->tint_percent > 0)
-
-+#define CSET_IS_TRANSLUCENT(cset) \
-+ (cset >= 0 && Colorset[cset].is_translucent)
-+#define CSETS_IS_TRANSLUCENT(cset) \
-+ (cset && cset->is_translucent)
-+
- #ifndef FVWM_COLORSET_PRIVATE
- /* Create n new colorsets, fvwm/colorset.c does its own thing (different size)
- */
-Index: libs/PictureGraphics.c
-===================================================================
-RCS file: /home/cvs/fvwm/fvwm/libs/PictureGraphics.c,v
-retrieving revision 1.29
-diff -u -r1.29 PictureGraphics.c
---- libs/PictureGraphics.c 27 Jan 2007 11:33:16 -0000 1.29
-+++ libs/PictureGraphics.c 5 Feb 2007 19:19:49 -0000
-@@ -1340,7 +1340,7 @@
- }
- }
-
--#if 0 /* humm... maybe useful one day with menus */
-+#if 1 /* humm... maybe useful one day with menus */
- Pixmap PGraphicsCreateTranslucent(
- Display *dpy, Window win, FvwmRenderAttributes *fra, GC gc,
- int x, int y, int width, int height)
-Index: libs/PictureGraphics.h
-===================================================================
-RCS file: /home/cvs/fvwm/fvwm/libs/PictureGraphics.h,v
-retrieving revision 1.13
-diff -u -r1.13 PictureGraphics.h
---- libs/PictureGraphics.h 9 May 2006 20:46:29 -0000 1.13
-+++ libs/PictureGraphics.h 5 Feb 2007 19:19:49 -0000
-@@ -122,7 +122,9 @@
- Display *dpy, Window win, Pixel tint, int tint_percent,
- Drawable dest, Bool dest_is_a_window, GC gc, GC mono_gc, GC alpha_gc,
- int dest_x, int dest_y, int dest_w, int dest_h);
--
-+Pixmap PGraphicsCreateTranslucent(
-+ Display *dpy, Window win, FvwmRenderAttributes *fra, GC gc,
-+ int x, int y, int width, int height);
- /* never used ! */
- Pixmap PGraphicsCreateDitherPixmap(
- Display *dpy, Window win, Drawable src, Pixmap mask, int depth, GC gc,