Xserverからすべての開いているウィンドウのリストを取得する方法を知っている人はいますか?
CLIから使用できます
xwininfo -tree -root
独自のコード内でこれを行う必要がある場合は、XQueryTree
ライブラリのXlib
関数を使用する必要があります。
ウィンドウマネージャーがEWMH仕様を実装している場合は、_NET_CLIENT_LIST
ルートウィンドウの値。これは、ほとんどの最新のウィンドウマネージャーによって設定されます。
xprop -root|grep ^_NET_CLIENT_LIST
その値はプログラムで簡単に取得できます。Xlibのドキュメントをご覧ください。