Subject: CVS olicha: * A Transparent and clipping patch

From: FVWM CVS <[email-masked]>
Date: Fri, 13 Sep 2002 05:28:54 -0500

CVSROOT:	/home/cvs/fvwm
Module name:	fvwm
Changes by:	olicha	02/09/13 05:28:54

Modified files:
	.              : ChangeLog 
	fvwm           : borders.c colorset.c colorset.h events.c 
	libs           : Colorset.c Colorset.h FRender.c Fft.c Flocale.h 
	                 PictureGraphics.c PictureGraphics.h 
	modules        : ChangeLog 
	modules/FvwmBacker: FvwmBacker.c Makefile.am 
	modules/FvwmDragWell: Makefile.am fvwmDragWell.c 
	modules/FvwmForm: FvwmForm.c Makefile.am 
	modules/FvwmIconMan: FvwmIconMan.h fvwm.c x.c x.h xmanager.c 
	                     xmanager.h 
	modules/FvwmIdent: FvwmIdent.c FvwmIdent.h Makefile.am 
	modules/FvwmScroll: FvwmScroll.c Makefile.am 

Log message:
* A Transparent and clipping patch
* Starting implementation of Root Transparency ("E" method)
* Progress in tinting the Transparent colorset
* Implemented clipping redrawing in IconMan and Ident. IconMan should not
flicker any more with xft fonts and icons with alpha. Should do that
for all modules and menu ...
* Some clean up and fixes in IconMan. There is very strange things in
IconMan code! Tried to fix some ... Colorsets should work as expected now.
* New RetainPixmap option to the Backer.
* The new "RootTransparent" colorset should work in menu (not animated)
IconMan and Ident. You should set your background with an Esetroot or
fvwm-root compatible program. You can also use FvwmBacker and the new
RetainPixmap option. Tint should works.
* Tinting the Transparent colorset may work under certain condition
with menu, IconMan and Ident. The first condition is to have an
X server with BackingStore enabled (not needed for menu). The second is
to use the ParentalRelativity style. The third one is to use BackingStoreOff
style, yes I say _off_ (for xft font and icon with tint/alpha).
* Colorset may use XRrender, so link and init xrender with some modules
* NOTE: Backing Store cause big problems with XRender and Xft. On my
server it _seems_ that XRender and Xft does not respect the Backing Store
attribute: with backing store XRender does not render on not visible
part of the window (and it should/can as backing store is enabled),
but no Expose event are generated when the part became visible (as
backing store is enabled). I do not know yet a workaround ...
This may cause problems with menus, but I do not yet understand the
problem here ... Dominik, do menus use backing store if possible?

--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [email-masked].
To report problems, send mail to [email-masked]

---

From: Mikhael Goikhman <[email-masked]>
Date: Wed, 18 Sep 2002 16:25:44 +0000

> problem here ... Dominik, do menus use backing store if possible?

Something is wrong with Tint after this commit.

Without any config do:

  Colorset 5 fg white, bg average, TiledPixmap any-image
  MenuStyle * MenuColorset 5

Menu looks ok. Now:

  Colorset 5 fg white, bg average, TiledPixmap any-image, Tint yellow 30

Menu looks flat. Execute the first line without Tint, it is flat forever.
This behaviour "Tint makes a colorset flat forever" is not just in menus.

Regards,
Mikhael.

---

From: Olivier Chapuis <[email-masked]>
Date: Wed, 18 Sep 2002 23:01:29 +0200

> This behaviour "Tint makes a colorset flat forever" is not just in menus.

So hi == sh? I cannot reproduce this (used fvwm-flying.xpm).
Is this "average" specific?

Olivier

---

From: Mikhael Goikhman <[email-masked]>
Date: Wed, 18 Sep 2002 21:25:53 +0000

> Is this "average" specific?

bg, hi and sh are just fine, but the colorset is Plain after Tint.
Just did again "Restart fvwm -f no-rc" and repeated these 3 commands
with fvwm-flying.xpm. It seems the first time I open a menu after Tint
I can see the image, but it disapears immediatelly.

Maybe a backing store problem?

  % xdpyinfo | grep back
  options:    backing-store NO, save-unders NO

Regards,
Mikhael.

---

