私はi3からWaylandに切り替えましたが、以前に書いたスクリプトを除いて、すべてがうまくいきます。スクリプトはi3-msgを使用して、クラス名またはID(i3-msgツリー内)でウィンドウに焦点を合わせます。 Swayにはswaymsg -t get_tree
i3と同じことをするコマンドがあります。このコマンドを使用して、コマンドラインからid
、app_id
またはwindow
その他のデータを抽出できます。pid
swaymsg -t get_tree | jq -c -r '..|try select(.focused == true) | [.id]' | tr -d "[]"
(プロパティに応じて、.id
もちろん正しいクエリに置き換えられます)。
特定のウィンドウに集中するためにコンテナ情報を利用しようとするとき
swaymsg for_window -r [id=10] focus
IDが正しいことを確認しましたが、何も起こりません。その-r
オプションのおかげでswaymsg
出力も可能です(フラグは何も起こらないという事実には影響しません)。
[
{
"success": true
}
]
だから異常がないようです。私が読んだ他のソースからapp_id
ウィンドウやコンテナとやり取りするときにWaylandに移動する方法であるように見えるいくつかのパラメータを試しましたが、swaymsg
何も起こりません。また、端末やブラウザなどの他のプログラムを使ってコマンドを実行してみましたが、何の変更もありませんでした。マニュアルはswaymsg
コマンドの周りに引用符を入れるように言いますが、それも役に立ちません。エラーが発生しないため、デバッグ方法が混乱しています。