frame size hints


I feel sure this has come up before, but I can't find the old thread
in the archives.

Certain cross-platform toolkits (AWT, SWT) really want to know the
size of the window frame.

What if we define "the size of the window frame" to be the top frame
height used when interpreting a ConfigureRequest. e.g. if a WM would
offset the window by N pixels due to NorthGravity, N would be the
height of the top frame edge.

By defining "size of the frame" this way we ensure that all WMs
already have a concept that maps to "size of the frame"

Then we could have an application window property _NET_FRAME_EXTENTS
or something with fields left, right, top, bottom.

I'm not sure exactly what AWT is doing with this information; I think
it may support setting the size of the window including its frame. I
know that's what SWT does. This is broken (because without knowing the
frame size, an application can't know what size to set the window to -
the application knows only an appropriate size *for itself*, setting
size including frame could easily leave the application's own size at
-31 x -5 or something) - but these cross-platform APIs are mostly
unchangeable at this point, so perhaps there's some value to giving
them a less-broken way to do what they are doing. Otherwise we tend to
break AWT every time we change some implementation detail of the WM.

If AWT/SWT are using this info primarily to set window sizes, perhaps
a new _NET_MOVERESIZE_WINDOW flag to say "we are setting the size of
the frame" makes sense, as it would avoid the
get-frame-extents/frame-extents-change/set-frame-extents race
condition. I don't know if the structure of AWT/SWT code would allow
such a feature to be used.


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