diff options
Diffstat (limited to 'libvo')
-rw-r--r-- | libvo/x11_common.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/libvo/x11_common.c b/libvo/x11_common.c index 6647ef8ae3..112c08e89d 100644 --- a/libvo/x11_common.c +++ b/libvo/x11_common.c @@ -59,6 +59,7 @@ int fs_layer=WIN_LAYER_ABOVE_DOCK; static int orig_layer=0; +static int old_gravity = NorthWestGravity; int stop_xscreensaver=0; @@ -810,6 +811,10 @@ int vo_x11_check_events(Display *mydisplay){ XFree( name ); } break; + case MapNotify: + vo_hint.win_gravity = old_gravity; + XSetWMNormalHints( mDisplay,vo_window,&vo_hint ); + break; } } return ret; @@ -1066,6 +1071,15 @@ void vo_x11_fullscreen( void ) vo_fs=VO_TRUE; vo_old_x=vo_dx; vo_old_y=vo_dy; vo_old_width=vo_dwidth; vo_old_height=vo_dheight; x=0; y=0; w=vo_screenwidth; h=vo_screenheight; + + } + { + long dummy; + XGetWMNormalHints(mDisplay, vo_window, &vo_hint, &dummy); + if (!(vo_hint.flags & PWinGravity)) + old_gravity = NorthWestGravity; + else + old_gravity = vo_hint.win_gravity; } vo_x11_decoration( mDisplay,vo_window,(vo_fs) ? 0 : 1 ); vo_x11_sizehint( x,y,w,h,0 ); |