diff options
author | atmos4 <atmos4@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-01-05 08:49:46 +0000 |
---|---|---|
committer | atmos4 <atmos4@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-01-05 08:49:46 +0000 |
commit | 71d96baf240f404bb0dd102a7bcab46f7d0bc811 (patch) | |
tree | a893418039b4095aea1df89f51ab8ecd0d7a4f9c /libvo/x11_common.c | |
parent | 750bce28b6c5d73f8dde62cceef0032418d67f13 (diff) | |
download | mpv-71d96baf240f404bb0dd102a7bcab46f7d0bc811.tar.bz2 mpv-71d96baf240f404bb0dd102a7bcab46f7d0bc811.tar.xz |
xinerama fix by attila
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3991 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo/x11_common.c')
-rw-r--r-- | libvo/x11_common.c | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/libvo/x11_common.c b/libvo/x11_common.c index 7bd2668400..ea530e60b9 100644 --- a/libvo/x11_common.c +++ b/libvo/x11_common.c @@ -148,15 +148,15 @@ int vo_init( void ) { XineramaScreenInfo *screens; int num_screens; - int disp_screen = mScreen; + + mScreen = 0; screens = XineramaQueryScreens(mDisplay, &num_screens); - if (disp_screen > num_screens) - disp_screen = 0; if (! vo_screenwidth) - vo_screenwidth=screens[disp_screen].width; + vo_screenwidth=screens[mScreen].width; if (! vo_screenheight) - vo_screenheight=screens[disp_screen].height; + vo_screenheight=screens[mScreen].height; + XFree(screens); } else #endif @@ -477,4 +477,22 @@ void saver_off(Display *mDisplay) { // turning off screensaver } + + +#ifdef HAVE_XINERAMA +void vo_x11_xinerama_move(Display *dsp, Window w) +{ + XineramaScreenInfo *screens; + int num_screens; + + if(XineramaIsActive(dsp)) + { + screens = XineramaQueryScreens(dsp,&num_screens); + /* printf("XXXX Xinerama screen: x: %hd y: %hd\n",screens[mScreen].x_org,screens[mScreen].y_org); */ + XMoveWindow(dsp,w,screens[mScreen].x_org,screens[mScreen].y_org); + XFree(screens); + } +} +#endif + #endif |