[as-devel] Some questions on shaped Frames/Windows/Borders
Sasha_Vasko@osca.state.mo.us
Thu, 13 Apr 2000 12:11:37 -0500
>Greetings,
Hiya
> I am a new subscriber to this list but I have been following AS
>development since the transition from BowMan to the current
>implementation. I must say that your work has been excellent and has
>been greatly appreciated.
> Since 1997 I have been working on design and development of a VRDP
>(Virtual Reality Desktop Protocol) and after several years of RnD
>I would like to use AfterStep as the window management base.
> In short, I would like to discus the implementation of truly shaped
>frames. After a brief perusal of the code in borders.c and frames.c
>it is apparent that the shape extension is being utilized. Before I
It is not utilized for window decoration. The only way it is used is to allow
client windows to shape self. What we do is we simply set client's shape mask
on its frame window, with the addition of mask for titlebar and handles.
This is required in order to allow clients to shape self.
>insult or misstate I would like to know if there is any reason "NOT" to
>fully implement shaped frames. If there are no issues in this area is
The major problem here is that there is a bug somewhere in Shaped
Extentions implementation, that under certain circumstances can cause
hard X crash. It is kind of sporadic and depends on system speed, order
of launching apps, etc. and sometimes can be seen on AfterStep startup
if more then 1 wharf is awallowing shaped apps at the same time.
I spent considerable amount of time trying to trace it to internal AfterStep
deficiences, but no - IT IS NOT AFTERSTEP problem - it is X bug, and there
are no ways around it. Common condition for its occurence is the case when
more then 2 apps are placed on the same place on screen and they are updating
its
shape at the same time.
If you try to implement shaping of titlebars/frames - you increase chances for
such a
case fdramatically. Results could be sporadic devastating hard X crashes with
data lost from running apps. I'm not sure exactly why it was not seen with E,
but I
guess that it 1) E users mostly use fast computers and probability of such an
event on
fast box is very low 2) when such things happen it gets blamed on experimental
character
of E and Linux, etc. etc. etc. 3) ppl particulary annoyed with such things are
likely to
simply switch window manager, as all their complains will remain unanswered, as
there
could be no answer.
AS Afterstep claims to be a resource effective window manager that can run on
almost any hardware, I am extremely reluctant on including true shaping into
windows decorations code.
Idea that those who don't like it - can avoid it - is totaly wrong, as most ppl
tend to made a stink, instead of disabling feature.
>it under consideration. Finally, is it a matter of not setting the
>default background of Window and Frame components to the BlackPixel
>default?
It is a bit more complicated.
Unreleased Development version features Pseudo-shaped frames, using
ParentRelative
bacjground type.
All you have to do is provide AfterStep with shaped frame pixmap - that's it.
masked pixels will be the same as on root background - making illusion of
transparency.
if you are interested - go visit afterstep.sourceforge.net
Anyways you'll have to work on this development version if you'll want to submit
patches.
>Thanks For The Great Work!!!
Our pleasure.
If you wish, you can consider some other directions of work, such as rewriting
WinList,
or helping out with ASCP, or implementing Alpha channel blending of pixmaps,
or implementing ForePixmap option of MyStyle.
We are desperate for developers !!!!
>Ahmed Sudan
>devel@uxi.com
Cheers
Sasha