require 'tk' TkButton.new(nil, 'text'=>'new window', 'command'=>proc{ new_window }).pack def new_window w = TkToplevel.new TkLabel.new(w, 'text'=>'new window', 'padx'=>10, 'pady'=>10).pack TkButton.new(w, 'text'=>'dismiss', 'command'=>proc{ w.destroy }).pack end Tk.mainloop