On Thu, Jun 07, 2012 at 01:13:04AM +0200, Axel Rohde wrote:
> Hi Thomas and fvwm-workers,
> 
> attached is my .fvwm2rc with workarounds.
> 
> In case you are not going to fix the root causes, 
> other users experiencing slow down, whistling graphics boards or 
> angry admins might find it useful.

Unfortunately that's not a solution, and won't work in a lot of cases.

I appreciate it's annoying for you.  The reason this won't change -- and why
I refuse to even do so -- is that it would require quite a large change to
fvwm/functions.c:execute_complex_function().  In essence, when FVWM sees
this:

AddToFunc foo M Resize

And that just happens to be on a window which has FixedSize set, then this
happens:

* Grab on pointer.
    * (M) context found (assuming other (I) context have run first.)
    * Action (Resize) run.
    * Wait for button to be released -- with the server grabbed.
        * FVWM locks.
    * Button released.
* Function ended.

There is no check to know if by the time the Resize command has bailed due
to it not being able to operate on the window in question, that just because
the pointer is held down, there's nothing to do.  By design, FVWM is going
to wait for that button to come up -- it's what you asked with "M" or "H" in
the first place:

1113         type = CheckActionType(x, y, &d, HaveHold, True, &button);

-- Thomas Adam

-- 
"Deep in my heart I wish I was wrong.  But deep in my heart I know I am
not." -- Morrissey ("Girl Least Likely To" -- off of Viva Hate.)

Reply via email to