winex11: Add an option to automatically clip the pointer in desktop and multi-monitor modes.

This commit is contained in:
Alexandre Julliard 2011-05-11 13:07:34 +02:00
parent a59c7cc859
commit ae52a8c2cb
3 changed files with 10 additions and 2 deletions

View File

@ -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 );
}

View File

@ -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;

View File

@ -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);