On Wed, Dec 12, 2007 at 12:19:26AM +0100, Jesús Guerrero wrote:
> Hello,
> 
> I already posted on the forums, and talked with Thomas Adam about this. 
> Still, I
> can't understand what is going on so I will post it here and see what do the 
> fvwm
> developers think.
 
> Before starting, some conventions:
> 
> "screen" is a xinerama screen, which in my case spans across two physical 
> devices.
> "monitor" is a physical display device
> "root window" is the fvwm root window, which takes the whole screen,
> as per the "screen" definition above.

Alright, that's correct.

> Now, I read on the man page this:
> 
> WindowId [id] [(conditions)] | [root [screen]] command
> 
> And here comes the questions:
> 
> 1.- is the definition of "screen" above applicable to that command line?

No.

> 2.- if not, what is that "root [screen]" supposed to do?

The WindowId command gives the window id of the root window when
used with "root [screen]".  Since you use Xinerama, you only have
one screen (but multiple xinerama screens).  All your xinerama
screens share the same root window.

> These two commands do nothing different on my xinerama setup:
> 
> Key Left A 4 WindowId root 1 WarpToWindow 50 50
> Key Right A 4 WindowId root 0 WarpToWindow 50 50
> 
> They move the pointer to (50,50) taking as reference the root window, or the 
> whole
> xinerama screen, if you prefer.

There is currently no way to query the dimensions of a xinerama
screen, and only some commands allow xinerama screens as argument.
Unfortunately, xinerama screens are often just called "screens" in
the man page.  This is confusing because "screen" already has a
meaning in X.

> So, I can only assume that either the man page or the WindowId/WarpToWindow 
> combo
> are broken.

See above.

> Another thing is that, if this behaviour is the intended one, then it is 
> missleading
> because the Move command has also a "screen" parameter, and it works as 
> expected.
> 
> If you open a FvwmConsole and do 
> 
> All (FvwmConsole) Move screen 0 0 0
> All (FvwmConsole) Move screen 1 0 0
> All (FvwmConsole) Move screen 0 0 0

Agreed.

> You will see how your FvwmConsole moves from one physical monitor to the 
> other.
> I don't see why this is a good behaviour for windows and not for the mouse
> pointer.

It is usefull, but simply not implemented.  I'd be happy to accept
patches to the CursorMove command (to allow xinerama screens)
and/or a patch that adds extended vars to query xinerama screen
dimensions:

  CursorMove [xinerama-screen] x y

  $[screen(27).x]
  $[screen(g).y]
  $[screen(p).height]
  $[screen(0).width]

> I am not stating the fact that this is a bug or anything because maybe I am
> missing something. I just think that there is an inconsistency, and I don't
> understand what the "screen" parameter does in that WindowId/WarpToWindow line

Ciao

Dominik ^_^  ^_^

 --
Dominik Vogt

Reply via email to