Weztermをホットキーで起動・前面に出す
概要
LinuxでWeztermをホットキーで起動・前面に出す方法を調べた。ソフト単体にはそういった機能は無いがwmctrlというプログラムで実現できた。ホットキーに対応していないアプリやGUIでなくコンソールアプリをホットキーで起動したい場合などに役立つので方法をメモしておく。
Weztermをホットキーで起動・前面に出す方法
前提
wmctrlがなければインストール。Debianの場合はaptでインストールできた。
sudo apt install wmctrl
スクリプト作成
次のスクリプトを任意の場所に配置して、chmodで実行権限をつける。
#!/bin/bash
# ウィンドウクラス名(必要に応じて変更)
WEZ_CLASS="WEZTERM"
# WezTerm の実行ファイル(パスが通っていれば単に wezterm でOK)
WEZ_CMD="wezterm start --class $WEZ_CLASS"
# WezTerm のウィンドウが存在するか確認
if wmctrl -lx | grep -q "$WEZ_CLASS"; then
# 存在すれば前面に出す
wmctrl -xa "$WEZ_CLASS"
else
# 存在しなければ起動してから前面に出す
$WEZ_CMD &
# ウィンドウが表示されるまで待機(最大20回、2秒まで)
for i in {1..20}; do
sleep 0.1
if wmctrl -lx | grep -q "$WEZ_CLASS"; then
wmctrl -xa "$WEZ_CLASS"
break
fi
done
fi
ホットキー登録
Debian12でKDEを使っている私の環境ではKDE システム設定のショートカット-カスタムショートカットに新しいグローバルショートカットを追加して、トリガーにホットキー、アクションのコマンド欄に作成したスクリプトのパスを設定するとうまくいった。
Weztermが起動していない状態では起動→ウィンドウがwmctrlに認識されたらそのウィンドウを前面に出す、起動している状態では起動しているウィンドウを前面に出すという動作になる。