# Module GWindow

    module GWindow: sig .. end

Windows

Windows
Windows

### GtkWindow

    class window_skel : [> Gtk.window ] Gtk.obj -> object .. end

    class window : [> Gtk.window ] Gtk.obj -> object .. end

Toplevel widget which can contain other widgets

    val window : ?kind:Gtk.Tags.window_type ->
           ?title:string ->
           ?allow_grow:bool ->
           ?allow_shrink:bool ->
           ?decorated:bool ->
           ?deletable:bool ->
           ?focus_on_map:bool ->
           ?icon:GdkPixbuf.pixbuf ->
           ?icon_name:string ->
           ?modal:bool ->
           ?position:Gtk.Tags.window_position ->
           ?resizable:bool ->
           ?screen:Gdk.screen ->
           ?type_hint:Gdk.Tags.window_type_hint ->
           ?urgency_hint:bool ->
           ?wm_name:string ->
           ?wm_class:string ->
           ?border_width:int ->
           ?width:int -> ?height:int -> ?show:bool -> unit -> window

`kind` : default value is ``TOPLEVEL`
`allow_grow` : default value is `true`
`allow_shrink` : default value is `false`
`modal` : default value is `false`
`position` : default value is ``NONE`
`resizable` : default value is `true`
`type_hint` : default value is ``NORMAL`

    val toplevel : #GObj.widget -> window option

return the toplevel window of this widget, if existing

### GtkDialog

    class ['a] dialog_signals : [> Gtk.dialog ] Gtk.obj -> decode:(int -> 'a) -> object .. end

    class [[> `DELETE_EVENT ]] dialog_skel : [> Gtk.dialog ] Gtk.obj -> object .. end

    class [[> `DELETE_EVENT ]] dialog_ext : [> Gtk.dialog ] Gtk.obj -> object .. end

Create popup windows

    class [[> `DELETE_EVENT ]] dialog : [> Gtk.dialog ] Gtk.obj -> object .. end

Create popup windows

    val dialog : ?no_separator:bool ->
           ?parent:#window_skel ->
           ?destroy_with_parent:bool ->
           ?title:string ->
           ?allow_grow:bool ->
           ?allow_shrink:bool ->
           ?decorated:bool ->
           ?deletable:bool ->
           ?focus_on_map:bool ->
           ?icon:GdkPixbuf.pixbuf ->
           ?icon_name:string ->
           ?modal:bool ->
           ?position:Gtk.Tags.window_position ->
           ?resizable:bool ->
           ?screen:Gdk.screen ->
           ?type_hint:Gdk.Tags.window_type_hint ->
           ?urgency_hint:bool ->
           ?wm_name:string ->
           ?wm_class:string ->
           ?border_width:int ->
           ?width:int ->
           ?height:int -> ?show:bool -> unit -> [> `DELETE_EVENT ] dialog

`no_separator` : default value is `false`
`destroy_with_parent` : default value is `false`

    type any_response = [ `ACCEPT
           | `APPLY
           | `CANCEL
           | `CLOSE
           | `DELETE_EVENT
           | `HELP
           | `NO
           | `NONE
           | `OK
           | `OTHER of int
           | `REJECT
           | `YES ]

Variation for safe typing

    class dialog_any : [> Gtk.dialog ] Gtk.obj -> [any_response] dialog

### GtkMessageDialog

    type 'a buttons

    module Buttons: sig .. end

    class type [[> `DELETE_EVENT ]] message_dialog = object .. end

