# HG changeset patch # User arpi # Date 1033252640 0 # Node ID 190d14d9130ebd8e9708f3c8b30219f15eb9f830 # Parent f51e76c3882e9ebca5c47737d44701e11d23db34 fullscreen fixes, based on mail by Havoc Pennington - it should not set _NET_WM_STATE_STAYS_ON_TOP, this hint does not exist in the spec (http://www.freedesktop.org/standards/wm-spec/1.2/html/x224.html) and _NET_WM_STATE_FULLSCREEN already implies "on top" so there's no need to set this. it should set _NET_WM_STATE_FULLSCREEN instead, I don't currently see code to set _NET_WM_STATE_FULLSCREEN - the XUnmapWindow() after sending the client message is officially speaking breaking the spec, should be XWithdrawWindow(). diff -r f51e76c3882e -r 190d14d9130e libvo/x11_common.c --- a/libvo/x11_common.c Sat Sep 28 21:16:12 2002 +0000 +++ b/libvo/x11_common.c Sat Sep 28 22:37:20 2002 +0000 @@ -667,7 +667,8 @@ e.xclient.window=vo_window; e.xclient.format=32; e.xclient.data.l[0]=layer; - e.xclient.data.l[1]=XInternAtom( mDisplay,"_NET_WM_STATE_STAYS_ON_TOP",False ); +// e.xclient.data.l[1]=XInternAtom( mDisplay,"_NET_WM_STATE_STAYS_ON_TOP",False ); + e.xclient.data.l[1]=XInternAtom( mDisplay,"_NET_WM_STATE_FULLSCREEN",False ); XSendEvent( mDisplay,mRootWin,False,SubstructureRedirectMask,&e ); XFree( args ); @@ -723,7 +724,8 @@ vo_x11_sizehint( x,y,w,h,0 ); vo_x11_setlayer( vo_fs ); if(vo_wm_type==vo_wm_Unknown && !(vo_fsmode&16)) - XUnmapWindow( mDisplay,vo_window ); // required for MWM +// XUnmapWindow( mDisplay,vo_window ); // required for MWM + XWithdrawWindow(mDisplay,vo_window,mScreen); XMoveResizeWindow( mDisplay,vo_window,x,y,w,h ); #ifdef HAVE_XINERAMA vo_x11_xinerama_move(mDisplay,vo_window);