こんにちは、

Ruby/Gtkで、ちょっとした test programを書くときとかに良く思うのですが、

w = Gtk::Window.new(Gtk::WINDOW_TOPLEVEL)

と書くより

w = Gtk::Window.new

とだけ書きたいな〜と思うのですがどうでしょう? 小さい test programだと
top levelの windowしかなかったりするんですけど、みなさんどうですか?

いちおう、patchです。0.22にあたるはずです。

Index: rbgtkwindow.c
===================================================================
RCS file: /home/cvsroot/ruby/ext/gtk/src/rbgtkwindow.c,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 rbgtkwindow.c
--- rbgtkwindow.c	1999/11/17 15:14:23	1.1.1.1
+++ rbgtkwindow.c	1999/11/19 20:53:49
@@ -4,10 +4,20 @@
  * Window
  */
 static VALUE
-gwin_initialize(self, type)
-    VALUE self, type;
-{
-    set_widget(self, gtk_window_new(NUM2INT(type)));
+gwin_initialize(argc, argv, self)
+    int argc;
+    VALUE *argv;
+{
+    VALUE type;
+    GtkWidget *widget;
+
+    if (rb_scan_args(argc, argv, "01", &type) == 1) {
+	widget = gtk_window_new(NUM2INT(type));
+    } else {
+	widget = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+    }
+
+    set_widget(self, widget);
     return Qnil;
 }
 
@@ -123,7 +133,7 @@
     rb_define_const(gWindow, "SIGNAL_MOVE_RESIZE", rb_str_new2("move_resize"));
     rb_define_const(gWindow, "SIGNAL_SET_FOCUS", rb_str_new2("set_focus"));
 
-    rb_define_method(gWindow, "initialize", gwin_initialize, 1);
+    rb_define_method(gWindow, "initialize", gwin_initialize, -1);
     rb_define_method(gWindow, "set_title", gwin_set_title, 1);
     rb_define_method(gWindow, "set_policy", gwin_set_policy, 3);
     rb_define_method(gWindow, "set_wmclass", gwin_set_wmclass, 2);
--
         yashi