`sig
module Main :
sig
val init : ?setlocale:bool -> unit -> string
val main : unit -> unit
val quit : unit -> unit
val version : int * int * int
end
val init : ?setlocale:bool -> unit -> string
val main : unit -> unit
val quit : unit -> unit
val selection : GData.clipboard
val clipboard : GData.clipboard
module Grab :
sig
val add : #GObj.widget -> unit
val remove : #GObj.widget -> unit
val get_current : unit -> GObj.widget
end
module Event :
sig
val get_current_time : unit -> int32
val get_current : unit -> GdkEvent.any
val get_widget : 'a Gdk.event -> Gtk.widget Gtk.obj
val propagate : [> `widget ] Gtk.obj -> 'a Gdk.event -> unit
end
module Rc : sig val add_default_file : string -> unit end
module Timeout :
sig
type id = Glib.Timeout.id
val add : ms:int -> callback:(unit -> bool) -> GMain.Timeout.id
val remove : GMain.Timeout.id -> unit
end
module Idle :
sig
type id = Glib.Idle.id
val add : ?prio:int -> (unit -> bool) -> GMain.Idle.id
val remove : GMain.Idle.id -> unit
end
module Io :
sig
type channel = Glib.Io.channel
type condition = [ `ERR | `HUP | `IN | `NVAL | `OUT | `PRI ]
type id
val channel_of_descr : Unix.file_descr -> GMain.Io.channel
val add_watch :
cond:GMain.Io.condition list ->
callback:(GMain.Io.condition list -> bool) ->
?prio:int -> GMain.Io.channel -> GMain.Io.id
val remove : GMain.Io.id -> unit
val read : GMain.Io.channel -> buf:string -> pos:int -> len:int -> int
val read_chars :
GMain.Io.channel -> buf:string -> pos:int -> len:int -> int
end
module Gc_custom :
sig val set_speed : int -> unit val get_speed : unit -> int end
end`