On Sun, May 16, 2010 at 05:11, Sam Spilsbury
<smspillaz@xxxxxxxxx> wrote:
If you want to make the fading smooth, then you will most likely need
some form of graphical accelleration, whether that be EXA, Glitz or
G3D. There is no way to guaruntee that everyone has this.
a few frames would suffice, no accelleration needed here, unless it is already active, but ok let's follow your breadcrumbs to where you want to go:
> You have a point with your cat and mouse game though..
>
>>
>> You cannot do this with client side decorations.
>
> why not? because of the imprecision of the absolute position information?
> that's a WM bug, has nothing to do with CSD.
>
Some window managers have to fake out position information to make
this kind of thing work. Usually this is because they are reparenting
the window (metacity, kwin) or they are a compositing window manager
with input redirection and have to place the window offscreen to
redirect input to it on-screen (Metisse, future versions of compiz).
In any case, there are methods of a client determining it's position
on the root window, however this is inaccurate at best and something
the client shouldn't need to be concerned with.
If you wanted to do separated titlebar handles, there is a lot of work
that needs to go into that, namely the client drawing titlebars in a
separate window and either reparenting that window into itself or
drawing it separately. Which kind of begs the question - why not just
let the window manager do that because it already does. If you let the
window manager do this, then you can guaruntee that the titlebar will
be consistent with the rules the window manager has defined and client
won't all just do their own thing when their titlebar is off-screen.
Altogether no real problems, only a lot more work than what one would initially assume after such a confident suggestion by Mark ;)
Easy to imagine alternative routes, after you put it all down like this..
>> The window manager absolutely depends on the client to not be stupid
>> and to obey rules
>
> Doesn't this mean that we can entrust the client with more then?
> You are arguing against your own position here.
When you have client side decorations, you give more chances for the
client to be stupid and introduce it's own window management
paradigms, drawing the buttons the window manager does not expect to
be drawn, or in extreme cases resizing or moving windows in special
ways when they are grabbed by the titlebar.
yeah, i think you cleaned up most of the question marks lying around comprehensively, thanks a lot for that!