diff options
-rw-r--r-- | x11-wm/fvwm/ChangeLog | 6 | ||||
-rw-r--r-- | x11-wm/fvwm/Manifest | 13 | ||||
-rw-r--r-- | x11-wm/fvwm/files/fvwm-2.5.23-translucent-menus.diff | 528 |
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, |