summaryrefslogtreecommitdiffstats
path: root/libvo/x11_common.c
diff options
context:
space:
mode:
authorlgb <lgb@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-05-31 22:32:58 +0000
committerlgb <lgb@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-05-31 22:32:58 +0000
commitf61ffa92b939a9e4c1dbe22a15e0398ea17c3075 (patch)
tree68b27b581fced1a21cef5bf2c96c41a8d73dec8d /libvo/x11_common.c
parentd7f6f3e341ae2a53c82ec0056257f110c10fdb57 (diff)
downloadmpv-f61ffa92b939a9e4c1dbe22a15e0398ea17c3075.tar.bz2
mpv-f61ffa92b939a9e4c1dbe22a15e0398ea17c3075.tar.xz
Centralized and cleaned up X11 connecting, fixed remote X11 playing, -display option for mplayer. SHOULD BE TESTED.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@923 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo/x11_common.c')
-rw-r--r--libvo/x11_common.c29
1 files changed, 20 insertions, 9 deletions
diff --git a/libvo/x11_common.c b/libvo/x11_common.c
index c4d296c92e..b33cf7874f 100644
--- a/libvo/x11_common.c
+++ b/libvo/x11_common.c
@@ -22,6 +22,12 @@
static int dpms_disabled=0;
static int timeout_save=0;
+char* mDisplayName=NULL;
+Display* mDisplay;
+Window mRootWin;
+int mScreen;
+int mLocalDisplay;
+
void vo_hidecursor ( Display *disp , Window win )
{
@@ -42,21 +48,24 @@ void vo_hidecursor ( Display *disp , Window win )
int vo_init( void )
{
int CompletionType = -1;
- int mScreen;
+// int mScreen;
int bpp;
- char * DisplayName = ":0.0";
- Display * mDisplay;
+// char * DisplayName = ":0.0";
+// Display * mDisplay;
XImage * mXImage;
- Window mRootWin;
+// Window mRootWin;
static XWindowAttributes attribs;
if(vo_depthonscreen) return 1; // already called
- if ( getenv( "DISPLAY" ) ) DisplayName=getenv( "DISPLAY" );
- mDisplay=XOpenDisplay( DisplayName );
+ if (!mDisplayName)
+ if (!(mDisplayName=getenv("DISPLAY")))
+ mDisplayName=strdup(":0.0");
+
+ mDisplay=XOpenDisplay(mDisplayName);
if ( !mDisplay )
{
- printf( "vo: couldn't open the X11 display!\n" );
+ printf( "vo: couldn't open the X11 display (%s)!\n",mDisplayName );
return 0;
}
mScreen=DefaultScreen( mDisplay ); // Screen ID.
@@ -72,8 +81,10 @@ int vo_init( void )
bpp=mXImage->bits_per_pixel;
XDestroyImage( mXImage );
if((vo_depthonscreen+7)/8 != (bpp+7)/8) vo_depthonscreen=bpp; // by A'rpi
- XCloseDisplay( mDisplay );
- printf("X11 running at %dx%d depth: %d\n",vo_screenwidth,vo_screenheight,vo_depthonscreen);
+// XCloseDisplay( mDisplay );
+#warning Better local display detection method is needed.
+ if (*mDisplayName==':') mLocalDisplay=1; else mLocalDisplay=0;
+ printf("X11 running at %dx%d depth: %d (\"%s\" => %s display)\n",vo_screenwidth,vo_screenheight,vo_depthonscreen,mDisplayName,mLocalDisplay?"local":"remote");
return 1;
}