[MPlayer-dev-eng] [PATCH] Sawfish 1.2 fullscreen fix

Filip Kalinski filon at pld.org.pl
Fri Dec 27 23:47:20 CET 2002


Hi,

That patch fixes fullscreen on sawfish 1.2.

After applying fullscreen (x11, xv +/- gui) works with at least:
- sawfish 1.2
- metacity
- kwin
- wmaker
- balckbox
- waimea
- icewm,

so I think it doesn't break anything.

P.S. fullscreen patch for sawfish needs to be applied on it

-- 
Filip Kalinski <filon at pld.org.pl>
-------------- next part --------------
--- main/libvo/x11_common.c	2002-12-16 11:19:36.000000000 +0100
+++ main.new/libvo/x11_common.c	2002-12-27 20:35:44.000000000 +0100
@@ -670,6 +670,29 @@
   {
    XClientMessageEvent  xev;
    mp_dbg( MSGT_VO,MSGL_STATUS,"[x11] NET style stay on top ( layer %d ).\n",layer );
+
+   memset( &xev,0,sizeof( xev ) );
+   xev.type=ClientMessage;
+   xev.message_type=XInternAtom( mDisplay,"_NET_WM_STATE",False );
+   xev.display=mDisplay;
+   xev.window=vo_window;
+   xev.format=32;
+   xev.data.l[0]=layer;
+   xev.data.l[1]=XInternAtom( mDisplay,"_NET_WM_STATE_FULLSCREEN",False );
+   XSendEvent( mDisplay,mRootWin,False,SubstructureRedirectMask,(XEvent*)&xev );
+   XFree( args );
+   
+   type=XInternAtom( mDisplay,"_NET_WM_STATE",False );
+   arg1=XInternAtom( mDisplay,"_NET_WM_STATE_FULLSCREEN",False );
+   if ( Success == XGetWindowProperty( mDisplay,vo_window,type,0,16384,False,AnyPropertyType,&type,&format,&nitems,&bytesafter,(unsigned char**)(&args) ) && nitems > 0 && format == 32) {
+       for (i = 0; i < nitems; i++) {
+	   if (((Atom)args[i] == arg1)) {
+	       XFree( args );
+	       return;
+	   }
+       }
+   }
+   
    memset( &xev,0,sizeof( xev ) );
    xev.type=ClientMessage;
    xev.message_type=XInternAtom( mDisplay,"_NET_WM_STATE",False );


More information about the MPlayer-dev-eng mailing list