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.
ff_fix.patch
Description: Binary data

