稲地です。

----- Original Message -----
送信者 : <kkubota / 18software.co.jp>
宛先 : ruby mailing list <ruby-list / netlab.co.jp>
送信日時 : 1999年8月10日 17:41
件名 : [ruby-list:16036] ruby/gtk でウィンドウを中央に表示したい


>
> こんにちは、くぼたです。
>
> ruby-1.2.6
> ruby/gtk-0.20
> を使用しています。
>
> ウィンドウを表示する場合に、必ず画面中央に表示させたい
> のですが、やり方が分からず困っています。
> たぶん Gtk::Windowクラスのpositionかset_positionで実現で
> きるのだろうと確信し、以下のようにしましたが思うように動作
> してくれませんでした。
>
> require 'gtk'
> m_win = Gtk::Window.new(Gtk::WINDOW_TOPLEVEL)
> m_win.position(Gtk::WIN_POS_CENTER)
> m_win.show
> Gtk.main()
>
> 根本的に間違っているような気がしますが、どなたかご存知の方
> ご指導お願いします。

上記コードでよいと思うのですが、実際試してみると、
すこし右下にずれて表示されているようなので、
ちょっと gtk+-1.2.3 のソースをのぞいてみました。

デフォルトの状態では Gtk::Window のサイズが内部的に x=-1, y=-1 に
設定されているようです。

Gtk::Widgwt に widget を add するなり、set_default_size, set_usize で
サイズを明示すると、内部的にもウィンドウのサイズが設定されて
中央に表示されるようになります。

---
稲地 稔 (e-mail: inachi / earth.interq.or.jp)