Hi!

The new argb visuals introduced by xorg have a serious drawback, namely,
they don't work correctly unless the toplevel window has an ARGB visual.

With my limited knowledge, I'd say this is a design problem within Xorg, but
I seem to be alone with that notion. This means that each and every window
manager needs special support just to support ARGB in client windows.

Here is a small patch I wrote that implements such support for fvwm:

   http://data.plan9.de/fvwm-2.5-argb-visual.patch

What it does is "simply" check wether the client window has an ARGB visual
and, if yes, creates the frame window in the same visual. Nothing else
should be changed by this patch.

The only relevant problem I see is the "detecting" part, as xlib gives no
indication about alpha channels (would need to use XRender just for that),
so it assumes that 32 bit TrueColour means there is an alpha channel (one
could check bits_per_rgb or so to be <= 8, which means something weird is
certainly going on, as 3*8 leave s8 bits unaccounted for).

The other small uncleanlieness is the hardwired -1 for the pixel values,
but that should hardly create any problems (all bits set boil down to
opaque white - its not visible anyways, and is guarenteed to exist in such
visuals).

I was not sure what to do with the patch, I wrote it mainly for testing
some things (not being a transparency geek myself), so I thought I'd send
it to you to decide what to do with it :)

Thanks for your attention, and thanks for maintaining fvwm2 :)

-- 
                The choice of a
      -----==-     _GNU_
      ----==-- _       generation     Marc Lehmann
      ---==---(_)__  __ ____  __      [EMAIL PROTECTED]
      --==---/ / _ \/ // /\ \/ /      http://schmorp.de/
      -=====/_/_//_/\_,_/ /_/\_\      XX11-RIPE

Reply via email to