summaryrefslogtreecommitdiffstats
path: root/libvo/x11_common.c
diff options
context:
space:
mode:
authoratmos4 <atmos4@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-01-06 21:07:20 +0000
committeratmos4 <atmos4@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-01-06 21:07:20 +0000
commiteb2c656b52c6cf903cb0f2e8d69aab7ea424f50b (patch)
treed97ce2816e6dc9cbc7687edbb4867c8711e14d0d /libvo/x11_common.c
parent280cb5acaf6b8d66519aa78cd9c6e69952dc3e6f (diff)
downloadmpv-eb2c656b52c6cf903cb0f2e8d69aab7ea424f50b.tar.bz2
mpv-eb2c656b52c6cf903cb0f2e8d69aab7ea424f50b.tar.xz
Xinerama patch number two by attila.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4018 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo/x11_common.c')
-rw-r--r--libvo/x11_common.c25
1 files changed, 14 insertions, 11 deletions
diff --git a/libvo/x11_common.c b/libvo/x11_common.c
index ea530e60b9..8290e442ab 100644
--- a/libvo/x11_common.c
+++ b/libvo/x11_common.c
@@ -48,6 +48,12 @@ int mLocalDisplay;
/* output window id */
int WinID=-1;
+#ifdef HAVE_XINERAMA
+int xinerama_screen = 0;
+int xinerama_x = 0;
+int xinerama_y = 0;
+#endif
+
void vo_hidecursor ( Display *disp , Window win )
{
Cursor no_ptr;
@@ -149,13 +155,15 @@ int vo_init( void )
XineramaScreenInfo *screens;
int num_screens;
- mScreen = 0;
-
screens = XineramaQueryScreens(mDisplay, &num_screens);
+ if(xinerama_screen >= num_screens) xinerama_screen = 0;
if (! vo_screenwidth)
- vo_screenwidth=screens[mScreen].width;
+ vo_screenwidth=screens[xinerama_screen].width;
if (! vo_screenheight)
- vo_screenheight=screens[mScreen].height;
+ vo_screenheight=screens[xinerama_screen].height;
+ xinerama_x = screens[xinerama_screen].x_org;
+ xinerama_y = screens[xinerama_screen].y_org;
+
XFree(screens);
}
else
@@ -482,15 +490,10 @@ void saver_off(Display *mDisplay) {
#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);
+ /* printf("XXXX Xinerama screen: x: %hd y: %hd\n",xinerama_x,xinerama_y); */
+ XMoveWindow(dsp,w,xinerama_x,xinerama_y);
}
}
#endif