Who is working on the non-drawing parts?

Kristian Høgsberg krh at bitplanet.net
Mon Nov 29 15:49:38 PST 2010

2010/11/29 Marty Jack <martyj19 at comcast.net>:
> Okay, let us take the setup I am running with.  I have two monitors
> Screen 0: minimum 320 x 200, current 3600 x 1080, maximum 8192 x 8192
> HDMI1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 477mm x 268mm
> HDMI2 connected 1680x1050+1920+0 (normal left inverted right x axis y axis) 433mm x 271mm
> I am running experimental non-released LXDE.  I have three panels configured.
> One is on the bottom of HDMI1 so is at (0,1080-h) to (1920,1080)
> One is on the bottom of HDMI2 so is at (1920,1050-h) to (3600,1050)
> One is at the left of HDMI2 and configured to be of dynamic height so is at (1920,y1) to (1920+w,y2)
> where y1 and y2 vary depending on what is in the window at any given moment.
> I also have different backgrounds on the two monitors.
> Moreover, for one example, when I pop up a task control popup or the volume control slider, I want it to be next to its button, but not covering anything on the panel.  I have it so that the entire panel is one X window and would intend for it to be only one Wayland window, so only I know where the button is.
> If someone can explain to me how some simple hinting to the compositor will get this done, I am listening.  But I suspect you cannot.  I am confident there are other applications that will want the level of control that they have now.

I think you more or less described the solution: you don't want to
specify absolute position of that popup or volume slider, you want it
"next to" the button in the panel.  One of the planned window hints is
"overlay for surface", which lets you specify an offset of a surface
relative to a parent surface.  The panel can be positioned by
specifying that it's a top-left, bottom-right surface or such.  Or
alternatively, the entire panel with popups and all could be part of
the compositor/wm.

In general, there is never really a good reason for any client to
specify an absolute, arbitrary position.  It will always be some
function of the position of an existing surface, a pointer or screen
edge and that relation ship can be communicated to the compositor.


More information about the wayland-devel mailing list