steamcompmgr: publish focusable appids through root property

This commit is contained in:
Pierre-Loup A. Griffais 2021-05-13 20:22:30 -07:00
parent fa433a3ebc
commit 5c0e1ff4c7

View file

@ -1440,6 +1440,32 @@ determine_and_apply_focus (Display *dpy, MouseCursor *cursor)
} }
} }
std::vector< unsigned long > focusable_appids;
for( unsigned long i = 0; i < vecPossibleFocusWindows.size(); i++ )
{
unsigned int unAppID = vecPossibleFocusWindows[ i ]->appID;
if ( unAppID != 0 )
{
unsigned long j;
for( j = 0; j < focusable_appids.size(); j++ )
{
if ( focusable_appids[ j ] == unAppID )
{
break;
}
}
if ( j == focusable_appids.size() )
{
focusable_appids.push_back( unAppID );
}
}
}
XChangeProperty( dpy, root, XInternAtom( dpy, "GAMESCOPE_FOCUSABLE_APPS", False ),
XA_CARDINAL, 32, PropModeReplace, (unsigned char *)focusable_appids.data(),
focusable_appids.size() );
std::sort( vecPossibleFocusWindows.begin(), vecPossibleFocusWindows.end(), std::sort( vecPossibleFocusWindows.begin(), vecPossibleFocusWindows.end(),
is_focus_priority_greater ); is_focus_priority_greater );