Login
Immutable PageDiscussionInfoAttachments
Diff for "clear/wm_devel/2013-02-10"

MMA
Differences between revisions 1 and 2
Revision 1 as of 2013-02-10 16:20:29
Size: 441
Editor: clear
Comment:
Revision 2 as of 2013-02-10 16:45:58
Size: 1271
Editor: clear
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
ウィンドウの装飾を行う際その位置をどのように調整すべきか調べていたら、クライアントのサイズヒントを考慮しない訳には行かないことが分かったのでまとめておく。
 * サイズヒント: クライアントがWMに対して特定の方法でウィンドウを配置するよう要求するためのプロパティ
Xにおいてウィンドウの配置は全てWMが取り仕切ることになっているが、クライアント側から配置方法について注文したい場合がある(例:固定サイズウィンドウ)。このようなときにサイズヒントが用いられる。

WMがサイズヒントを無視した場合考えられる弊害:
 * 固定サイズのはずのウィンドウがリサイズできてしまう
  * UI崩壊
 * アスペクト比がクライアントの意図しない値になる
  * 動画再生用のウィンドウとかだと困る
 * ウィンドウ位置が少しおかしくなる

サイズヒントに関連する資料:
 * ICCCM 4.1.2.3
  * サイズヒントの実体であるWM_NORMAL_HINTSの説明
 * EWMH Implementation NotesのWindow Geometryの項
  * ICCCMがあまりにも分かりにくいので補足がなされた
 * Xlib - C Language Interface 3.2.3 Gravity Attributes
  * gravityの意味
 * EWMH Other Propertiesの`_NET_WM_FULL_PLACEMENT`
  * WMがクライアントによる座標指定を制限することをクライアントに対して示す
  * WMが十分な配置能力を備えていることを明示する効果がある

サイズヒントについて

Xにおいてウィンドウの配置は全てWMが取り仕切ることになっているが、クライアント側から配置方法について注文したい場合がある(例:固定サイズウィンドウ)。このようなときにサイズヒントが用いられる。

WMがサイズヒントを無視した場合考えられる弊害:

  • 固定サイズのはずのウィンドウがリサイズできてしまう
    • UI崩壊
  • アスペクト比がクライアントの意図しない値になる
    • 動画再生用のウィンドウとかだと困る
  • ウィンドウ位置が少しおかしくなる

サイズヒントに関連する資料:

  • ICCCM 4.1.2.3
    • サイズヒントの実体であるWM_NORMAL_HINTSの説明
  • EWMH Implementation NotesのWindow Geometryの項
    • ICCCMがあまりにも分かりにくいので補足がなされた
  • Xlib - C Language Interface 3.2.3 Gravity Attributes
    • gravityの意味
  • EWMH Other Propertiesの_NET_WM_FULL_PLACEMENT

    • WMがクライアントによる座標指定を制限することをクライアントに対して示す
    • WMが十分な配置能力を備えていることを明示する効果がある

(後で追記する)

clear/wm_devel/2013-02-10 (last edited 2013-02-28 15:29:20 by clear)