and these values are put in LEFT, LEFT_START_Y, LEFT_END_Y, TOP, TOP_START_X, START_END_X respectively. It also puts LEFT and TOP in _WM_STRUTS. So they end up like this:
This kind of makes sense for the partial struts because the top strut and the left strut cover the exact same screen area. However, if the WM only looks at _WM_STRUT then it sees the left strut as covering the entire screen.
It looks like xfwm4 does not understand partial struts at all, so it sets up the _NET_WORKAREA as having no space at all. Further, it looks like recent changes in xfwm4 window positioning code mean that it only recently started honouring _NET_WORKAREA at all. So now windows get pushed entirely off the screen, because the WM believes there's no space on it.
The problem is caused by Ubiquity sets up the _WM_STRUT and _WM_STRUT_PARTIAL.
It does :
set_strut( GTK_WINDOW( win), width, 0, allocation.height, allocation.height, 0, width);
and these values are put in LEFT, LEFT_START_Y, LEFT_END_Y, TOP, TOP_START_X, START_END_X respectively. It also puts LEFT and TOP in _WM_STRUTS. So they end up like this:
_NET_WM_ STRUT_PARTIAL( CARDINAL) = 1024, 0, 28, 0, 0, 28, 0, 0, 0, 1024, 0, 0 STRUT(CARDINAL) = 1024, 0, 28, 0
_NET_WM_
This kind of makes sense for the partial struts because the top strut and the left strut cover the exact same screen area. However, if the WM only looks at _WM_STRUT then it sees the left strut as covering the entire screen.
It looks like xfwm4 does not understand partial struts at all, so it sets up the _NET_WORKAREA as having no space at all. Further, it looks like recent changes in xfwm4 window positioning code mean that it only recently started honouring _NET_WORKAREA at all. So now windows get pushed entirely off the screen, because the WM believes there's no space on it.
http:// bazaar. launchpad. net/~ubuntu- installer/ ubiquity/ trunk/view/ head:/src/ panel/panel. c#L249
http:// bazaar. launchpad. net/~ubuntu- installer/ ubiquity/ trunk/view/ head:/src/ panel/panel. c#L56
http:// git.xfce. org/xfce/ xfwm4/tree/ src/workspaces. c#n519