Re: [dwm] Re: Firefox problem...

From: Anselm R. Garbe <>
Date: Fri, 29 Sep 2006 10:52:08 +0200

On Thu, Sep 28, 2006 at 07:28:06PM +0200, Sander van Dijk wrote:
> 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.

I'd like to know for dwm-1.8 (which will be released by end of
next week approx.) if the following fixes the problem already:

diff -r 2c29d74b11dc event.c
--- a/event.c Fri Sep 29 12:38:27 2006 +0200
+++ b/event.c Fri Sep 29 12:47:59 2006 +0200
@@ -177,9 +177,8 @@ configurerequest(XEvent *e) {
                 XSync(dpy, False);
                 if(c->isfloat) {
- resize(c, False, TopLeft);
- if(!isvisible(c))
- ban(c);
+ if(isvisible(c))
+ resize(c, False, TopLeft);

This changes Sander's patch somewhat.


 Anselm R. Garbe  ><><  ><><  GPG key: 0D73F361
Received on Fri Sep 29 2006 - 10:52:09 UTC

This archive was generated by hypermail 2.2.0 : Sun Jul 13 2008 - 14:31:40 UTC