在Ubuntu 12.04的默认图形模式下使用任务切换时,如果有多个相同类型的窗口,例如多个终端窗口,您可以将它们全部显示在一起,并选择您想要的窗口。
./trunk/plugins/unityshell/src/unityshell.cpp
并查看SetUpAndShowSwitcher
函数。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);
}
enum class SortMode
{
LAUNCHER_ORDER,
FOCUS_ORDER,
};
FOCUS_ORDER
为LAUNCHER_ORDER
应该可以解决你的问题。在调用Show
之前,你可以插入一个额外的if语句来防止在ShowMode::ALL
情况下对启动器顺序进行排序。