Re: RFC: frame size hints



On Fri, 2003-12-12 at 03:06, Dominik Vogt wrote:
> On Thu, Dec 11, 2003 at 03:12:02PM -0500, Thomas Fitzsimmons wrote:
> > On Wed, 2003-12-10 at 07:03, Lubos Lunak wrote:
> > > On Wednesday 10 of December 2003 01:10, Rob Adams wrote:
> > > > Definitely should be "calculate".  Window managers implementing
> > > > approximations should document this is their respective COMPLIANCE
> > > > documents.
> > > 
> > >  I object. I hope the previous messages in the thread have shown that it can 
> > > be a major pain to always get it right, if it's actually possible at all. 
> > > KWin simply cannot calculate it, it can only estimate.
> > 
> > OK.  I'm fine with describing the hint as an estimate.  Having a
> > standard way to get a decent estimate is way better than having nothing
> > at all.  And describing the hint as an estimate will probably mean that
> > more window manager authors will create best-effort implementations
> > rather than just ignoring the hint and declaring non-compliance.  Rob,
> > are you OK with this?
> 
> I think it is not right to ask for the decoration geometry only
> once.  *If* the client is interested in this property, it must
> subscribe to a client message informing it of changes.

A client can send a _NET_REQUEST_FRAME_EXTENTS message before or after
its window is mapped.  However the message is only really useful before
the window is mapped.  After mapping, an interested client can just read
the window's _NET_FRAME_EXTENTS property.

>   With the current draft, it will not work at all if the application is
> started before the window manager, or if the config and/or WM
> changes.

A client sending the request will have to wait for a _NET_FRAME_EXTENTS
PropertyNotify event in response.  To handle the case where it is
started before the window manager, the client will need to time out if
the response takes too long, and assume its extents are all zero.

In the case of a "config" change (assuming you mean theme, font, etc.),
the window manager will send a _NET_FRAME_EXTENTS PropertyNotify event
to the client.

A client can discover that the window manager has changed (by whatever
mechanism GdkScreen uses).  After checking that _NET_FRAME_EXTENTS is
supported, the client can then re-read its window's extents.

Tom





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