Re: pseudo transparency



On Sat, Jan 12, 2002 at 01:20:59AM +0100, Mathias Hasselmann wrote:
> On Fri, 11 Jan 2002, Olivier Chapuis wrote:
> 
> > Hi,
> > 
> > There is two methods that an application can use to achieve
> > "pseudo transparency".
> > One method, the E method, is to have a pixmap in memory and
> > to indicate the id of this pixmap with a root atom. The second
> > method is to use parental relativity.
> > Each method has some advantages I do not think that the wm-spec
> > should choose one of them. I think that it will be good that
> > the wm-spec support both.
> > 
> > One problem with parental relativity is that a priori the
> > application has to set the background of the frame window(s)
> > set by the window manager. It seems to me that this leads to
> > a bad hack. So I suggest to add a new window state:
> > 
> >   _NET_WM_STATE_PARENTRELATIVE_BACKGROUND indicates that the window
> >   use the ParentRelative pixmap for its background. The window manager
> >   should set the frame window(s) background accordingly.
> 
> 	If you really wan't to have this ugly hack in the WM spec you
> should not force window managers to support it by introducing such a flag.
> Why: Quite simple for some window managers it just is far too expensive to
> implement this feature since implementing it would require to throw away
> all assumtions they make about frame windows.
>

Yes I was not award that this may be so problematic (some Sasha remarks
go in the same direction). But what I want is to prevent a bad hack which
is at the present time the "only way" to implement parental relativity
(an application should not touch the wm frames).
Also, I do not want to force all window manager to implement this. 
I thought that _NET_SUPPORTED will be enough for this?
(the example in the wm-spec for _NET_SUPPORTED concerns the net wm
states and the wm-spec used only "The Window Manager SHOULD honor
_NET_WM_STATE" and not "The Window Manager MUST honor_NET_WM_STATE"). 

> 	So my suggestion would be that "parental-relative-background-
> aware" window managers just add an atom to the _NET_SUPPORTED root
> property: _NET_PARENT_RELATIVE_BACKGROUND or if this feature is not
> accepted to become part of the extended window manager spec an atom like
> _RXVT_TRANSPARENCY_HACK could be used. Friendly applications using
> parental-relative feature just would look for this property and reject/at
> least comment the user's wish to enable semi-transparency:
> 
> 	"Warning: parental relative backgrounds are not supported by the
> current window manager."
>

Yes it seems that my first proposition have some gaps I will
try to summit an other one.
But, the advantage to have a _NET_WM_STATE is that the application
can map with the state or not and can ask to toggle the property
(e.g., a window may want to become transparent at run time).
If the feature does not go into the wm-spec I do not think
using  "_RXVT_TRANSPARENCY_HACK" is a go idea as the feature
tries to suppress the current rxvt hack (I am not a rxvt
developer).

Regards, Olivier





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]