Convenient message window

    val message_dialog : ?message:string ->
           ?use_markup:bool ->
           message_type:Gtk.Tags.message_type ->
           buttons:([> `DELETE_EVENT ] as 'a) buttons ->
           ?parent:#window_skel ->
           ?destroy_with_parent:bool ->
           ?title:string ->
           ?allow_grow:bool ->
           ?allow_shrink:bool ->
           ?decorated:bool ->
           ?deletable:bool ->
           ?focus_on_map:bool ->
           ?icon:GdkPixbuf.pixbuf ->
           ?icon_name:string ->
           ?modal:bool ->
           ?position:Gtk.Tags.window_position ->
           ?resizable:bool ->
           ?screen:Gdk.screen ->
           ?type_hint:Gdk.Tags.window_type_hint ->
           ?urgency_hint:bool ->
           ?wm_name:string ->
           ?wm_class:string ->
           ?border_width:int ->
           ?width:int -> ?height:int -> ?show:bool -> unit -> 'a message_dialog

### GtkAboutDialog

    class about_dialog : [> Gtk.about_dialog ] Gtk.obj -> object .. end

    val about_dialog : ?name:string ->
           ?authors:string list ->
           ?comments:string ->
           ?copyright:string ->
           ?license:string ->
           ?logo:GdkPixbuf.pixbuf ->
           ?logo_icon_name:string ->
           ?translator_credits:string ->
           ?version:string ->
           ?website:string ->
           ?website_label:string ->
           ?wrap_license:bool ->
           ?parent:#window_skel ->
           ?destroy_with_parent:bool ->
           ?title:string ->
           ?allow_grow:bool ->
           ?allow_shrink:bool ->
           ?decorated:bool ->
           ?deletable:bool ->
           ?focus_on_map:bool ->
           ?icon:GdkPixbuf.pixbuf ->
           ?icon_name:string ->
           ?modal:bool ->
           ?position:Gtk.Tags.window_position ->
           ?resizable:bool ->
           ?screen:Gdk.screen ->
           ?type_hint:Gdk.Tags.window_type_hint ->
           ?urgency_hint:bool ->
           ?wm_name:string ->
           ?wm_class:string ->
           ?border_width:int ->
           ?width:int -> ?height:int -> ?show:bool -> unit -> about_dialog

Display information about an application.

In GTK+ 2.6.x and 2.8.x, a default handler is already connected to the `response` signal. It simply hides the dialog. This is no longer the case since GTK+ 2.10.x though. You could use it like this:

    let about_dialog = ref (fun () -> raise Not_found)
    let show_dialog () =
      try !about_dialog ()
      with Not_found ->
        let dialog = GWindow.about_dialog ~name:"..." (* etc. *) () in
        about_dialog := dialog#present ;
        dialog#show ()

Since GTK 2.6

### File Chooser Dialog

    class ['a] file_chooser_dialog_signals : [> `bin | `container | `dialog | `filechooser | `gtk | `widget | `window ]
           Gtk.obj -> decode:(int -> 'a) -> object .. end

    class [[> `DELETE_EVENT ]] file_chooser_dialog : [> `bin | `container | `dialog | `filechooser | `gtk | `widget | `window ]
           Gtk.obj -> object .. end

    val file_chooser_dialog : action:GtkEnums.file_chooser_action ->
           ?backend:string ->
           ?parent:#window_skel ->
           ?destroy_with_parent:bool ->
           ?title:string ->
           ?allow_grow:bool ->
           ?allow_shrink:bool ->
           ?decorated:bool ->
           ?deletable:bool ->
           ?focus_on_map:bool ->
           ?icon:GdkPixbuf.pixbuf ->
           ?icon_name:string ->
           ?modal:bool ->
           ?position:Gtk.Tags.window_position ->
           ?resizable:bool ->
           ?screen:Gdk.screen ->
           ?type_hint:Gdk.Tags.window_type_hint ->
           ?urgency_hint:bool ->
           ?wm_name:string ->
           ?wm_class:string ->
           ?border_width:int ->
           ?width:int ->
           ?height:int ->
           ?show:bool -> unit -> [> `DELETE_EVENT ] file_chooser_dialog

Since GTK 2.4

### Selection Dialogs

    class color_selection_dialog : Gtk.color_selection_dialog Gtk.obj -> object .. end

    val color_selection_dialog : ?title:string ->
           ?parent:#window_skel ->
           ?destroy_with_parent:bool ->
           ?allow_grow:bool ->
           ?allow_shrink:bool ->
           ?decorated:bool ->
           ?deletable:bool ->
           ?focus_on_map:bool ->
           ?icon:GdkPixbuf.pixbuf ->
           ?icon_name:string ->
           ?modal:bool ->
           ?position:Gtk.Tags.window_position ->
           ?screen:Gdk.screen ->
           ?type_hint:Gdk.Tags.window_type_hint ->
           ?urgency_hint:bool ->
           ?wm_name:string ->
           ?wm_class:string ->
           ?border_width:int ->
           ?width:int ->
           ?height:int -> ?show:bool -> unit -> color_selection_dialog

    class file_selection : Gtk.file_selection Gtk.obj -> object .. end

    val file_selection : ?title:string ->
           ?show_fileops:bool ->
           ?filename:string ->
           ?select_multiple:bool ->
           ?parent:#window_skel ->
           ?destroy_with_parent:bool ->
           ?allow_grow:bool ->
           ?allow_shrink:bool ->
           ?decorated:bool ->
           ?deletable:bool ->
           ?focus_on_map:bool ->
           ?icon:GdkPixbuf.pixbuf ->
           ?icon_name:string ->
           ?modal:bool ->
           ?position:Gtk.Tags.window_position ->
           ?resizable:bool ->
           ?screen:Gdk.screen ->
           ?type_hint:Gdk.Tags.window_type_hint ->
           ?urgency_hint:bool ->
           ?wm_name:string ->
           ?wm_class:string ->
           ?border_width:int ->
           ?width:int -> ?height:int -> ?show:bool -> unit -> file_selection

    class font_selection_dialog : Gtk.font_selection_dialog Gtk.obj -> object .. end

    val font_selection_dialog : ?title:string ->
           ?parent:#window_skel ->
           ?destroy_with_parent:bool ->
           ?allow_grow:bool ->
           ?allow_shrink:bool ->
           ?decorated:bool ->
           ?deletable:bool ->
           ?focus_on_map:bool ->
           ?icon:GdkPixbuf.pixbuf ->
           ?icon_name:string ->
           ?modal:bool ->
           ?position:Gtk.Tags.window_position ->
           ?resizable:bool ->
           ?screen:Gdk.screen ->
           ?type_hint:Gdk.Tags.window_type_hint ->
           ?urgency_hint:bool ->
           ?wm_name:string ->
           ?wm_class:string ->
           ?border_width:int ->
           ?width:int ->
           ?height:int -> ?show:bool -> unit -> font_selection_dialog

### GtkPlug

    class plug_signals : [> Gtk.plug ] Gtk.obj -> object .. end

    class plug : Gtk.plug Gtk.obj -> object .. end

Toplevel for embedding into other processes

    val plug : window:Gdk.native_window ->
           ?border_width:int ->
           ?width:int -> ?height:int -> ?show:bool -> unit -> plug

### GtkSocket

    class socket_signals : [> Gtk.socket ] Gtk.obj -> object .. end

    class socket : Gtk.socket Gtk.obj -> object .. end

Container for widgets from other processes

    val socket : ?border_width:int ->
           ?width:int ->
           ?height:int ->
           ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> socket