[Bug 1425690] Re: New windows are created offscreen
Alistair Buxton
a.j.buxton at gmail.com
Wed Feb 25 22:11:56 UTC 2015
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
_NET_WM_STRUT(CARDINAL) = 1024, 0, 28, 0
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
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to ubiquity in Ubuntu.
https://bugs.launchpad.net/bugs/1425690
Title:
New windows are created offscreen
Status in ubiquity package in Ubuntu:
Confirmed
Bug description:
When running ubiquity-dm from Xubuntu's Beta1 Vivid image, any new
windows created within it are positioned offscreen. This means that
the final window informing you that your installation is finished
doesn't show up for the user.
As far as I have been able to debug this, some window-manager hints are set incorrectly by Xfwm4, it's not clear though as to why as all information I could gather from xrandr and xprop otherwise seemed fine. To be more concrete, this is the offending hint:
_NET_WORKAREA(CARDINAL) = 1024, 28, 0, 740
It should read like this instead:
_NET_WORKAREA(CARDINAL) = 0, 28, 1024, 740
I'm not sure what causes this offset, the ubiquity-panel seems to set
its STRUTS ok and Xfwm4 seems to behave fine in the live session. I'll
attach a few logs below.
"xprop" (of a new instance of xfce4-terminal that was created offscreen)
http://paste.ubuntu.com/10414211/
"xprop -root" (in the offending ubiquity-dm session)
http://paste.ubuntu.com/10414440/
"/var/log/Xorg.0.log"
http://paste.ubuntu.com/10413856/
"xrandr"
http://paste.ubuntu.com/10413911/
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1425690/+subscriptions
More information about the foundations-bugs
mailing list