steamcompmgr: Ignore overrides that are 1x1
This commit is contained in:
parent
edbf409d07
commit
499573c5fb
1 changed files with 13 additions and 4 deletions
|
@ -1951,10 +1951,19 @@ win_has_game_id( win *w )
|
||||||
return w->appID != 0;
|
return w->appID != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool
|
||||||
|
win_is_useless( win *w )
|
||||||
|
{
|
||||||
|
// Windows that are 1x1 are pretty useless for override redirects.
|
||||||
|
// Just ignore them.
|
||||||
|
// Fixes the Xbox Login in Age of Empires 2: DE.
|
||||||
|
return w->a.width == 1 && w->a.height == 1;
|
||||||
|
}
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
win_is_override_redirect( win *w )
|
win_is_override_redirect( win *w )
|
||||||
{
|
{
|
||||||
return w->a.override_redirect && !w->ignoreOverrideRedirect;
|
return w->a.override_redirect && !w->ignoreOverrideRedirect && !win_is_useless( w );
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
|
@ -1966,7 +1975,7 @@ win_skip_taskbar_and_pager( win *w )
|
||||||
static bool
|
static bool
|
||||||
win_maybe_a_dropdown( win *w )
|
win_maybe_a_dropdown( win *w )
|
||||||
{
|
{
|
||||||
return w->maybe_a_dropdown || win_is_override_redirect( w );
|
return ( w->maybe_a_dropdown || win_is_override_redirect( w ) ) && !win_is_useless( w );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Returns true if a's focus priority > b's.
|
/* Returns true if a's focus priority > b's.
|
||||||
|
@ -2461,9 +2470,9 @@ determine_and_apply_focus()
|
||||||
|
|
||||||
for ( win *focusable_window : vecPossibleFocusWindows )
|
for ( win *focusable_window : vecPossibleFocusWindows )
|
||||||
{
|
{
|
||||||
// Exclude windows that are 1x1, skip taskbar + pager or override redirect windows
|
// Exclude windows that are useless (1x1), skip taskbar + pager or override redirect windows
|
||||||
// from the reported focusable windows to Steam.
|
// from the reported focusable windows to Steam.
|
||||||
if ( ( focusable_window->a.width == 1 && focusable_window->a.height == 1 ) ||
|
if ( win_is_useless( focusable_window ) ||
|
||||||
win_skip_taskbar_and_pager( focusable_window ) ||
|
win_skip_taskbar_and_pager( focusable_window ) ||
|
||||||
focusable_window->a.override_redirect )
|
focusable_window->a.override_redirect )
|
||||||
continue;
|
continue;
|
||||||
|
|
Loading…
Reference in a new issue