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

From: Marek Bernat <marek.bernat_AT_gmail.com>
Date: Fri, 29 Sep 2006 11:19:31 +0200

It does solve the firefox problem.
But I tried to reproduce the firefox problem with other apps and here is
what I discovered:
When running fullscreen game, tagged as a
float, the Sander's patch did all right but your doesn't (i.e. the behaviour
described by usrucb occurs).

On 9/29/06, Anselm R. Garbe <arg_AT_10kloc.org> wrote:
>
> 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) {
> configure(c);
> XSync(dpy, False);
> if(c->isfloat) {
> - resize(c, False, TopLeft);
> - if(!isvisible(c))
> - ban(c);
> + if(isvisible(c))
> + resize(c, False, TopLeft);
> }
> else
> arrange(NULL);
>
> This changes Sander's patch somewhat.
>
> Regards,
> --
> Anselm R. Garbe ><>< www.ebrag.de ><>< GPG key: 0D73F361
>
>
Received on Fri Sep 29 2006 - 11:19:36 UTC

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