On Fri, Sep 03, 2004 at 01:20:59PM +0200, Chris Rouch wrote:
> On Fri, 3 Sep 2004 10:25:44 +0200
> Dominik Vogt <[EMAIL PROTECTED]> wrote:
> 
> 
> > 
> > Some conclusions:
> > 
> >   1) The output of the ExplainWinowPlacement option is broken (it
> >      shows the current desk, not the target desk).  I'll fix that.
> > 
> >   2) Fvwm did *not* ignore SkipMapping and did *not* switch desks
> >      when the window was placed.
> > 
> >   ==> The application must have caused it.  Probably the
> >       application used the ewmh interface to switch desks.
> > 
> > Try to comment out the "gogo_desk(...)" call in fvwm/ewmh_events.c
> > in the ewmh_CurrentDesktop function.  If my theory is correct,
> > this should suppress the problem.
> > 
> 
> This doesn't make any difference. However Tavis' suggestion
> 
> > Style Gimp-2.0 StartsOnPage 2 2, SkipMapping, !FPFocusByFunction
> 
> does work. It's the "!FPFocusByFunction" that fixes it.
> 
> Thanks Tavis -I would never have guessed that myself.

I see.  EWMH is indeed the culprit.  Gimp sends an "activate
window" message to fvwm which in turn switches to the window's
desk by running the EWMHActivateWindowFunc function:

  DestroyFunc EWMHActivateWindowFunc
  AddToFunc EWMHActivateWindowFunc I Iconify Off
  + I Focus
  ^^^^^^^^^
  + I Raise
  + I WarpToWindow 50 50

The !FPFocusByFunction works because it disables the Focus
function which switches desks.

You can replace this with something like

  DestroyFunc EWMHActivateWindowFunc
  AddToFunc EWMHActivateWindowFunc I ThisWindow (!Gimp*) Iconify Off
  + I ThisWindow (!Gimp*) Focus
  + I ThisWindow (!Gimp*) Raise
  + I ThisWindow (!Gimp*) WarpToWindow 50 50

Or with current CVS (I had to fix a bug first):

  DestroyFunc EWMHActivateWindowFunc
  AddToFunc EWMHActivateWindowFunc
  + I ThisWindow (Gimp*) break
  + I Iconify Off
  + I Focus
  + I Raise
  + I WarpToWindow 50 50

Ciao

Dominik ^_^  ^_^

 --
Dominik Vogt, [EMAIL PROTECTED]

Attachment: pgpbuabLOAvmS.pgp
Description: PGP signature

Reply via email to