changeset 8645:8d142510995d

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. Filip Kalinski <filon@pld.org.pl> NOTE: we can still reverse it :))) --A'rpi
author arpi
date Sun, 29 Dec 2002 21:08:10 +0000
parents 0bfd73828e33
children b4c85f36e8fc
files libvo/x11_common.c
diffstat 1 files changed, 23 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/libvo/x11_common.c	Sun Dec 29 21:06:20 2002 +0000
+++ b/libvo/x11_common.c	Sun Dec 29 21:08:10 2002 +0000
@@ -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 );