On Tue, Aug 20, 2002 at 04:15:59PM +0100, John Latham wrote:
> > From: Dominik Vogt <[EMAIL PROTECTED]>
> > Date: Tue, 13 Aug 2002 00:35:04 +0200
> 
> > On Mon, Aug 12, 2002 at 06:32:53PM +0100, John Latham wrote:
> > > After start up, the mouse pointer is always resting over an xterm in my 
> > > set
> > > up. Often, but not always, this xterm does not have the focus and I have 
> > > to
> > > move the pointer out of it and back in again. This also happens every time
> > > after a restart when the mouse pointer is resting over a window. In 2.2 
> > > and
> > > previous, the window under the mouse would always get the focus in both 
> > > these
> > > situations. I have tried this with sloppy and follow-mouse focus, on 
> > > 2.4.6,
> > > 2.4.8 and 2.5.2.
> 
> > For me it works as usual, but it always was always a bit random.
> 
> > > Maybe the last window created (e.g. Pager or buttons) gets the focus 
> > > instead
> > > of the one under the mouse after the restart has finished?
> > > 
> > > A possible conection: if I PipeRead from FvwmTalk something which 
> > > destroys and
> > > creates windows (e.g. Pager, Buttons) then after the PipeRead in 2.2 
> > > FvwmTalk
> > > still has the focus with sloppy and follows policy, whereas is loses it 
> > > with
> > > click focus (as you would expect). However, in 2.4 and 2.5 FvwmTalk has 
> > > lost
> > > the focus regardless of policy. (Of course, FvwmTalk has changed so this 
> > > could
> > > be a red herring).
> 
> > I recommend to use FvwmConsole instead of FvwmTalk.
> 
> > > Or, if I select a menu item, which does a PipeRead that causes a new 
> > > window to
> > > be started (e.g. xbiff), the new window ends up with the focus even 
> > > though the
> > > mouse is left where it was when it selected the (sub-sub) menu, say now 
> > > over
> > > an xterm. In 2.2 the xterm would now get the focus (this is with follow
> > > mouse/sloppy focus of course).
> > > 
> > > I have some PipeReads which are executed via InitFunction and 
> > > RestartFunction.
> > > So, if PipeRead has changed its behaviour in this way, then that could be 
> > > the
> > > real cause of the start up / restart non-focus problem.
> > > 
> > > Bottom line: has something like a ``recheck focus policy and current mouse
> > > position'' operation gone AWOL from the end of a PipeRead? :-) Perhaps
> > > deliberately changed then -- is that really the best functionality?
> 
> > It was not reliable in 2.2.x and screwed up some more advanced
> > functions.  Therefore I rewrote the code keeping track of the
> > focus during function execution to be more reliable, at the cost
> > of some small changes in focus handling.  
> 
> > > I would
> > > suggest a good principle: with follows mouse/sloppy focus, if the mouse is
> > > over a window that can take focus then that window has the focus -- at 
> > > least
> > > by the time Fvwm becomes `quiescent' again.
> 
> > See above.  It's almost always easy to restore the focus with the
> > "Focus" command explicitly in your scripts.
> 
> Thanks for your clues -- mainly you stopped me looking in the wrong places. I
> now realise that the lack of focus at start up and after restart was caused by
> GrabFocus for certain windows being started which were click to focus (e.g.
> xbiff, pager), even though most were sloppy focus. I just needed to add
> GrabFocusOff to xbiff, pager etc..
> 
> Having thought a little about this, I have a suggestion to make.
> 
> The default GrabFocus for ClickToFocus and GrabFocusOff for MouseFocus are
> sensible, only if all windows have the same focus policy. In a mixed policy
> regime, perhaps the policy of the window which currently has focus should be
> taken into account before giving focus to a newly created window. I am tempted
> to suggest another pair of styles called, say, ReleaseFocus and
> ReleaseFocusOff.

They already exist in 2.5.3-devel:

  FPGrabFocus
  FPGrabFocusTransient
  FPOverrideGrabFocus
  FPReleaseFocus
  FPReleaseFocusTransient
  FPOverrideReleaseFocus

> ReleaseFocus would be default for ClickToFocus, and ReleaseFocusOff would be
> default for MouseFocus (and SloppyFocus). A new window would get the focus if
> and only if it has GrabFocus style, AND the current window has ReleaseFocus
> style.

Bye

Dominik ^_^  ^_^

 --
Dominik Vogt, mail: [EMAIL PROTECTED], phone: 0721/91374-382
Schlund + Partner AG, Erbprinzenstr. 4-12, D-76133 Karlsruhe
--
Visit the official FVWM web page at <URL: http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]

Reply via email to