2017年7月27日木曜日

WindowManagerの作り方

wOCEの前身であるRWMはWMとして書かれたが途中でWMではなくディスプレイマネージャであることに気付いて方針転換した関係上、おそらくwOCEではもう使わない情報だろうが本当に探すのが大変なのでWMの作り方へのリンクをメモしておく。

現在本当に探しているのは「窓を最小化するときには何をすべきなのか」なのだが、またこの情報がない。すぐに出てくるXIconifyWindowはWMに対してアイコン化するというメッセージを送るだけなので実際の処理はWMがする。WMの好きにやっていいってことなんだろうけど。

そんなもんが必要なのはXephyrの窓を表示しておいても邪魔なだけというのが理由。どのみちwODMの画面が上になるのだが無意味に表示させてオーバーラップの処理しても仕方がないので。

だがXの処理では表示させない窓はUnmapすることになってて、しかしUnmapすると中身が一切合切なくなってしまうので使えないし、窓がIconizeされるときにはUnmapされない。なので窓がIconizeされる時に何してるのか調べる必要があるというわけ。


「アイコナイズした時の座標」みたいなXリソースがあったのでおそらくこれを使うのだろう。値が非常に大きいので要は最小化した時は画面外に移動しているようだ...結局これかぁ...。

0 件のコメント:

コメントを投稿

引っ越すことにした。

引っ越し先。 見えるかな。