diff --git a/dlls/winex11.drv/mouse.c b/dlls/winex11.drv/mouse.c index a4b846b25dd..3e1a78f0efb 100644 --- a/dlls/winex11.drv/mouse.c +++ b/dlls/winex11.drv/mouse.c @@ -518,8 +518,11 @@ BOOL clip_fullscreen_window( HWND hwnd ) if (!is_window_rect_fullscreen( &data->whole_rect )) return FALSE; if (GetTickCount() - x11drv_thread_data()->clip_reset < 1000) return FALSE; SetRect( &rect, 0, 0, screen_width, screen_height ); - if (!EqualRect( &rect, &virtual_screen_rect )) return FALSE; - if (root_window != DefaultRootWindow( gdi_display )) return FALSE; + if (!grab_fullscreen) + { + if (!EqualRect( &rect, &virtual_screen_rect )) return FALSE; + if (root_window != DefaultRootWindow( gdi_display )) return FALSE; + } TRACE( "win %p clipping fullscreen\n", hwnd ); return grab_clipping_window( &rect, TRUE ); } diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h index b7011da63e9..fc6902bfbda 100644 --- a/dlls/winex11.drv/x11drv.h +++ b/dlls/winex11.drv/x11drv.h @@ -601,6 +601,7 @@ extern int use_primary_selection; extern int use_system_cursors; extern int show_systray; extern int grab_pointer; +extern int grab_fullscreen; extern int usexcomposite; extern int managed_mode; extern int decorated_mode; diff --git a/dlls/winex11.drv/x11drv_main.c b/dlls/winex11.drv/x11drv_main.c index cb6d793a0da..8e0a784b891 100644 --- a/dlls/winex11.drv/x11drv_main.c +++ b/dlls/winex11.drv/x11drv_main.c @@ -84,6 +84,7 @@ int use_primary_selection = 0; int use_system_cursors = 1; int show_systray = 1; int grab_pointer = 1; +int grab_fullscreen = 0; int managed_mode = 1; int decorated_mode = 1; int private_color_map = 0; @@ -426,6 +427,9 @@ static void setup_options(void) if (!get_config_key( hkey, appkey, "GrabPointer", buffer, sizeof(buffer) )) grab_pointer = IS_OPTION_TRUE( buffer[0] ); + if (!get_config_key( hkey, appkey, "GrabFullscreen", buffer, sizeof(buffer) )) + grab_fullscreen = IS_OPTION_TRUE( buffer[0] ); + screen_depth = 0; if (!get_config_key( hkey, appkey, "ScreenDepth", buffer, sizeof(buffer) )) screen_depth = atoi(buffer);