
Ubuntu日本語フォーラム

ログインしていません。
はじめましてkKojiです。
eclipse/C++でデスクトップ上のウィンドウを列挙するプログラムを作ってみようかと思っています。
列挙自体については目処がついたような感じなんですが、タイトルバー文字列の取得で引っかかってしまいました。
XGetWMNameかXGetTextPropertyで取得できるのかと思ったのですが、「Firefox」や「Eclipse」等となります。
タイトルバーに表示されている通りの文字列を取得するにはどうすればよいのでしょうか?
オフライン
C言語はほとんど読み書きできない人なので、雰囲気だけからの判断ですが、
apt-get source x11-utils
して、中に入っている、xwininfoの、xwininfo.cのDisplay_Window_Idあたりを読むと目的が達成できそうな感じです。
オフライン
x11-utilsのxwininfo.cを参考にし、XmbTextPropertyToTextListで取得出来ました。
XmbTextPropertyToTextListも試してはいたんですが、setlocaleをしていなかった為
その時は正しく表示できていなかったようです。
おかげさまで解決出来ました。ありがとうございます。
オフライン