スポンサーリンク

T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« 本体の開発を開始 | トップページ | 原因はアトムにあった »

ウインドウの列挙に苦労する

今は、Mirror-DTC for Ubuntu Ver1.4.1の開発中で、今回の開発では、Windows版に続いてトランスポーターを追加する予定なので、今日は、その関連開発を行っていたのだが、とりあえず、デスクトップにあるウインドウの列挙機能の実装に苦労している。

実は、Windows版でも、ウインドウを列挙する処理コードの作成には苦労した。

実際には、ウインドウの列挙自体は簡単に行えたのだが、列挙されたウインドウには、普通じゃないモノも多かったので、それらの中から、ユーザーに選択対象として提示するウインドウを選択するのに苦労した。

で、Ubuntu版でも、この辺の事情は同じで、とりあえず、ウインドウの列挙自体は簡単に行えているのだが、それらの中には、やはり、実際にはデスクトップ上には見えていないウインドウが山のようにあったりする訳だ。

具体的には、サイズが1x1のウインドウなんかが山のようにあったりするのだが、まあ、これらについては、サイズを調査してみれば対象外とするのは簡単だ。

また、X-Windowのウインドウというのは、マッピングされていない場合もあり、この様なウインドウは見えないので、やはり、こういったウインドウも、対象外とするのは簡単だ。

問題は、上記の様にして残ったウインドウの中には、ウインドウのタイトルを抽出できるモノが少ない、という事だ。

つまり、Ubuntu版では、ルートウインドウの子ウインドウだけをチェックしていると、実際にデスクトップに見えているウインドウを抽出できている感じにはならないので、その子ウインドウも列挙して確認する必要がある。

そうやって、トップレベルウインドウの子ウインドウまでチェックすれば、実際にデスクトップに見えているウインドウのタイトルなんかも抽出できるので、何とかなるか、という感じにはなっているのだが、まだ、最小化されたウインドウも、普通に見えているウインドウと同じ扱いになっている。

つまり、まだ、最小化されている旨のウインドウのステータスを取り出す事ができていないのだが、ネットを見ていると、そういった事も可能、という感じにはなっているのだが、その通りにやろうとしても、出来ない、というのが実情だ。

と、言うことで、まだ、ウインドウの列挙処理は完成していないのだが、何とか、明日には、完成させたい所だ。

ちなみに、ウインドウの列挙関連の処理については、最初から、ネットの書込みを見ていても、全く、埒が明かなかった。

なので、ウインドウの列挙が行えるxwininfoというツールがあったので、そのツールのソースコードをダウンロードして、処理コードを確認した。

その結果としては、至って、単純で、こんな簡単な事がネットを見ていても全く判らないのはどうした事か? と、思ったりもした。

まあ、作者的にも、このソフトのソースコードを見なければ、関連しそうなX-Window関連の関数名は調べがついても、その具体的な使い方は判らなかった訳なので、人のことは言えないのだが・・・

« 本体の開発を開始 | トップページ | 原因はアトムにあった »

2019年8月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

広告

プライバシーポリシー

  • 当サイトでは、第三者配信による広告(Google Adsense)サービスを利用しています。

    Google を含む第三者配信事業者は、Cookie を使用して、ユーザーのウェブサイトでの閲覧履歴に基づく広告を配信します。 Google 広告 Cookie を使用することにより、Google や Google のパートナーは当サイトや他のサイトへのアクセス情報に基づく広告をユーザーに表示できます。

    収集された情報がGoogleによってどの様に使用されるか、収集される情報をユーザーが管理する方法については、以下のリンクを参照下さい。

    ポリシーと規約 - Google