もりきゅうです.

Ruby-Xlib の新版を置きました.
http://www.users.yun.co.jp/~moriq/ruby/ruby-xlib-0.5.tar.gz


「VALUE 型を含む構造体を Data Struct として使うべきでない」
ということでしたので,この点を見直しました.

リンクトリストは free() 関係のために残しました.
--
Xlib の場合,Display を free() するときには必ず Display を
free() する前に,この Display 上に作った Window や Graphic-
Context を free() しなくちゃいけない.なぜなら
  XDestroyWindow(xdisplay, xwindow);
  XFreeGC(xdisplay, gc);
という関数が示すように,Display がないと Window や Graphic-
Context を free() できないから.
--

VALUE 型のデータを参照するときには
  rb_iv_set(), rb_iv_get(), rb_define_attr()
でインスタンス変数を使うようにしました.

ほかにも変更点がいろいろあります.
そろそろ仕様も固まるでしょう.
--
Ruby-Xlib 0.4 to 0.5
GUI widget rename:
  'text_area' to 'text' (GTK like :)

event method rename:
  'clicked' to 'button_press'
  'clickup' to 'button_release'
  'pressed' to 'key_press'
  'pressup' to 'key_release'
  'pointed' to 'motion_notify'

Window::show, no longer wait to expose.
--
イベントのメソッド名が変わったのは,いわゆる重大な非互換です.
X.h や Xlib.h に合わせました.clicked は RGUI 行き.^^;

----
Kazuhiro Yoshida  moriq / ma2.seikyou.ne.jp