web-dev-qa-db-ja.com

タスク切り替えで同じ種類の複数のプレビューウィンドウの並べ替えを停止するにはどうすればよいですか?

Ubuntu 12.04のデフォルトのグラフィカルモードでタスクスイッチングを使用する場合、それらが同じ種類の複数のウィンドウである場合。複数のターミナルウィンドウでは、それらをすべてまとめて表示し、必要なものを選択できます。

enter image description here

私の問題は、これらのウィンドウの順序が絶えず変更されることです。 「最後に使用された」順序に従います。私は常に修正順序でそれらが欲しいです。どうすればいいですか?

21
n611x007

ユニティコードベースを変更するのではなく、デスクトップを使用して目的の結果を得ることができます。

CompizConfigSettingsManagerでCompizデスクトップキューブを使用する例

CompizConfigSettingsManager(ccsm)を開き、次のように設定を変更します。

ccsm-1

ccsm-2

ターミナル1を開く

キーボードショートカットCTRL-ALT->(右矢印)を使用して、右側の次のデスクトップに移動します。

ターミナル2を開く

キーボードショートカットCTRL-ALT->(右矢印)を使用して、右隣のデスクトップに再度移動します。

ターミナル3を開く

キーボードショートカットCTRL-ALT-< 左矢印)を使用して、ターミナル2を含む前のデスクトップに移動します(または2回ターミナル1に戻ります)

別のオプション

CompizConfig SettingManagerでビューポートマネージャーを使用し、キーの組み合わせを割り当てて、選択したデスクトップに直接移動します。

注:この方法では12が可能であるはずですが、これまでは10しか機能しませんでした。 ccsm-3

更新:コメントで表明された懸念に基づいて:

Geditのタイトルバーを右クリックして、常に表示されるワークスペースを選択します...

別のオプション:

多数のアクティビティ用に個別のターミナル(またはワークスペース)を開くのではなく、gnomeターミナルでタブを使用することもできます。タブ切り替え用のショートカットキーは、端末設定から利用できます。下記参照:

---(terminal-prefs

2
Elder Geek

デスクトップが十分に大きい場合、別のオプションは、いくつかのウィンドウを「常に上」に設定し、マウスを使用して切り替えられるようにそれらを配置します。それは面倒です...しかし、同じタイプの複数のウィンドウで作業するとき、私は時々それが便利だと思います。

さらに別の方法は、異なる配色で複数の端末プロファイルを定義し、各端末に異なるプロファイルを使用することです...それらを簡単に識別できるようになります。 enter image description here ええ、これも回避策です。

1
laugh

nity 7 のソースコードを変更することでこれを達成できると思います。開発者サイトで説明されている手順に従いますが、ビルドプロセスを開始する前に./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);
}

ここで、これがまさに私たちが探していた機能であることを明確に見ることができます。上部は、ビューポートモードの切り替えを担当します。

Show modes

この切り替えは、アプリのグループに移動するたびに、またはグループから移動するたびに表示されます。 optionGetAltTabBiasViewportは、これがいつ発生するかを示します。次に、正しいアイコンを取得するためにGetAltTabIconsが関与します。そして最後に、SortMode::FOCUS_ORDERを持つShow関数が呼び出され、ソートされたアイコンが表示されます。 SortModeは列挙型です:

enum class SortMode
{
  LAUNCHER_ORDER,
  FOCUS_ORDER,
};

FOCUS_ORDERLAUNCHER_ORDERに変更すると、問題が解決するはずです。 Showを呼び出す前に追加のifステートメントを挿入して、ShowMode::ALLケースでのランチャーの順序のソートを防ぐことができます。

Unity 8のソースコードは完全に異なっていることに注意してください。したがって、このソリューションはUnity 7でのみ機能する可能性があります。不足している依存関係を30分修正し、さらに1時間cmakeと戦った後、明日VMで試してみることにしました;)

1
incBrain