Mercurial > mplayer.hg
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 );