From: Olivier Chapuis <[email-masked]>
Date: Thu, 19 Sep 2002 15:48:19 +0200

> bg, hi and sh are just fine, but the colorset is Plain after Tint.

Ok, no problems at all here :o/
I've made some very small clean up in colorset.c and FRender.c just now,
but I do not think that this fix something for you.
I suspect a XRender pbs.
Can you go at line 998 of libs/PictureGraphics.c and add a 0 &&
just before FRenderRender. Then, try again ...

>   options:    backing-store NO, save-unders NO

I do not think that this is a backing store problem (I do not
have backing store enabled now and with XRender you fall
on backing store pbs if backing store is on).
Any way can you send me the full output of xdpyinfo -ext RENDER

Olivier

---

From: Mikhael Goikhman <[email-masked]>
Date: Fri, 20 Sep 2002 01:01:52 +0000

On 19 Sep 2002 15:48:19 +0200, Olivier Chapuis wrote:
> > > > Menu looks flat. Execute the first line without Tint, it is flat
> > > > forever. This behaviour "Tint makes a colorset flat forever" is
> > > > not just in menus.
> > > 

Yes, it works as expected when I comment this if.

I am sending you the output of `xdpyinfo -ext RENDER`;

Regards,
Mikhael.

---

From: Olivier Chapuis <[email-masked]>
Date: Fri, 20 Sep 2002 08:12:07 +0200

> I am sending you the output of `xdpyinfo -ext RENDER`;

The output seems normal for me (in accord with the XRender protocol :o).
Can you try the new code? I do not think it will fix the problem ...
Any way, if it fix the pb can you uncomment the line

/* #define USE_ABSOLUTE_FORMAT 1*/

in the beginning of libs/FRender.c and try again (do not do
that if the pb does not go away).

Olivier

---

From: Mikhael Goikhman <[email-masked]>
Date: Fri, 20 Sep 2002 10:45:23 +0000

> that if the pb does not go away).

No, unfortunately this does not fix the problem.
Until I execute Tint without parameters, colorset remains Plain.

Regards,
Mikhael.

---

From: Olivier Chapuis <[email-masked]>
Date: Sat, 21 Sep 2002 10:47:44 +0200

> Until I execute Tint without parameters, colorset remains Plain.

Do Alpha, IconAlpha and IconTint work (independently)?
Does the pbs arise with say IconMan?
Do you have any error message?

I've just committed some testing code. It may work now if you see
messages as: "Get a FRenderComposite GraphicsExpose".

Olivier

---

From: Mikhael Goikhman <[email-masked]>
Date: Sat, 21 Sep 2002 11:33:43 +0000

> Do Alpha, IconAlpha and IconTint work (independently)?

IconAlpha and IconTint work (wow, it is nice).
Alpha 50, bg yellow works nicely too.

Ok, here may be some clue.

  Tint green 50, Alpha 99      # (or any value < 100) works as expected
  Tint green 50, Alpha 0       # colorset is Plain, this is ok!
  Tint green 50, Alpha 100     # colorset is Plain, this is not ok
  Tint green 50, Alpha         # colorset is Plain, this is not ok

> Does the pbs arise with say IconMan?

Yes, this is where I see this Tint problem in the first place.

> Do you have any error message?

None.

> messages as: "Get a FRenderComposite GraphicsExpose".

I wrote the above before trying the latest cvs.
But there are exactly the same results with the new code as well.
Nothing is printed.

Regards,
Mikhael.

---

From: Olivier Chapuis <[email-masked]>
Date: Mon, 23 Sep 2002 09:29:31 +0200

>   Tint green 50, Alpha         # colorset is Plain, this is not ok

HHAAA!
Ok, now I hope it is fixed. If not there is a so big bug in fvwm
that I cannot see it. If yes, IMHO your Xserver is buggy vs
XRender. What it is your Xserver?

Olivier

---

From: Mikhael Goikhman <[email-masked]>
Date: Mon, 23 Sep 2002 08:49:44 +0000

> Ok, now I hope it is fixed. If not there is a so big bug in fvwm

Yes, it is fixed.

> XRender. What it is your Xserver?

I am not sure what to add to the xdpyinfo output.
It is XFree86-4.2.0-6.62 packaged by RedHat.

BTW, you do a really fantastic work.

Regards,
Mikhael.