web-dev-qa-db-ja.com

ターミネーター:シングルウィンドウ、起動にフォーカス

デスクトップ用にターミネーターを構成しています。 Ctrl + Alt + Tショートカットを使用して起動します。実行するインスタンスは1つだけなので、run-one terminatorをランチャーコマンドとして使用します。

これで、Terminatorインスタンスが実行されている場合、新しいインスタンスは起動されませんが、既存のインスタンスはフォーカスされません

ターミネーターウィンドウにフォーカスを取得する方法についてのアイデアはありますか?

8
Mr Hyde

wmctrlをインストールしてみてください:Sudo apt-get install wmctrl
コマンドwmctrl -a STRINGは、タイトルにSTRINGを含むウィンドウにフォーカスを与えます
したがって、最終的なコマンドは次のようになります。

run-one terminator; wmctrl -a Terminator
4
Denis

wmctrlが利用可能であると仮定して、run-oneなしで機能するメソッドを次に示します。

wmctrl -xa terminator.Terminator || terminator

これは、デフォルトのウィンドウクラス名が使用されていることを前提としています。必要に応じてクリエイティブを取得し、terminatorの起動時にカスタムクラス名を使用できます。これにより、通常のターミネーターインスタンスからターミネーターショートカットを分離できます。

wmctrl -xa MyCustomTerminator.Terminator || terminator -c MyCustomTerminator

これは、run-oneを必要とせずに、デニスの答えに基づいています。

8
loleary

Run-oneとxdotoolを使用して解決したハックを次に示します。

/home/(user)/my_scripts/single_terminator_instance.sh

#!/usr/bin/bash

# run a single instance of terminator
/usr/bin/run-one /usr/bin/terminator

# search for the terminator window and focus!!!
/usr/bin/xdotool search --onlyvisible --class terminator windowactivate

それから

  1. Main Menuのターミネーターショートカットコマンドを上記のスクリプトを指すように変更します
  2. キーボードショートカットで、Ctrl + Alt + Tはスクリプトをアクティブにします

I'netで検索しているときに、偶然 this

私はbashスクリプトを初めて使用するので、ハックの改良を歓迎します!

1
Mr Hyde