[MPlayer-dev-eng] x11_common.c - vo_init() - Xinerama handling

Attila Kinali kinali at gmx.net
Thu Jan 3 19:06:00 CET 2002


Hi,

Here comes another question.

in x11_common.c, vo_init the X11 screens and the Xinerama
screens are mixed up:

---schnipp---
  int disp_screen = mScreen;

  screens = XineramaQueryScreens(mDisplay, &num_screens);
  if (disp_screen > num_screens)
    disp_screen = 0;
  if (! vo_screenwidth)
    vo_screenwidth=screens[disp_screen].width;
  if (! vo_screenheight)
    vo_screenheight=screens[disp_screen].height;
---schnapp---

Infact, disp_screen and mScreen have nothing in conjunction
(all Xinerama screens together build one X11 screen).

And here comes now the problem: With Xinerama we dont know where the
window is placed (ie on which Xinerama screen) thous until the window
is mapped it's not possible to get vo_screenwidth and vo_screenheight
like this.

A possible solution would be to force the window onto the first
screen (XMapWindow() then XMoveWindow() )

Or alternatively we could get those values after maping, but as
both are used in the initialisation process i dont know how this
would affect it.

Any suggestions ?

		Attila Kinali

-- 
I am a moslem, i am a terrorist.



More information about the MPlayer-dev-eng mailing list