Hello, On Thu, Jan 24, 2008 at 07:19:10PM +0100, Lubos Lunak wrote: > On Wednesday 13 of June 2007, Dana Jansens wrote: > > Secondly, I am in need of some clarification in terms of struts with > > Xinerama. In the above example, say an application set a strut on the > > "right side" with a length of the 1st monitor. Where exactly does > > this strut reside? It could reside entirely on the first monitor, it > > could reside on the second monitor (and the nowhereland above it) or > > it could be split between the two monitors. > > > > I expect there is no answer to this question, which is frustrating > > because this is a real-life setup that one of my users has talked > > about recently. Perhaps _NET_WM_STRUT_PARTIAL is just not enough, and > > needs to be able to specify the monitor as well as start/length. > > Correct. The strut hints talk about desktop (root window) edges, so they > don't support reserved areas "inside". That basically matches _NET_WORKAREA, > so if you want to extend one, you probably want to do the same with the other > one.
I encountered this issue as well and I got an idea for a simple workaround. Imagine a screen layout like this: 11111111 11111111 11111111 222222 <--- strut here 222222 222222 We want to place a panel at the top of screen 2. A naive panel application may set a partial strut where top = top coordinate of screen 2 + height of panel. This is wrong, as it indicates that the entire screen 1* is covered, *but* the interpretation may as well be different. If we agree that struts covering an entire xinerama screen are nonsense, we may interpret such struts as not covering those screens at all, just those that they don't cover entirely. This way _NET_WM_STRUT_PARTIAL can be used for struts covering any edge of any Xinerama screen. * I know, not really entire screen. Just a horizontal strut whose height is greater than the height of screen 1. Please read "entire" as "entire in their primary dimension". This naive way of setting _NET_WM_STRUT_PARTIAL is used in xmobar and I have implemented this semantics for xmonad: http://www.haskell.org/pipermail/xmonad/2009-November/009148.html I can't think of any use for struts that span multiple screens in their primary dimension (height for horiz. struts, width for vert. struts), personally. If wm-spec is extended in the way Dana and Lubos said (which didn't happen yet even though it's been almost 2 years already), I'll be happy to implement it, but this "hack" seemed easier and compatible with what was in the wild. What's your opinion? Regards, -- Tomáš Janoušek, a.k.a. Liskni_si, http://work.lisk.in/ _______________________________________________ wm-spec-list mailing list wm-spec-list@gnome.org http://mail.gnome.org/mailman/listinfo/wm-spec-list