Re: FVWM: Automatically raise certain windows on mouse enter, flickering of windows and widgets

From: Dominik Vogt <dominik.vogt_at_schlund.de>
Date: Mon, 8 Jul 2002 11:03:39 +0200

On Sun, Jul 07, 2002 at 02:43:02PM +0300, Tom Alsberg wrote:
> > I've made a patch to FvwmAuto so that it can handle enter and
> > leave events instead of focus events. Try this with the latest
> > cvs code:
> >
> > FvwmAuto 0 -passid -enterleave \
> > "Silent selective_raiselower raise" \
> > "Silent selective_raiselower lower"
> >
> > DestroyFunc selective_raiselower
> > AddToFunc selective_raiselower
> > + I WindowId $1 (FvwmIconMan) $0
> > + I WindowId $1 (FvwmButtons) $0
> > + I WindowId $1 (xclock) $0
> > + I WindowId $1 (xexec) $0
> >
> > (You need the file libs/Flocale.c from the 4th of July - the
> > current one is buggy and may crash fvwm).
>
> Wow... That works great... Almost.
> It does it as expected, responsive, and there seems to be no
> flickering with it...
> But, the problem with gv, which I now completely realize that it is a
> different problem, is still there - it doesn't happen when I just
> automatically raise and lower all windows... Apparently because of the
> pointer grabbing deal... But I don't want to have all windows
> automatically raised...
> Could there be a way to not have to use a function for that? Make it a
> style that FvwmAuto checks or something? That would be perfect then...
> Or maybe there could be a way to cause that specific function
> (selecting the window) not to grab the pointer...

I've made it as bulletproof as I could, but I found no way to
prevent the gv problem and have the full functionality at the same
time. At least no reliable way. You can try either this one:

  FvwmAuto 0 -passid -enter \
                     ^^^^^^
    "Silent selective_raiselower raise" \
    "Silent selective_raiselower lower"

  DestroyFunc selective_raiselower
  AddToFunc selective_raiselower
  + I WindowId $1 (FvwmIconMan) $0
  + I WindowId $1 (FvwmButtons) $0
  + I WindowId $1 (xclock) $0
  + I WindowId $1 (xexec) $0

This works fine with gv, but windows are not lowered when the
pointer enters the root window, only when it moves into another
window. Or you can break out of the function for gv windows
again:

  FvwmAuto 0 -passid -enterleave \
    "Silent selective_raiselower raise" \
    "Silent selective_raiselower lower"

  DestroyFunc selective_raiselower
  AddToFunc selective_raiselower
  + I WindowId $1 (gv) break
  ^^^^^^^^^^^^^^^^^^^^^^^^^^
  + I WindowId $1 (FvwmIconMan) $0
  + I WindowId $1 (FvwmButtons) $0
  + I WindowId $1 (xclock) $0
  + I WindowId $1 (xexec) $0

I'm interested in more feedback about this.

Bye

Dominik ^_^ ^_^

 --
Dominik Vogt, mail: dominik.vogt_at_schlund.de, 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 majordomo_at_fvwm.org.
To report problems, send mail to fvwm-owner_at_fvwm.org.
Received on Mon Jul 08 2002 - 04:05:11 BST

This archive was generated by hypermail 2.3.0 : Mon Aug 29 2016 - 19:37:53 BST