Dominik Vogt wrote:
> 
> Bob, I had to restore some of the old logic in focus_grab_buttons().
> What I do not understand is your motivation to reverse buttons
> grabbing for the focused window.  I think you assumed that calling
> the function with is_focused == 1 means to ungrab the window -
> which is wrong.

        This is really curious. It certainly looked like the intent of
is_focused == 1 was to ungrab, anc vice-versa. [sigh.] That's the
disadvantage of having been inactive for so long. In the code as it was,
I could never see the ungrab in f_g_b happening, and I often couldn't
see the grab happening where it seemed it should (based on several
printfs I finally inserted in desperation).


> It still grabs buttons if the (focused) window has
> MouseFocusClickRaises and is not on top of all other overlapping
> windows.  I have removed/rewritten/commented the parts dealing
> with focus handling in focus_grab_buttons().

        Have you committed your changes yet? I didn't see a mention of them
come through the mailing list from CVS.

        Can you describe for me a scenario that I can try, where the code as I
changed it misbehaves? Then I can use that as a sanity check. I haven't
seen any untoward behavior on my systems, but I'm obviously not
exercising either the apps or the combinations of style options that are
causing problems.


> Then there is the stuff in MoveFocus which suppresses ungrabbing
> buttons of the focused window if it is already on top.  I guess
> this causes the problem with xfm, 

        Not really, this was because my changes to f_g_b caused an ungrab to
happen prematurely for a MouseFocusClickRaises window, so we never
caught the click to raise it.

> but actually your fix means that
> these buttons are not ungrabbed at all, regardless if the window
> is on top or not, i.e. the grabs are permanent as long as the
> window is focused, right?  

        Until someone clicks on it. But I think I overlooked the case of an
AutoRaise happening (which I don't use - I always explicitly click to
raise).

> But this could be done much easier in
> f_g_b():
> 
>   if (<mousey_focus> && is_focused)
>     grab_all
>   else if ...

        Hmmm. I'll have to think about this after I get a look at your changes.

> This has to be cleaned up before 2.4.1.

        Absolutely.


Cheers,
Bob
--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]

Reply via email to