in unity-shared/PluginAdapter.cpp
621 if (window->defaultViewport() == screen_vp && 622 window->isViewable() && window->isMapped() && 623 !window->minimized() && !window->inShowDesktopMode() && 624 !(window->state() & CompWindowStateAboveMask) && 625 !(window->type() & CompWindowTypeSplashMask) && 626 !(window->type() & CompWindowTypeDockMask) && 627 !window->overrideRedirect() && 628 std::find(our_xids.begin(), our_xids.end(), window->id()) == our_xids.end()) 629 { 630 return window->id(); 631 }
only the return value of window->state() is changed from the 'normal status' (8192) to 'always on top status' (8704)
So now the question is, why !(window->state() & CompWindowStateAboveMask) is false?
in PluginAdapter. cpp
unity-shared/
621 if (window- >defaultViewpor t() == screen_vp && >isViewable( ) && window->isMapped() && >minimized( ) && !window- >inShowDesktopM ode() && AboveMask) && plashMask) && ockMask) && >overrideRedire ct() && our_xids. begin() , our_xids.end(), window->id()) == our_xids.end())
622 window-
623 !window-
624 !(window->state() & CompWindowState
625 !(window->type() & CompWindowTypeS
626 !(window->type() & CompWindowTypeD
627 !window-
628 std::find(
629 {
630 return window->id();
631 }
only the return value of window->state() is changed from the 'normal status' (8192) to 'always on top status' (8704)
So now the question is, why !(window->state() & CompWindowState AboveMask) is false?