Subject: Re: FVWM: Possible bug in StartsOnScreen

From: [email-masked]
Date: Thu, 13 Mar 2003 00:55:35 +0100

On Sun, Dec 22, 2002 at 01:26:45AM +0000, Andy Arbon wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Hello,
> 
> If you've seen any of my periodic emails over the last few months you
> might remember that I've had a problem with transient windows popping up
> all over the place and generally not behaving themselves.
> 
> In a burst of drunken enthusiasm I went delving into the source to try
> and work out where the problem might be, and I think I've narrowed it
> down to the StartsOnScreen setting. If I comment out the 'StartsOnScreen
> c' line from my .fvwmrc everything seems to work fine (more testing
> needed to check if it is definitely so), and intriguingly applications
> still launch on the screen containing the mousepointer, which I was told
> was the whole point of 'StartsOnScreen c'. (I'd be interested to know
> why that is, out of curiousity?)
> 
> I believe the problem lies somwhere around the
> FScreenTranslateCoordinates function in FScreen.c; possibly this
> function's interaction with the XineramaSls functions, which I use with
> NVidia's Twinview function in their drivers. Relevant lines from my rc:
> 
> XineramaSls True
> XineramaSlsScreens 2 1152x864+0+0 1024x768+1152+0
> XineramaPrimaryScreen 0
> 
> My guess would be that the translation is not behaving and is shifting
> the window out of the actual space of the screen for some reason.
> However, my contact with the FVWM codebase stands at about 10 minutes,
> so I'll leave the proper debugging to people a bit more experienced. ;)
> 
> For whatever reason certain transient windows (such as replies in lICQ
> and the Enigmail windows in Mozilla Mail don't appear correctly if the
> pointer is in the second screen when they are spawned. Everything works
> fine with 'StartsOnScreen c' commented out.
> 
> I hope this is of some use to someone ;)

I understand what the problem is, but do not know what to do about
it.  When you have "StartsOnScreen c" set, and a window appears that
has the USPosition hint set, there are two cases:

  1) The application knows nothing about Xinerama and requests
     coordinates relative to the screen origin (without knowing).
  2) It's an fvwm module (e.g. FvwmIdent) and requested
     coordinates in the global coordinate system.

Whatever you do, one of the two cases is interpreted the wrong
way.  We can not do anything about the application, and the module
does not know about the StartsOnScreen style.  *With* that style,
global coordinates are wrong, and *without* the style they are
correct.

The bottom line is that StartsOnScreen does not work without
IgnoreUSPosition.

Bye

Dominik ^_^  ^_^

 --
Dominik Vogt, [email-masked]
Reply-To: [email-masked]
--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [email-masked].
To report problems, send mail to [email-masked]