diff options
author | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-09-28 22:37:20 +0000 |
---|---|---|
committer | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-09-28 22:37:20 +0000 |
commit | 8ded55d12f862aa2ef4a663f29025dbc33445bb2 (patch) | |
tree | 36036f593de5afb5ed35fc9663b824e1052fd86d /libvo/x11_common.c | |
parent | f73a875f011a53d73d189b51324095cd65221363 (diff) | |
download | mpv-8ded55d12f862aa2ef4a663f29025dbc33445bb2.tar.bz2 mpv-8ded55d12f862aa2ef4a663f29025dbc33445bb2.tar.xz |
fullscreen fixes, based on mail by Havoc Pennington <hp@redhat.com>
- 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().
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7543 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo/x11_common.c')
-rw-r--r-- | libvo/x11_common.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libvo/x11_common.c b/libvo/x11_common.c index 0977048988..fc2b8e076e 100644 --- a/libvo/x11_common.c +++ b/libvo/x11_common.c @@ -667,7 +667,8 @@ void vo_x11_setlayer( int layer ) 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 @@ void vo_x11_fullscreen( void ) 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); |