Subject: Re: FVWM2 Xinerama patches

From: "Dmitry Yu. Bolkhovityanov" <[email-masked]>
Date: Tue, 2 Oct 2001 12:52:53 +0700

Hi!

	Sorry for replying so late (and Dominik had applied the patch
anyway), but still...

On Mon, 24 Sep 2001, Sidik Isani wrote:

[SNIP]
> |	Second, regarding translation of program-supplied geometry to
> |non-global screen: what will happen to those programs which save their
> |windows' geometries on exit and use them on restart?  Wouldn't the
> 
>   They should work correctly.  My first patch, with %'ing (which would
>   have broken on unequal screen sizes) is no longer needed either.
>   Here's why:  Let's say an application is started with
> 
> Xresource: foo.wmscreen: 1
> Command:   foo -geometry +6+10
> 
>   and we're using your example screen layout:
> 
> |+---+---+---+ 1024*3
> || 0 | 1 | 2 |
> |+---+---+---+
> 
>   The application doesn't even look at "wmscreen", but it requests
>   a position of +6+10 on the global screen.  GetScreenXY figures out that
>   this pixel falls on screen 0 and returns screen-relative coordinates
>   of +6+10.  This is added to screen_g.x,y, the origin of screen 1
>   (because of the *wmscreen: 1) resulting in global +1030+10.  The window
>   pops up on screen 1 (no matter what the current screen is.)
> 
>   If the application saves this as its position, let's see what happens:
>   GetScreenXY sees +1030+10, but figures out that this pixel falls on
>   screen 1 this time, and in screen-relative coordinates this is +6+10.
>   It returns 1 (which we ignore right now) and the coordinates +6+10.
>   This is again added to screen_g.x,y for the same global +1030+10.

	Don't understand these two last paragraphs: if the app saves its
position, how will you distinguish between a "legal" +1030 request, and a
position on screen #1?

	Let's take the following example (a usual CRT screen as #0 and
1600SW as #1):

+-----------+---------------+
|0:         |1:             |
|  1280x1024|  1600x1024    |
|           |               |
+-----------+---------------+

	What "+1300+10" would mean: +20+10@1, or +1300+10@1?

	Other similar pitfalls and ambiguities are definitely possible.
Maybe I'm wrong, but I simply don't fully grok the logic of your patch
(and I want to, since "making old apps behave correctly under Xinerama
setup" is a very interesting and important topic).

	Anyway, cay you please play with GIMP (it does save the main 
window position and uses it on subsequent run)?

BTW, Sidik, are you on the list or should i keep CC:ing to you?

	_________________________________________
	  Dmitry Yu. Bolkhovityanov
	  [email-masked]
	  The Budker Institute of Nuclear Physics

--
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]