size と depth と geometry
情報取得
画面サイズと色深度は xdpyinfo で得られる。
(Libretto L2 の例) % xdpyinfo name of display: localhost:10.0 : number of screens: 1 screen #0: print screen: no dimensions: 1280x600 pixels (433x203 millimeters) ← 解像度 resolution: 75x75 dots per inch depths (7): 16, 1, 4, 8, 15, 24, 32 root window id: 0x37 depth of root window: 16 planes ← 色深度 :
geometory
geometry によって位置を指定する場合、 左上を原点とする数え方と 右下を原点とする数え方の 両方をケースバイケースで使うことになる。
+0+0 → x 増加 +xsize+0
+----------------------------+
| |
↓ | |
y | |
増 | |
加 | |
| |
+----------------------------+
+0+ysize +xsize+ysize
-xsize-ysize x 減少 ← -0-ysize
+----------------------------+
| |
減 | |
少 | |
y | |
↑ | |
| |
+----------------------------+
-xsize-0 -0-0
たとえば「時計を右下に表示したい」と考える時、 「画面解像度が 1024x768 で時計の大きさが 128x128 だから、 1024 - 128 = 896 と 768 - 128 = 640 というわけで、+896+640 の位置だな」 ではあまりにも回りくどすぎる。 「-0-0 の位置だな」で用を済ますほうがシンプル、というわけである。
この指定方法は、x と y で別々にする (- 指定と + 指定を混在させる) こともできる。 例えば、「右上」隅なら「-0+0」で指定できるというわけだ。