Re: FVWM: Mouse click problem with Corebird plus my FVWM configuration

Chris Siebenmann <[email protected]>
Newsgroups gmane.comp.window-managers.fvwm
Message-ID <[email protected]>
> The only other reason fvwm grabs a button is for focus handling in
> focus.c:__focus_grab_one_button().  The only possible reason I
> could think of is that the application does not accept focus so
> that grab never gets removed.  Have you tried
> 
>   Style * Lenience
> 
> as Dan suggested?
> 
> For further debugging, does the problem go away with
> 
>   style * clicktofocus, clicktofocusraises, ClickToFocusPassesClick

 With both 'Style *' settings (and with my usual 'SloppyFocus' setting
commented out), the problem is still there. I also tested with just
'Style * Lenience' and the problem is also still there.

> Unless I have a simple test application and a configuration
> that exhibits that behaviour I cannot do much about it.
> Would you be able to fvwm in Xnest and debug through
> events.c:__handle_bpress_on_managed() to see what actually happens?

 The flow appears to be:
__handle_bpress_on_managed()
  -> __handle_focus_raise_click()
     -> __check_click_to_focus_or_raise()
	returning f.do_focus and f.do_raise both 0

  f.do_forbid_function is 0, so we check bindings.
    -> __handle_bpress_action() which returns false
  if (IS_SCHEDULED_FOR_RAISE(fw)) is false; we skip that block
  f.do_swallow_click is false, so we call:
	XAllowEvents(dpy, ReplayPointer, CurrentTime)
	XFlush(dpy)
  ... and return.

(Let me know if you want more detail somewhere here and I can rerun
my gdb tracing and/or add printfs appropriately.)

 Fortunately there is a simple reproduction program mentioned in the
Debian bug, https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=642151
that comes from the Ubuntu compiz bug report. For convenience, I've
put it up as its own (shorter) URL:
	https://www.cs.toronto.edu/~cks/tmp/fvwm/link.py
and my fvwmrc:
	https://www.cs.toronto.edu/~cks/tmp/fvwm/fvwmrc-2.5

If you have the Python GTK bindings (so that link.py runs at all), it
puts up a label box with an underlined link. If you click on the link,
it's supposed to print something like:

	link  <gtk.Label object at 0x7f64ef58dd70 (GtkLabel at 0x55f69d5c4d40)> http://gtk.org

In a configuration with a Mouse 1 binding that includes the Window
context (so W or A), the link can't be activated by clicking mouse-1
and link.py prints nothing. You can however get it to print something
by clicking on the link and then hitting Return to activate the link
through the keyboard.

	- cks
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.