Unity 7'nin kaynak kodunu değiştirerek bunu başarabileceğinizi düşünüyorum . Sadece geliştirici sitesinde açıklanan adımları takip edin, ancak yapım sürecini açmadan önce: ./trunk/plugins/unityshell/src/unityshell.cppve SetUpAndShowSwitcherfonksiyonuna bir göz atın :
void UnityScreen::SetUpAndShowSwitcher(switcher::ShowMode show_mode)
{
RaiseInputWindows();
if (!optionGetAltTabBiasViewport())
{
if (show_mode == switcher::ShowMode::CURRENT_VIEWPORT)
show_mode = switcher::ShowMode::ALL;
else
show_mode = switcher::ShowMode::CURRENT_VIEWPORT;
}
auto results = launcher_controller_->GetAltTabIcons(show_mode == switcher::ShowMode::CURRENT_VIEWPORT,
switcher_controller_->show_desktop_disabled());
if (switcher_controller_->CanShowSwitcher(results))
switcher_controller_->Show(show_mode, switcher::SortMode::FOCUS_ORDER, results);
}
Burada, bunun tam olarak aradığımız fonksiyon olduğunu açıkça görebilirsiniz. Vitrin modlarının değiştirilmesinden üst kısım sorumludur:

Bu geçiş, bir Apps grubuna her taşındığımızda veya gruptan çıktığımızda görünür. optionGetAltTabBiasViewportbunun ne zaman olacağını gösterir. Sonra GetAltTabIconsdoğru simgeleri elde etmek için dahil edilir. Sonunda, sıralı simgelerimizi görüntülemek için Showile işlev SortMode::FOCUS_ORDERçağrılır. SortMode bir enum:
enum class SortMode
{
LAUNCHER_ORDER,
FOCUS_ORDER,
};
ve değişen FOCUS_ORDERiçin LAUNCHER_ORDERsorunu çözmek gerekir. ShowBaşlatma sırası sıralamasını engellemek için aramadan önce ek bir if ifadesi ekleyebilirsiniz ShowMode::ALL.
Unity 8'in kaynak kodunun tamamen farklı olduğunu lütfen unutmayın. Dolayısıyla bu çözüm yalnızca Unity 7 için işe yarayabilir. Yarım saat sonra bağımlılıkları kaybettim ve bir saat sonra cmake ile kavga ettikten sonra, sistemimi mahvetmeme ve yarın VM'de denemeye karar verdim;)