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」で指定できるというわけだ。

[]
[EOF]