Well, the problem is quite simple: currently, dwm's configurerequest
handler (see event.c:configurerequest()) behaves as if it is
guaranteed that the requesting client is in the view. It calls
resize() on the floating client, which is then put into view, whether
or not it should be. In this case, firefox is the one doing that
configurerequest. Attached to this mail is a possible fix, although
I'm not sure if it's the best one possible (for instance, this
wouldn't catch configurerequests by windows that don't belong to a
client, which seems a possibility looking at configurerequest()) .
Well, at least it seems to work for the firefox issue :-)
Greetings, Sander.
PS. Note that this turning up now and not earlier may be due to the
fact that resize() recently changed to make sure that visible clients
are _always_ at least partially on the screen; this is correct
behavior, cause otherwise it was possible to generate offscreen
transient (floating) windows that one could never move on screen (I
managed to do that with some firefox popups before that change to
resize()). The only way to get rid of them was to Alt-Tab to them and
then, without seeing what was going on, Alt-Shift-c'ing them away.
Yuck.
This archive was generated by hypermail 2.2.0 : Sun Jul 13 2008 - 14:31:39 UTC