web-dev-qa-db-ja.com

アプリケーションのすべてのウィンドウを前面に表示するにはどうすればよいですか?

1つのアプリケーションのすべてのウィンドウを一番上に表示したい場合があります。現在Unityでこれを行う唯一の方法は、各ウィンドウに個別に切り替えることです(alt-tabを使用するか、ランチャーアイコンをクリックして各ウィンドウを選択するか、他のすべてのウィンドウを最小化する)。これを行うためにwmctrlを使用して何かを一緒にハッキングすることは可能だと思いますが、より簡単な解決策を望んでいます。

8

アプリケーションのすべてのウィンドウを検索する必要がある場合(それぞれのコンテンツのプレビューを表示する場合)、ランチャーバーでアプリケーションのアイコンを2回クリックします。初めてクリックすると、アプリの最新のウィンドウがアクティブになり、2回目にはすべてのアプリのウィンドウのプレビューが表示されます。技術的には「トップに持っていく」と同じではありませんが、実際のニーズ(たとえば、開いているすべての電子メールウィンドウを見つけるため)を満たすかもしれません。

1
Jon

これにはwmctrlを使用できます。

すべてのウィンドウにショートカットがあります。デスクトップへの移動を元に戻すだけの場合:

wmctrl -k off

特定のアプリだけを起動する必要がある場合は、次のようにスクリプトを使用できますが、すべてのワークスペースのすべてのウィンドウが起動します。例えば。すべてのgnome-terminalを表示するには、次のようにします

pids=" $(pidof gnome-terminal) "
wmctrl -lp | while read id a pid b; do
  test "${pids/ $pid }" != "$pids" && wmctrl -i -a $id
done
1
Lajos Molnar

@Lajosの優れた答えに基づいて、あらゆるアプリで動作します。

function showall {
  pids=" $(pidof $1) "
  wmctrl -lp | while read id a pid b
  do test "${pids/ $pid }" != "$pids" && wmctrl -i -a $id; done
}

次に、次のように呼び出します。

showall gnome-terminal
showall nautilus
showall chrome
0
automorphic