Subject: FVWM: Focus & Mouse bindings requests

From: Paul Raines <[email-masked]>
Date: Thu, 07 Dec 1995 15:06:41 -0800

I have always favored the ClickToFocus model but have found the 
SloppyFocus in fvwm2 appealing. There is one thing I miss from 
ClickToFocus in that a button click anywhere in the window would raise 
it. I do not want the auto raise feature of FvwmAuto so that isn't
a work around. I mucked around the code a bit but it seems once
a window has the focus, fvwm no longer gets notified of ButtonPress 
events in the window. I tried changing lines like
	(win->flags&ClickToFocus) 
to
	(win->flags&(ClickToFocus|SloppyFocus)) 
in several places but to no avail.

One new idea I had is to have the 'Mouse' function take an
additional modifier, 'P', which would signal fvwm that the
event should also be passed on to the event. Therefore, a
line like

Mouse  0   W    AP    Raise

would do exactly what I want.

I also disliked the fact that if a window has SloppyFocus,
both it and its icon will grab the focus when the mouse moves
over it. Therefore, I made the following patch

I apologize if these issues have already been beaten to death.
I didn't see anything in the TO-DO list for 2.0.39 or the last
20 or so postings to this list.

*** events.c    Tue Nov 14 10:47:37 1995
--- new/events.c        Thu Dec  7 14:48:02 1995
***************
*** 1051,1057 ****
    if (!Tmp_win) 
      return;
    
!   if(!(Tmp_win->flags & ClickToFocus))
      {
        if(Scr.Focus != Tmp_win)
        {
--- 1051,1057 ----
    if (!Tmp_win) 
      return;
    
!   if((!(Tmp_win->flags & ClickToFocus))&&(!(Tmp_win->flags & ICONIFIED)))
      {
        if(Scr.Focus != Tmp_win)
        {

--
_________________________________________________________________________
Paul Raines		[email-masked]     	     415-926-4378  
Stanford Linear Accelerator    End Station A 	       E143 Collaboration
http://www.slac.stanford.edu/~raines/index.html  PGP public key by finger
--
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to [email-masked].
To report problems, send mail to [email-masked].