compositor-x11: Improve fullscreen support
authorKristian Høgsberg <krh@bitplanet.net>
Fri, 9 Nov 2012 16:12:21 +0000 (11:12 -0500)
committerKristian Høgsberg <krh@bitplanet.net>
Fri, 9 Nov 2012 16:12:23 +0000 (11:12 -0500)
commitd6f09a75a7d12d880d7242edea4cddd7dfd44581
treeddb57360ebd97dbd0340f348cbc83b1335ea5b33
parent7fb46fbe95c7480ee6e8e63858455fc32684bb00
compositor-x11: Improve fullscreen support

The old implementation didn't work because we set the minimum and maximum
sizes so that the WM can't resize us.  That makes the fullscreen protocol
not work.  Additionally we were requesting fullscreen after mapping, which
requires the more complicated (and potentially flickery) client message
approach.

Now we just set the _NET_WM_STATE before mapping and avoid setting
the size hints in case of fullscreen.  That's all good, but the problem
is that we now have to wait for configure notify before we know
what size our output will be.  For now we just block and pull events from
X until we get the size.

Ideally we would treat the map as an output hotplug event and just add the
output at that point, but we can't start up with no outputs present.
That may be worth fixing, but for now, the block-on-map is fine.
src/compositor-x11.c