steamcompmgr: prefer to focus windows without SKIP_{TASKBAR,PAGER}

Closes: https://github.com/Plagman/gamescope/issues/87
This commit is contained in:
Simon Ser 2020-11-10 10:12:51 +01:00
parent 0275e7839d
commit 0beb34b9d5

View file

@ -1310,6 +1310,12 @@ win_is_override_redirect( win *w )
return w->a.override_redirect && !w->ignoreOverrideRedirect;
}
static bool
win_skip_taskbar_and_pager( win *w )
{
return w->skipTaskbar && w->skipPager;
}
// Returns true if a's focus priority > b's.
static bool
is_focus_priority_greater( win *a, win *b )
@ -1326,6 +1332,11 @@ is_focus_priority_greater( win *a, win *b )
if ( a->wantsUnfocus && !b->wantsUnfocus )
return false;
// Wine sets SKIP_TASKBAR and SKIP_PAGER hints for WS_EX_NOACTIVATE windows.
// See https://github.com/Plagman/gamescope/issues/87
if ( win_skip_taskbar_and_pager( a ) && !win_skip_taskbar_and_pager ( b ) )
return false;
if ( a->damage_sequence < b->damage_sequence )
return false;