Hello Thomas Adam!

> I'm sorry, but you're not being clear enough about what's wrong, and
> what you expect.
Oh---sorry: as you are likely to have noticed, I am not of English
origin.  Please be patient again; I will try to explain it in short
and---as I hope---more clearly:

I want FireFox to ignore C-q.
I used 
 Key (Firefox)  Q A C  Exec exec xterm
to achieve that.  It works fine: C-q is not passed through to FireFox
any more.

Now to the thing that does not work any more after this command:
Although C-q has been changed for FireFox only, it has a side effect on
other programs as well (and I am pretty sure that that is an error).
The side effect is as follows: e.g. ``git gui'' or ``thunderbird'' do
not react in the proper way (quitting) any more, when they have the
focus, and one hits C-q. (At ``git gui'' one can see some flickering in
the text field for the commit message)

> Do you really mean to clear the binding with "-", or do you really
> want to try and pass the key event through to the application to
> handle instead with "--"?
I looked this up in the manual page fvwm2(1). According to it, ``This is
only a valid action for window-specific bindings''. Tried it out, and it
needs some ``(blaaa)''.
 Key (*)  Q A C --
Does not change the behaviour in the right way: If I use the sequence
 Key (Firefox)  Q A C  Exec exec xterm
 Key (*)  Q A C --
Even FireFox does not react on C-q, and does not receive it at
all---just flicker like ``git gui'' (as described earlier here).
If I use the sequence
 Key (*)  Q A C --
 Key (Firefox)  Q A C  Exec exec xterm
No change to not using ``--'' at all.

> That's what I assumed you meant before -- which won't work, due to the
> reasons I outlined before.
Exactly ;-)

> [...] The problem here is, like with FakeKeyPress, they rely on the
> underlying application accepting synthetic key events, which some
> won't due because of security risks.
That I do understand.

> To automate this more, here's what you could try: [...]
*huch* I will look into that---not so easy for me ;-)

As I see it, the following does work as I want it too:
 DestroyModuleConfig A:*
 *A: focus_change SomeFunction

 AddToFunc StartFunction I Module FvwmEvent A

 DestroyFunc SomeFunction
 AddToFunc   SomeFunction
 + I ThisWindow (!"Firefox") Key Q A C -
 + I TestRc (NoMatch) Key Q A C Exec exec xterm

It seems to send C-q to every window that does not match the Class
``Firefox'', and at FireFox it starts the xterm ;-) (to be changed from
``Exec exec xterm'' to ``Nop'')

But why does this work differently to just using the command:
 Key (Firefox)  Q A C  Exec exec xterm
??? It seems to me, that it should act in the equal way!


>> [2.7.0 is older than 2.6.1 but news[1] sounds different]
> It's autogenerated, so no.  The download links for it have been
> removed.
Oh. May I suggest to correct that in the news[1] in some way?

Thank you very much for your help!  Now I know the mechanism to do
exactly what I wanted to achieve :-)

Greetings,
 Kalten

[1] http://www.fvwm.org/news/
-- 
fvwm 2.5.31 compiled on Apr 10 2011 at 16:51:28
(ReadLine, XPM, PNG, SVG, Shape, XShm, SM, Xinerama, XRender, XFT)

Reply via email to