On Wed, Sep 19, 2001 at 10:56:11PM -0400, Dan Espen wrote:
> Dominik Vogt <fvwm-workers@fvwm.org> writes:
> > On Tue, Sep 18, 2001 at 08:48:31AM -0400, Dan Espen wrote:
> > I think the 2.4.3 release should be built soon, but I'll stay out of
> > this discussion now.  Dan, could you again decide when the release
> > should be built?
> 
> The shape changes seemed to work, I tested xeyes, shaped icons in
> the builtin icon box, FvwmIconBox, and FvwmBammer with shapes enabled.
> 
> Did you do any tests with shape support disabled at configure?
> If not, I'll rebuild and give it a shot.

Judging from the recent problem, I did more tests with shapes
disabled that with shapes enabled.

> I'd imagine it would be hard to find an XServer without shape support
> so if anyone has one, the tests  don't take long.  If no one has
> one, I don't think its workh worring about since they can be disabled.

I didn't test this, but perhaps it's possible to rename the
libXext... files?

This is how FShape.[ch] works:  THe header file is responsible for
including the shape.h header file if present.  Otherwise all the
objects defined in shape.h are defined in FShape.h.  Then, all
these macros, typdefs, functions etc. are aliased to a macro with
the same name, but a capital 'F' instead of the 'X'.

The FShapeInit() function queries the X server for the shape
extension and sets FShapesSupported, FShapeEventBase and
FShapeErrorBase accordingly.  The FHaveShapeExtension macro is set
to 1 if SHAPE is defined and to 0 if not (that's what caused the
FvwmBanner problem: it was always 0).  Without SHAPE defined, all
the functions are replaced with empty macros and FShapesSupported
is defined to 0.

With these definitions one can now simply write

  if (FHaveShapeExtension)
  {
     /* lots of code */
     if (FShapesSupported)
     {
        FShapeCombineRegion(...);
     }
  }

instead of using "ifdef SHAPE".  One big advantage is that the
syntax of all this code is always checked, even without SHAPE
defined.  The optimizer should remove the unnecessary code as

  if (FHaveShapeExtensinon/FShapesSupported)

is replaced by

  if (0)

> Anything else in the FShape change you think should be tested?

Basically, all modules with Colorset support also need the shape
extension.  They should all work with a shaped colorset.

Bye

Dominik ^_^  ^_^

-- 
Dominik Vogt, email: [EMAIL PROTECTED]
LifeBits Aktiengesellschaft, Albrechtstr. 9, D-72072 Tuebingen
fon: ++49 (0) 7071/7965-0, fax: ++49 (0) 7071/7965-20
--
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 PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]

Reply via email to