summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Stelling <blubb@gentoo.org>2006-03-05 16:38:25 +0000
committerSimon Stelling <blubb@gentoo.org>2006-03-05 16:38:25 +0000
commit7042d83861ade0c38b9ccd36bc32dc9553f2f957 (patch)
tree3251b45e64e4c61bf2627efc41586ac54b0661c8 /x11-wm/fvwm/files
parentmove compressed patches to the mirrors (diff)
downloadgentoo-2-7042d83861ade0c38b9ccd36bc32dc9553f2f957.tar.gz
gentoo-2-7042d83861ade0c38b9ccd36bc32dc9553f2f957.tar.bz2
gentoo-2-7042d83861ade0c38b9ccd36bc32dc9553f2f957.zip
move compressed patches to the mirrors
(Portage version: 2.1_pre5-r1)
Diffstat (limited to 'x11-wm/fvwm/files')
-rw-r--r--x11-wm/fvwm/files/README.transluceny172
-rw-r--r--x11-wm/fvwm/files/README.transluceny.gzbin5788 -> 0 bytes
-rw-r--r--x11-wm/fvwm/files/fvwm-64bit-fixes.diff.gzbin12220 -> 0 bytes
-rw-r--r--x11-wm/fvwm/files/fvwm-translucent-menus.diff409
-rw-r--r--x11-wm/fvwm/files/fvwm-translucent-menus.diff.gzbin3582 -> 0 bytes
5 files changed, 581 insertions, 0 deletions
diff --git a/x11-wm/fvwm/files/README.transluceny b/x11-wm/fvwm/files/README.transluceny
new file mode 100644
index 000000000000..b8eb2b3e03dd
--- /dev/null
+++ b/x11-wm/fvwm/files/README.transluceny
@@ -0,0 +1,172 @@
+From owner-fvwm@hpc.uh.edu Sun Aug 31 22:52:59 2003
+Received: from malifon.math.uh.edu (malifon.math.uh.edu [129.7.128.13])
+ by sdf.lonestar.org (8.12.9/8.12.8) with ESMTP id h7VMqxcd028005;
+ Sun, 31 Aug 2003 22:52:59 GMT
+Received: from sina.hpc.uh.edu ([129.7.128.10] ident=lists)
+ by malifon.math.uh.edu with esmtp (Exim 3.20 #1)
+ id 19tb0F-0006NY-00; Sun, 31 Aug 2003 17:48:59 -0500
+Received: by sina.hpc.uh.edu (TLB v0.09a (1.20 tibbs 1996/10/09 22:03:07)); Sun, 31 Aug 2003 17:50:31 -0500 (CDT)
+Received: from epithumia.math.uh.edu (epithumia.math.uh.edu [129.7.128.2])
+ by sina.hpc.uh.edu (8.9.3/8.9.3) with ESMTP id RAA16575
+ for <fvwm@hpc.uh.edu>; Sun, 31 Aug 2003 17:50:24 -0500 (CDT)
+Received: from epithumia.math.uh.edu (epithumia.math.uh.edu [127.0.0.1])
+ by epithumia.math.uh.edu (8.12.8/8.12.5) with ESMTP id h7VMml6M025095
+ for <fvwm@hpc.uh.edu>; Sun, 31 Aug 2003 17:48:47 -0500
+Received: (from tibbs@localhost)
+ by epithumia.math.uh.edu (8.12.8/8.12.8/Submit) id h7VMmlVC025093
+ for fvwm@hpc.uh.edu; Sun, 31 Aug 2003 17:48:47 -0500
+Received: from util2.math.uh.edu (util2.math.uh.edu [129.7.128.23])
+ by sina.hpc.uh.edu (8.9.3/8.9.3) with ESMTP id QAA16418
+ for <fvwm@hpc.uh.edu>; Sun, 31 Aug 2003 16:02:07 -0500 (CDT)
+Received: from postfix4-2.free.fr ([213.228.0.176])
+ by util2.math.uh.edu with esmtp (Exim 4.20)
+ id 19tZIm-00079F-6t
+ for fvwm@fvwm.org; Sun, 31 Aug 2003 16:00:00 -0500
+Received: from snoopy.folie (nas-p19-3-62-147-221-172.dial.proxad.net [62.147.221.172])
+ by postfix4-2.free.fr (Postfix) with ESMTP id 59DE6C386
+ for <fvwm@fvwm.org>; Sun, 31 Aug 2003 22:59:34 +0200 (CEST)
+Received: by snoopy.folie (Postfix, from userid 501)
+ id A4D1D48784; Sun, 31 Aug 2003 22:39:19 +0200 (CEST)
+Date: Sun, 31 Aug 2003 22:39:19 +0200
+From: Olivier Chapuis <olivier.chapuis@free.fr>
+To: fvwm@fvwm.org
+Subject: Re: FVWM: Transparency/Translucency revisited...
+Message-ID: <20030831203919.GA6205@snoopy.folie>
+Mail-Followup-To: fvwm@fvwm.org
+References: <Pine.LNX.4.44.0308251817370.1980-100000@atlantis.ssw.krakow.pl>
+Mime-Version: 1.0
+Content-Type: multipart/mixed; boundary="Nq2Wo0NMKNjxTN9z"
+Content-Disposition: inline
+In-Reply-To: <Pine.LNX.4.44.0308251817370.1980-100000@atlantis.ssw.krakow.pl>
+User-Agent: Mutt/1.4i
+X-Spam-Score: -9.3 (---------)
+Sender: owner-fvwm@hpc.uh.edu
+Precedence: list
+X-Majordomo: 1.94.jlt7
+Status: RO
+Content-Length: 6519
+Lines: 122
+
+
+--Nq2Wo0NMKNjxTN9z
+Content-Type: text/plain; charset=us-ascii
+Content-Disposition: inline
+
+On Mon, Aug 25, 2003 at 09:00:32PM +0200, Dawid Kuroczko wrote:
+> Hello. :-)
+>
+> I did manage to make pseudo-transparent menus, but now I'd like
+> to make something more "real". What I'd like to do is to have
+> something like there is in KDE.
+>
+> It should work like this:
+> 1. user clicks thus calling a Menu.
+> 2. current screen dump is taken (with all the windows, but
+> without a menu just as yet).
+> 3. this screen dump is made available to Menu as
+> root background pixmap.
+> 4. Menu is displayed with tinted real background.
+>
+> This way it's pretty easy to make an illusion of real
+> transparency (and looks "l33t", as some may say).
+>
+
+Here a new version of the patch for current cvs/snapshot.
+This patch add a new options to Colorset: Translucent/NoTranslucent.
+These options has effects only with (non tear-off) menu.
+Also menu animation is "handled".
+
+For example with:
+
+ Colorset 5 fg yellow, bg blue, HGradient 200 lightblue darkblue, \
+ Translucent blue 60
+ Style * MenuColorset 5, PopupOffset 0 100, AnimationOff
+
+you get translucent menus (with a 60% blue tint) and if you tear-off
+a menu the menu use the gradient.
+
+Regards, Olivier
+
+
+
+--Nq2Wo0NMKNjxTN9z
+Content-Type: application/octet-stream
+Content-Disposition: attachment; filename="translucent_menu.patch.gz"
+Content-Transfer-Encoding: base64
+
+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
+X4EiqG0NJM3+G8FZozTOLwAA
+
+--Nq2Wo0NMKNjxTN9z--
+
+--
+Visit the official FVWM web page at <URL: http://www.fvwm.org/>.
+To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
+message to majordomo@fvwm.org.
+To report problems, send mail to fvwm-owner@fvwm.org.
+
diff --git a/x11-wm/fvwm/files/README.transluceny.gz b/x11-wm/fvwm/files/README.transluceny.gz
deleted file mode 100644
index 05ad886d225a..000000000000
--- a/x11-wm/fvwm/files/README.transluceny.gz
+++ /dev/null
Binary files differ
diff --git a/x11-wm/fvwm/files/fvwm-64bit-fixes.diff.gz b/x11-wm/fvwm/files/fvwm-64bit-fixes.diff.gz
deleted file mode 100644
index 2cc2f292b190..000000000000
--- a/x11-wm/fvwm/files/fvwm-64bit-fixes.diff.gz
+++ /dev/null
Binary files differ
diff --git a/x11-wm/fvwm/files/fvwm-translucent-menus.diff b/x11-wm/fvwm/files/fvwm-translucent-menus.diff
new file mode 100644
index 000000000000..f53397441760
--- /dev/null
+++ b/x11-wm/fvwm/files/fvwm-translucent-menus.diff
@@ -0,0 +1,409 @@
+Index: fvwm/colorset.c
+===================================================================
+RCS file: /home/cvs/fvwm/fvwm/fvwm/colorset.c,v
+retrieving revision 1.45
+diff -u -r1.45 colorset.c
+--- fvwm/colorset.c 25 Aug 2003 06:47:08 -0000 1.45
++++ fvwm/colorset.c 31 Aug 2003 19:48:14 -0000
+@@ -159,7 +159,9 @@
+ "IconTint",
+ "NoIconTint",
+ "IconAlpha",
+-
++
++ "Translucent",
++ "NoTranslucent",
+ NULL
+ };
+
+@@ -616,6 +618,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;
+@@ -628,6 +631,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;
+@@ -754,6 +758,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;
+@@ -920,6 +928,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"))
+@@ -1602,6 +1628,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 ----------
+ */
+@@ -1698,6 +1745,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,
+@@ -1715,6 +1763,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 */
+@@ -1726,6 +1775,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/menus.c
+===================================================================
+RCS file: /home/cvs/fvwm/fvwm/fvwm/menus.c,v
+retrieving revision 1.372
+diff -u -r1.372 menus.c
+--- fvwm/menus.c 28 Aug 2003 20:26:13 -0000 1.372
++++ fvwm/menus.c 31 Aug 2003 19:48:39 -0000
+@@ -65,6 +65,11 @@
+
+ /* ---------------------------- 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))
++
+ /* ---------------------------- imports ------------------------------------ */
+
+ /* This external is safe. It's written only during startup. */
+@@ -405,7 +410,7 @@
+
+ /* move it back */
+ if (ST_HAS_MENU_CSET(MR_STYLE(mr)) &&
+- CSET_IS_TRANSPARENT(ST_CSET_MENU(MR_STYLE(mr))))
++ MENU_IS_TRANSPARENT(mr,ST_CSET_MENU(MR_STYLE(mr))))
+ {
+ transparent_bg = True;
+ get_menu_repaint_transparent_parameters(
+@@ -2419,6 +2424,7 @@
+ /* Doh. Use the standard display instead. */
+ MR_CREATE_DPY(mr) = dpy;
+ }
++ MR_IS_TEAR_OFF_MENU(mr) = 1;
+ }
+ else
+ {
+@@ -3202,7 +3208,38 @@
+ }
+ MR_IS_PAINTED(mr) = 1;
+ /* paint the menu background */
+- if (ms && ST_HAS_MENU_CSET(ms))
++ if (ms && ST_HAS_MENU_CSET(ms) &&
++ MENU_IS_TRANSLUCENT(mr,ST_CSET_MENU(ms)))
++ {
++ 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)
+ {
+@@ -3996,8 +4033,8 @@
+ }
+ 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(mr))))
++ MENU_IS_TRANSPARENT(
++ mr,ST_CSET_MENU(MR_STYLE(mr))))
+ {
+ transparent_bg = True;
+ get_menu_repaint_transparent_parameters(
+@@ -4172,10 +4209,22 @@
+ */
+
+ 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_STYLE(mr) && ST_HAS_MENU_CSET(MR_STYLE(mr)) &&
++ MENU_IS_TRANSLUCENT(mr,ST_CSET_MENU(MR_STYLE(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)++;
+@@ -6589,15 +6638,45 @@
+ {
+ last = True;
+ }
+- if (!last && CSET_IS_TRANSPARENT_PR_TINT(ST_CSET_MENU(ms)))
++ if (!last &&
++ (CSET_IS_TRANSPARENT_PR_TINT(ST_CSET_MENU(ms)) ||
++ MENU_IS_TRANSLUCENT(mr,ST_CSET_MENU(ms))))
+ {
+ /* too slow ... */
+ return;
+ }
+- 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);
++ if (MENU_IS_TRANSLUCENT(mr,ST_CSET_MENU(ms)))
++ {
++ Pixmap trans;
++ 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;
++ }
++ XUnmapWindow(dpy, MR_WINDOW(mr));
++ MR_X(mr) = x;
++ MR_Y(mr) = y;
++ 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));
++ XSetWindowBackgroundPixmap(
++ dpy, MR_WINDOW(mr), trans);
++ XFreePixmap(dpy, trans);
++ }
++ else
++ {
++ 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);
++ }
+ /* redraw the background of non active item */
+ for (mi = MR_FIRST_ITEM(mr); mi != NULL; mi = MI_NEXT_ITEM(mi))
+ {
+@@ -7213,7 +7292,6 @@
+ }
+ }
+
+-
+ for (t = Scr.FvwmRoot.next; t != NULL; t = t->next)
+ {
+ MenuRoot *mr = NULL;
+@@ -7230,10 +7308,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.103
+diff -u -r1.103 menus.h
+--- fvwm/menus.h 28 Aug 2003 20:26:14 -0000 1.103
++++ fvwm/menus.h 31 Aug 2003 19:48:41 -0000
+@@ -141,6 +141,9 @@
+ MenuItem *submenu_item;
+ /* x distance window was moved by animation */
+ int xanimation;
++ /* x,y XMapRaise */
++ int x;
++ int y;
+ /* dynamic temp flags */
+ struct
+ {
+@@ -182,6 +185,8 @@
+ #define MR_SELECTED_ITEM(m) ((m)->d->selected_item)
+ #define MR_SUBMENU_ITEM(m) ((m)->d->submenu_item)
+ #define MR_XANIMATION(m) ((m)->d->xanimation)
++#define MR_X(m) ((m)->d->x)
++#define MR_Y(m) ((m)->d->y)
+ #define MR_STORED_ITEM(m) ((m)->d->stored_item)
+ #define MR_STORED_PIXELS(m) ((m)->d->stored_pixels)
+ /* flags */
+Index: libs/Colorset.h
+===================================================================
+RCS file: /home/cvs/fvwm/fvwm/libs/Colorset.h,v
+retrieving revision 1.36
+diff -u -r1.36 Colorset.h
+--- libs/Colorset.h 29 Jun 2003 19:53:23 -0000 1.36
++++ libs/Colorset.h 31 Aug 2003 19:48:43 -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 */
+@@ -152,6 +157,11 @@
+ #define CSETS_IS_TRANSPARENT_PR_TINT(cset) \
+ (cset >= 0 && 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.25
+diff -u -r1.25 PictureGraphics.c
+--- libs/PictureGraphics.c 27 Aug 2003 13:37:04 -0000 1.25
++++ libs/PictureGraphics.c 31 Aug 2003 19:48:50 -0000
+@@ -1338,7 +1338,7 @@
+ }
+ }
+
+-#if 0 /* humm... maybe usefull one day with menus */
++#if 1 /* humm... maybe usefull 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.12
+diff -u -r1.12 PictureGraphics.h
+--- libs/PictureGraphics.h 29 Jun 2003 19:53:24 -0000 1.12
++++ libs/PictureGraphics.h 31 Aug 2003 19:48:50 -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,
+
diff --git a/x11-wm/fvwm/files/fvwm-translucent-menus.diff.gz b/x11-wm/fvwm/files/fvwm-translucent-menus.diff.gz
deleted file mode 100644
index b55f6d348d63..000000000000
--- a/x11-wm/fvwm/files/fvwm-translucent-menus.diff.gz
+++ /dev/null
Binary files differ