multiple strut at same edge?



I am attempting to create a permanent Emacs minibuffer near the top of
my screen.  In many distributions this is also the location of a top
Gnome panel with a strut property. My understanding is that for my
minibuffer never to be obscured it too needs to be a strut.
Unfortunately I have not found any specification of how a window
manager should behave when multiple struts are specified requesting
the same edge.

Empirically I have found that Metacity interprets all struts relative
to the actual screen edge (so effectively overlapping) but then lays
out the strut windows without overlap.  Without care the net effect is
a window in the desire position but without proper strut protection.
Is this intended behavior or has my use case simply never been
considered?

This behavior requires an application to enumerate all struts along
the desired edge and to sum their window geometries.  Unless all strut
lifetimes are properly nested an application must also reevaluate this
computation every time a potential strut window disappears or empty
strut space may be left on  screen.  This seems complex, fragile and
more properly to be the responsibility of the window manager.

Thus it seems to me that struts should be specified to be additive.
Any comments?

/john


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