Archlinux3.17.3-1でgnome-Shell3.14を使用しています。 xfce4ターミナルを開くためのキーボードショートカット(ctrl + alt + T)があります。
私の問題は、このショートカットをトリガーすると、新しく開いたターミナルにフォーカスが設定されないことです。 .zshrc
に追加してみました
[[ -n "$DISPLAY" ]] && wmctrl -i -a $(wmctrl -l | grep Terminal | tail -n 1 | cut -d ' ' -f1)
そしてそれはうまくいきました...私がターミナルで複数のタブを開こうとするまで。新しいタブを開くと、.zshrc
が実行され、フォーカスが最後のターミナルに移動します。これは、現在作業しているオープンではない可能性があります。
そこで、.zshrc
ファイルからコマンドを削除し、ショートカットキーボードを実行してコマンドを編集してみました。
xcfe4-terminal&
sleep 0.1
wmctrl -i -a $(wmctrl -l | grep Terminal | tail -n 1 | cut -d ' ' -f1)
スリープ時間を長くしてみましたが、うまくいきません(フォーカスが設定されていません)
したがって、2つの質問があります:
どういうわけか、スクリプトでスクリプトを実行しているxfce4ターミナルのウィンドウIDを取得することは可能ですか?
Xfce4ターミナルを開くときにコマンドを実行することは可能ですか(コマンドが.zshrc
にある場合でも、含まれていない場合など)。 --execute
オプションを試しましたが、フォーカスコマンドを実行するだけで役に立たないウィンドウが表示されるため、ニーズに合いません。
このスレッドはすでに3年前のものですが、最近、プラズマからシナモンに移行したときに同じ問題に悩まされています。これは私が思いついたものです
これを.zshrc
(または他のシェル構成ファイル)に追加します
xdotool windowactivate $(xdotool search --onlyvisible --class 'xfce4-terminal' | tail -n1) &>/dev/null