Xorg ですべてのウィンドウのリストを取得するにはどうすればいいですか?

Xorg ですべてのウィンドウのリストを取得するにはどうすればいいですか?

Xorg 内のすべてのウィンドウのリストを、そのウィンドウ ID と名前とともに取得したいと思います。どうすればいいでしょうか? xwininfo については知っていますが、特定のウィンドウをクリックしてその ID を取得する必要があります。

PS: 複数のワークスペースを持つウィンドウ マネージャーを使用しており、現在のウィンドウだけでなく、すべてのワークスペースのすべてのウィンドウのリストが必要です。

PPS: xwininfo -tree -root も確認しましたが、その出力は実際にはリストではなく、ウィンドウ名から判断すると、出力を誤解していない限り、冗長なデータ (同じ名前のウィンドウが複数回リストされている) があるようです。

答え1

もしあなたwindow managerEWMHおよびNetWM互換使用できますwmctrl:

$ wmctrl  -l
0x01a0000e  0 N/A Oracle VM VirtualBox Manager
0x0120000d  0 comp uxterm
0x01000010  0 comp linux - How to get a list of all windows in Xorg? - Super User - firefox
0x00a00013  0 comp [email protected]

関連情報