Memory 16MB は確かにキツいな。
だが、上のgtkのサンプルプログラムの常駐メモリは2.7MB程度
だったから(NetBSD/i386で測定)、全く使えないほど遅くはない
だろう。gtk1 のバイナリパッケージなら、展開してもディスク
使用量は6MBいかないようだし。

Motif も比べてみたが、gtk よりむしろメモリを必要とするようだ。

どうしてもXlibでのやり方を知りたかったら、gtkのソースを読んでみたら?