2012-01-22 15 views
4

アプリをフルスクリーンにすることができましたが、の境界線が表示されているウィンドウモードに戻ることはできません。私はフルスクリーンの設定をクリアするためにXDeletePropertyを呼び出そうとしましたが、動作しないようです。XLib:フルスクリーンにしたら、ウィンドウモードに戻すにはどうしたらいいですか?

+0

どのように正確にフルスクリーンにしましたか?フルスクリーンはXlibの範囲外であることに注意してください。おそらくNETWM/EWMHやハックを使用しています。 – ninjalj

答えて

2

_NET_WM_STATE http://standards.freedesktop.org/wm-spec/latest/ar01s05.html#id2569140を使用している場合は、ウィンドウをマッピングする前にプロパティを設定しますが、ウィンドウをマッピングした後にクライアントメッセージを送信し、ウィンドウマネージャがプロパティを更新します。 "マップされたウィンドウの状態を変更するには、クライアントがルートウィンドウに_NET_WM_STATEクライアントメッセージを送信しなければなりません..."というEWMHの部分を読んでください。

これは、一度ウィンドウマネージャを配置するとその状態を維持する責任がある場合、アプリとWMの両方がプロパティを直接変更することができれば競争が起こります。

コード例のGTK +などのツールキットのソースコードを参照してください。

関連する問題