2012-03-22 6 views
1

私が開発したウィンドウマネージャの一種で動作するウィンドウの内容を取得するのにXComposite拡張を使用しています。私は多くの場合、XCompositeNameWindowPixmapで作成されたpixmapを使用してウィンドウの内容を取得しようとすると、それがマップされてリダイレクトされた直後にpixmapからガベージイメージを取得することがわかりました。ちょっと後に同じ呼び出しが完全に有効なウィンドウのイメージを与えます。xcomposite pixmapのガベージイメージ

私が想定しているのは、最初にピクスマップにデータを入力するまでに時間がかかることです。残念ながら、私は正しいイメージを得るためにどれだけ待つ必要があるかを数量化することはできません。

合成されたpixmapを使用する準備ができているかどうかを判断する方法はありますか?または、この奇妙な効果を引き起こしている他のものがありますか?

答えて

2

あなたが経験していることは、ウィンドウをリダイレクトした後に、リダイレクト直後に最初に使用できなかったウィンドウの内容をプログラムで再描画する必要があることです。

ダメージ拡張がステージに入る場所です。これにより、クライアントは他のクライアントにウィンドウの内容が更新されたことを知らせることができます。