Webページまたはエディターに移動した後、開いているすべてのターミナルを元の位置に前面に戻す方法はありますか?端末アイコンをクリックしてから、それぞれを個別に戻すのは少し面倒です。
ありがとう!
例:
押すことができます Alt+Tab ウィンドウ間を順方向に切り替える Alt+Shift+Tab ウィンドウを切り替えるには。このショートカットは、ほとんどすべてのグラフィカルオペレーティングシステムで機能するようになっています。うんも使用できます Super+W 同じ目的の矢印キー。
ターミナルウィンドウを前面に1つ持ってから、 Alt+~ 他のすべてのターミナルウィンドウを1つずつ前面に表示するには:
開いているすべてのターミナルを自動的に前面に表示するには(前に説明したように1つずつではありません)、次のスクリプトで キーボードショートカットを追加 する必要があります(スクリプトは Adobe の answer と、スクリプトのバージョンが機能していないことを考慮して改善されました):
#!/bin/bash
if [ $# -ne 1 ];then
echo -e "Usage: `basename $0` PROGRAM_NAME\n
For example:\n\t
'`basename $0` gnome-terminal' for Terminal\n\t
'`basename $0` firefox' for Firefox\n\t
'`basename $0` chromium-browser' for Chromium\n\t..."
exit 1
fi
pids=" $(pidof $@) "
if [ "$pids" = " " ]; then # the string " " contain two spaces
echo "There is no program named '$@' opened at the moment."
exit 1
fi
wmctrl -lp | while read identity desktop_number PID window_title; do
if [ "${pids/ $PID }" != "$pids" ]; then
wmctrl -ia $identity
fi
done
スクリプトを実行可能にすることを忘れないでください:
chmod +x /path/to/script/script_name
ターミナルでスクリプトをテストした後、以下を確認する必要があります。
以下は、タイトルがARGと一致するすべてのウィンドウを前面に表示する小さなbashスクリプトです。
bring-all-windows.bash ARG
スクリプト:
#!/bin/bash
Program=$@
wmctrl -l | while read Window; do
if [[ "$Window" == *"$Program"* ]]; then
echo "DEBUG: I bring $Window"
code=`echo "$Window" | cut -f 1 -d " "`
wmctrl -i -a $code
fi
done
バインドできます
bring-all-windows.bash Terminal
ホットキーへ(スクリプトをログインシェルPATHに入れるか、フルパスを書き込むことを忘れないでください)。
スクリプトには、wmctrl
のインストールが必要です。
編集:
ターミナルから何かを実行するには、スクリプトを配置したディレクトリに移動してから、
chmod +x bring-all-windows.bash
./bring-all-windows.bash Terminal
ターミナルから確実に機能することを確認したら、それをホットキーにバインドして、フルパスを指定してください。ホットキーとスクリプトへのフルパスで動作することが確認できたら、そのディレクトリをログインシェルパスに追加してみて、そのように動作するかどうかを確認します。
別の方法は、xdotool
を使用することです。 Sudo apt-get install xdotool
が必須なので、最初にインストールする必要があります。
xdotool search --class "terminal" windowactivate %@
xdotool search --name "braiam@bt" windowactivate %@
最初は*terminal*
というバイナリを探し、2番目は*braiam@bt*
というタイトルのウィンドウを探します。それをbashスクリプトに入れると:
#!/bin/bash
set -e
program=$@
xdotool search --class '$program' windowactivate %@
xdotool search --name '$program' windowactivate %@
これについては、xdotool
マニュアルで詳しく知ることができます。
アーカイブの場合: https://Gist.github.com/psi-4ward/18c3a596d28a3cfa772101af755545df
最近使用したアプリケーションを尊重するスクリプト
Ubuntuデスクトップでは、デスクトップの左側の余白にアイコンが垂直に配置されています。端末アイコンを左クリックすると、すべての端末ウィンドウが表示されます。ターミナルアイコンを右クリックすると、メニューのリストが表示され、上部に[新しいターミナル]が表示され、リストの下部に開いているすべてのターミナルが表示されます。どちらをアクティブな端末にするかを選択できます。
この同じ方法は、ブラウザなどの他のアプリケーションでも機能するはずです。