WaylandでフォーカスされたウィンドウのPIDを取得します。

WaylandでフォーカスされたウィンドウのPIDを取得します。

Waylandに現在焦点が合っているウィンドウのPIDを取得する方法はありますか?

使っていますスイングウィンドウマネージャ。ご協力ありがとうございます!

答え1

swaymsg -t get_tree開いているすべてのウィンドウのJSONエンコードレイアウトツリーを返します。結果のJSONはかなり大きいですが、解析するのは簡単です。JQツール

demnuでこのスクリプトを実行して、フォーカスされたウィンドウ情報を表示できます。

swaymsg -t get_tree \                                                                                     
  | jq '.. | (.nodes? // empty)[] | select(.focused==true) | {name, pid}' \
  | swaynag -m "Window Info" -l

答え2

これはフローティングまたはタイルウィンドウで機能します。

swaymsg -t get_tree | jq '.. | select(.type?) | select(.focused==true).pid'

関連情報