Typo.
[cl-gtk2.git] / doc / gtk.objects.texi
index e9da623..c9a8fa3 100644 (file)
@@ -43,7 +43,6 @@
 * text-tag-table::
 * toggle-action::
 * tooltip::
-* tooltips::
 * tree-lisp-store::
 * tree-model-filter::
 * tree-model-sort::
 @Class accel-group
 Superclass: @ref{g-object}
 
+An @ref{accel-group} represents a group of keyboard accelerators, typically attached to a toplevel @ref{gtk-window} (with gtk_window_add_accel_group()). Usually you won't need to create an @ref{accel-group} directly.
+
+Note that accelerators are different from mnemonics. Accelerators are shortcuts for activating a menu item; they appear alongside the menu item they're a shortcut for. For example "Ctrl+Q" might appear alongside the "Quit" menu item. Mnemonics are shortcuts for GUI elements such as text entries or buttons; they appear as underlined characters. See @ref{slot.label.mnemonic-widget,label-mnemonic-widget}. Menu items can have both accelerators and mnemonics, of course.
+
 Slots:
 @itemize
 @item @anchor{slot.accel-group.is-locked}is-locked. Type: @code{boolean}. Accessor: @anchor{fn.accel-group-is-locked}@code{accel-group-is-locked}. Read-only.
+
+Is the accel group locked.
+
 @item @anchor{slot.accel-group.modifier-mask}modifier-mask. Type: @ref{gdk-modifier-type}. Accessor: @anchor{fn.accel-group-modifier-mask}@code{accel-group-modifier-mask}. Read-only.
+
+Modifier Mask.
+
+Default value: @code{'(:shift-mask control-mask :mod1-mask :super-mask :hyper-mask :meta-mask)}
+
 @end itemize
 
 
 Signals:
 @itemize
-@item @anchor{signal.accel-group.accel-activate}"accel-activate". Signature: (instance @ref{accel-group}), (arg-1 @ref{g-object}), (arg-2 @code{integer}), (arg-3 @ref{gdk-modifier-type}) @result{} @code{boolean}. Options: detailed.
-@item @anchor{signal.accel-group.accel-changed}"accel-changed". Signature: (instance @ref{accel-group}), (arg-1 @code{integer}), (arg-2 @ref{gdk-modifier-type}), (arg-3 @code{GClosure}) @result{} void. Options: run-first, detailed.
+@item @anchor{signal.accel-group.accel-activate}"accel-activate". Signature: (instance @ref{accel-group}), (acceleratable @ref{g-object}), (keyval @code{integer}), (modifier @ref{gdk-modifier-type}) @result{} @code{boolean}. Options: detailed.
+
+The @code{accel-activate} signal is an implementation detail of @ref{accel-group} and not meant to be used by applications.
+
+@table @var
+@item @var{acceleratable}
+
+the object on which the accelerator was activated
+@item @var{keyval}
+
+the accelerator keyval
+@item @var{modifier}
+
+the modifier combination of the accelerator
+@item Return value
+
+True if the accelerator was activated
+@end table
+
+@item @anchor{signal.accel-group.accel-changed}"accel-changed". Signature: (instance @ref{accel-group}), (keyval @code{integer}), (modifier @ref{gdk-modifier-type}), (closure @code{GClosure}) @result{} void. Options: run-first, detailed.
+
+The @code{accel-changed} signal is emitted when a @code{GtkAccelGroupEntry} is added to or removed from the accel group.
+
+Widgets like @ref{accel-label} which display an associated accelerator should connect to this signal, and rebuild their visual representation if the @var{accel_closure} is theirs.
+
+@table @var
+@item @var{keyval}
+the accelerator keyval
+@item @var{modifier}
+the modifier combination of the accelerator
+@item @var{accel_closure}
+the GClosure of the accelerator
+@end table
 @end itemize
 
 
@@ -81,6 +123,8 @@ Signals:
 @Class accel-map
 Superclass: @ref{g-object}
 
+
+
 Slots:
 @itemize
 @end itemize
@@ -88,6 +132,7 @@ Slots:
 
 Signals:
 @itemize
+@item @anchor{signal.accel-map.changed}"changed". Signature: (instance @ref{accel-map}), (arg-1 @code{string}), (arg-2 @code{integer}), (arg-3 @ref{gdk-modifier-type}) @result{} void. Options: run-last, detailed.
 @end itemize
 
 
@@ -100,31 +145,123 @@ Superclass: @ref{g-object}
 
 Subclasses: @ref{recent-action} @ref{toggle-action}
 
+Actions represent operations that the user can be perform, along with some information how it should be presented in the interface. Each action provides methods to create icons, menu items and toolbar items representing itself.
+
+As well as the callback that is called when the action gets activated, the following also gets associated with the action:
+@itemize
+@item a name (not translated, for path lookup)
+@item a label (translated, for display)
+@item an accelerator
+@item whether label indicates a stock id
+@item a tooltip (optional, translated)
+@item a toolbar label (optional, shorter than label)
+@end itemize
+The action will also have some state information:
+@itemize
+@item visible (shown/hidden)
+@item sensitive (enabled/disabled)
+@end itemize
+Apart from regular actions, there are @ref{toggle-action}s, which can be toggled between two states and @ref{radio-action}s, of which only one in a group can be in the "active" state. Other actions can be implemented as @ref{action} subclasses.
+
+Each action can have one or more proxy menu item, toolbar button or other proxy widgets. Proxies mirror the state of the action (text label, tooltip, icon, visible, sensitive, etc), and should change when the action's state changes. When the proxy is activated, it should activate its action.
+
 Slots:
 @itemize
-@item @anchor{slot.action.name}name. Type: @code{string}. Accessor: @anchor{fn.action-name}@code{action-name}.
+@item @anchor{slot.action.accel-group}accel-group. Type: @ref{g-object}. Accessor: @anchor{fn.action-accel-group}@code{action-accel-group}. Write-only.
+@item @anchor{slot.action.accel-path}accel-path. Type: @code{string}. Accessor: @anchor{fn.action-accel-path}@code{action-accel-path}.
+@item @anchor{slot.action.action-group}action-group. Type: @ref{action-group}. Accessor: @anchor{fn.action-action-group}@code{action-action-group}.
+
+The @ref{action-group} this @ref{action} is associated with, or @code{NIL} (for internal use).
+@item @anchor{slot.action.gicon}gicon. Type: @code{GIcon}. Accessor: @anchor{fn.action-gicon}@code{action-gicon}.
+
+The @code{GIcon} displayed in the @ref{action}.
+
+Note that the stock icon is preferred, if the @ref{slot.action.stock-id,action-stock-id} property holds the id of an existing stock icon.
+
+This is an appearance property and thus only applies if @ref{slot.activatable.use-action-appearance,activatable-use-action-appearance} is true.
+@item @anchor{slot.action.hide-if-empty}hide-if-empty. Type: @code{boolean}. Accessor: @anchor{fn.action-hide-if-empty}@code{action-hide-if-empty}.
+
+When TRUE, empty menu proxies for this action are hidden.
+
+Default value: TRUE
+@item @anchor{slot.action.icon-name}icon-name. Type: @code{string}. Accessor: @anchor{fn.action-icon-name}@code{action-icon-name}.
+
+The name of the icon from the icon theme.
+
+Note that the stock icon is preferred, if the @ref{slot.action.stock-id,action-stock-id} property holds the id of an existing stock icon, and the @code{GIcon} is preferred if the @ref{slot.action.gicon,action-gicon} property is set.
+
+This is an appearance property and thus only applies if @ref{slot.activatable.use-action-appearance,activatable-use-action-appearance} is TRUE.
+
+Default value: @code{NIL}
+@item @anchor{slot.action.is-important}is-important. Type: @code{boolean}. Accessor: @anchor{fn.action-is-important}@code{action-is-important}.
+
+Whether the action is considered important. When TRUE, toolitem proxies for this action show text in @ref{enum.toolbar-style.both-horiz,@code{:both-horiz}} mode.
+
+Default value: FALSE
 @item @anchor{slot.action.label}label. Type: @code{string}. Accessor: @anchor{fn.action-label}@code{action-label}.
+
+The label used for menu items and buttons that activate this action. If the label is NULL, GTK+ uses the stock label specified via the stock-id property.
+
+This is an appearance property and thus only applies if @ref{slot.activatable.use-action-appearance,activatable-use-action-appearance} is TRUE.
+
+Default value: NIL
+@item @anchor{slot.action.name}name. Type: @code{string}. Accessor: @anchor{fn.action-name}@code{action-name}.
+
+A unique name for the action.
+
+Default value: NIL
+@item @anchor{slot.action.sensitive}sensitive. Type: @code{boolean}. Accessor: @anchor{fn.action-sensitive}@code{action-sensitive}.
+
+Whether the action is enabled.
+
+Default value: TRUE
 @item @anchor{slot.action.short-label}short-label. Type: @code{string}. Accessor: @anchor{fn.action-short-label}@code{action-short-label}.
-@item @anchor{slot.action.tooltip}tooltip. Type: @code{string}. Accessor: @anchor{fn.action-tooltip}@code{action-tooltip}.
+
+A shorter label that may be used on toolbar buttons.
+
+This is an appearance property and thus only applies if @SlotRef{activatable,use-action-appearance} is TRUE.
+
+Default value: NIL
 @item @anchor{slot.action.stock-id}stock-id. Type: @code{string}. Accessor: @anchor{fn.action-stock-id}@code{action-stock-id}.
-@item @anchor{slot.action.icon-name}icon-name. Type: @code{string}. Accessor: @anchor{fn.action-icon-name}@code{action-icon-name}.
-@item @anchor{slot.action.gicon}gicon. Type: @code{GIcon}. Accessor: @anchor{fn.action-gicon}@code{action-gicon}.
+
+The stock icon displayed in widgets representing this action.
+
+This is an appearance property and thus only applies if @SlotRef{activatable,use-action-appearance} is TRUE.
+
+Default value: NIL
+@item @anchor{slot.action.tooltip}tooltip. Type: @code{string}. Accessor: @anchor{fn.action-tooltip}@code{action-tooltip}.
+
+A tooltip for this action.
+
+Default value: NIL
+@item @anchor{slot.action.visible}visible. Type: @code{boolean}. Accessor: @anchor{fn.action-visible}@code{action-visible}.
+
+Whether the action is visible.
+
+Default value: TRUE
 @item @anchor{slot.action.visible-horizontal}visible-horizontal. Type: @code{boolean}. Accessor: @anchor{fn.action-visible-horizontal}@code{action-visible-horizontal}.
-@item @anchor{slot.action.visible-vertical}visible-vertical. Type: @code{boolean}. Accessor: @anchor{fn.action-visible-vertical}@code{action-visible-vertical}.
+
+Whether the toolbar item is visible when the toolbar is in a horizontal orientation.
+
+Default value: TRUE
 @item @anchor{slot.action.visible-overflown}visible-overflown. Type: @code{boolean}. Accessor: @anchor{fn.action-visible-overflown}@code{action-visible-overflown}.
-@item @anchor{slot.action.is-important}is-important. Type: @code{boolean}. Accessor: @anchor{fn.action-is-important}@code{action-is-important}.
-@item @anchor{slot.action.hide-if-empty}hide-if-empty. Type: @code{boolean}. Accessor: @anchor{fn.action-hide-if-empty}@code{action-hide-if-empty}.
-@item @anchor{slot.action.sensitive}sensitive. Type: @code{boolean}. Accessor: @anchor{fn.action-sensitive}@code{action-sensitive}.
-@item @anchor{slot.action.visible}visible. Type: @code{boolean}. Accessor: @anchor{fn.action-visible}@code{action-visible}.
-@item @anchor{slot.action.action-group}action-group. Type: @ref{action-group}. Accessor: @anchor{fn.action-action-group}@code{action-action-group}.
-@item @anchor{slot.action.accel-path}accel-path. Type: @code{string}. Accessor: @anchor{fn.action-accel-path}@code{action-accel-path}.
-@item @anchor{slot.action.accel-group}accel-group. Type: @ref{g-object}. Accessor: @anchor{fn.action-accel-group}@code{action-accel-group}. Write-only.
+
+When TRUE, toolitem proxies for this action are represented in the toolbar overflow menu.
+
+Default value: TRUE
+@item @anchor{slot.action.visible-vertical}visible-vertical. Type: @code{boolean}. Accessor: @anchor{fn.action-visible-vertical}@code{action-visible-vertical}.
+
+Whether the toolbar item is visible when the toolbar is in a vertical orientation.
+
+Default value: TRUE
 @end itemize
 
 
 Signals:
 @itemize
 @item @anchor{signal.action.activate}"activate". Signature: (instance @ref{action}) @result{} void. Options: run-first, no-recurse.
+
+The @code{activate} signal is emitted when the action is activated.
 @end itemize
 
 
@@ -135,22 +272,65 @@ Signals:
 @Class action-group
 Superclass: @ref{g-object}
 
+Actions are organised into groups. An action group is essentially a map from names to @ref{action} objects.
+
+All actions that would make sense to use in a particular context should be in a single group. Multiple action groups may be used for a particular user interface. In fact, it is expected that most nontrivial applications will make use of multiple groups. For example, in an application that can edit multiple documents, one group holding global actions (e.g. quit, about, new), and one group per document holding actions that act on that document (eg. save, cut/copy/paste, etc). Each window's menus would be constructed from a combination of two action groups.
+
+Accelerators are handled by the GTK+ accelerator map. All actions are assigned an accelerator path (which normally has the form @code{<Actions>/group-name/action-name}) and a shortcut is associated with this accelerator path. All menuitems and toolitems take on this accelerator path. The GTK+ accelerator map code makes sure that the correct shortcut is displayed next to the menu item.
+
 Slots:
 @itemize
 @item @anchor{slot.action-group.name}name. Type: @code{string}. Accessor: @anchor{fn.action-group-name}@code{action-group-name}.
+
+A name for the action group.
+
+Default value: NIL
 @item @anchor{slot.action-group.sensitive}sensitive. Type: @code{boolean}. Accessor: @anchor{fn.action-group-sensitive}@code{action-group-sensitive}.
+
+Whether the action group is enabled.
+
+Default value: TRUE
+@item @anchor{slot.action-group.translate-function}translate-function. Type: @code{(function (string) string)}. Accessor: @anchor{fn.action-group-translate-function}@code{action-group-translate-function}. Write-only.
+
+Sets a function to be used for translating the @emph{label} and @emph{tooltip} of GtkActionGroupEntrys added by gtk_action_group_add_actions().
+
+If you're using gettext, it is enough to set the @SlotRef{action-group,translation-domain}.
+@item @anchor{slot.action-group.translation-domain}translation-domain. Type: @code{string}. Accessor: @anchor{fn.action-group-translation-domain}@code{action-group-translation-domain}. Write-only.
+
+Sets the translation domain and uses g_dgettext() for translating the @emph{label} and @emph{tooltip} of GtkActionEntrys added by gtk_action_group_add_actions().
 @item @anchor{slot.action-group.visible}visible. Type: @code{boolean}. Accessor: @anchor{fn.action-group-visible}@code{action-group-visible}.
-@item @anchor{slot.action-group.translate-function}translate-function. Type: ????. Accessor: @anchor{fn.action-group-translate-function}@code{action-group-translate-function}. Write-only.
-@item @anchor{slot.action-group.translation-domain}translation-domain. Type: ????. Accessor: @anchor{fn.action-group-translation-domain}@code{action-group-translation-domain}. Write-only.
+
+Whether the action group is visible.
+
+Default value: TRUE
 @end itemize
 
 
 Signals:
 @itemize
-@item @anchor{signal.action-group.connect-proxy}"connect-proxy". Signature: (instance @ref{action-group}), (arg-1 @ref{action}), (arg-2 @ref{widget}) @result{} void. Options: .
-@item @anchor{signal.action-group.disconnect-proxy}"disconnect-proxy". Signature: (instance @ref{action-group}), (arg-1 @ref{action}), (arg-2 @ref{widget}) @result{} void. Options: .
-@item @anchor{signal.action-group.pre-activate}"pre-activate". Signature: (instance @ref{action-group}), (arg-1 @ref{action}) @result{} void. Options: .
-@item @anchor{signal.action-group.post-activate}"post-activate". Signature: (instance @ref{action-group}), (arg-1 @ref{action}) @result{} void. Options: .
+@item @anchor{signal.action-group.connect-proxy}"connect-proxy". Signature: (instance @ref{action-group}), (action @ref{action}), (proxy @ref{widget}) @result{} void. Options: None.
+
+The @code{connect-proxy} signal is emitted after connecting a proxy to an action in the group. Note that the proxy may have been connected to a different action before.
+
+This is intended for simple customizations for which a custom action class would be too clumsy, e.g. showing tooltips for menuitems in the statusbar.
+
+@ref{ui-manager} proxies the signal and provides global notification just before any action is connected to a proxy, which is probably more convenient to use.
+
+@item @anchor{signal.action-group.disconnect-proxy}"disconnect-proxy". Signature: (instance @ref{action-group}), (action @ref{action}), (proxy @ref{widget}) @result{} void. Options: None.
+
+The @code{disconnect-proxy} signal is emitted after disconnecting a proxy from an action in the group.
+
+@ref{ui-manager} proxies the signal and provides global notification just before any action is connected to a proxy, which is probably more convenient to use.
+@item @anchor{signal.action-group.post-activate}"post-activate". Signature: (instance @ref{action-group}), (action @ref{action}) @result{} void. Options: None.
+
+The @code{post-activate} signal is emitted just after the action in the action_group is activated
+
+This is intended for @ref{ui-manager} to proxy the signal and provide global notification just after any action is activated.
+@item @anchor{signal.action-group.pre-activate}"pre-activate". Signature: (instance @ref{action-group}), (action @ref{action}) @result{} void. Options: None.
+
+The @code{pre-activate} signal is emitted just before the action in the action_group is activated
+
+This is intended for @ref{ui-manager} to proxy the signal and provide global notification just before any action is activated.
 @end itemize
 
 
@@ -161,60 +341,145 @@ Signals:
 @Class adjustment
 Superclass: @ref{gtk-object}
 
+The @ref{adjustment} object represents a value which has an associated lower and upper bound, together with step and page increments, and a page size. It is used within several GTK+ widgets, including @ref{spin-button}, @ref{viewport}, and @ref{range} (which is a base class for @ref{h-scrollbar}, @ref{v-scrollbar}, @ref{h-scale}, @ref{v-scale}).
+
+The @ref{adjustment} object does not update the value itself. Instead it is left up to the owner of the GtkAdjustment to control the value.
+
 Slots:
 @itemize
-@item @anchor{slot.adjustment.value}value. Type: @code{double-float}. Accessor: @anchor{fn.adjustment-value}@code{adjustment-value}.
 @item @anchor{slot.adjustment.lower}lower. Type: @code{double-float}. Accessor: @anchor{fn.adjustment-lower}@code{adjustment-lower}.
-@item @anchor{slot.adjustment.upper}upper. Type: @code{double-float}. Accessor: @anchor{fn.adjustment-upper}@code{adjustment-upper}.
-@item @anchor{slot.adjustment.step-increment}step-increment. Type: @code{double-float}. Accessor: @anchor{fn.adjustment-step-increment}@code{adjustment-step-increment}.
+
+The minimum value of the adjustment.
+
+Default value: 0
 @item @anchor{slot.adjustment.page-increment}page-increment. Type: @code{double-float}. Accessor: @anchor{fn.adjustment-page-increment}@code{adjustment-page-increment}.
+
+The page increment of the adjustment.
+
+Default value: 0
 @item @anchor{slot.adjustment.page-size}page-size. Type: @code{double-float}. Accessor: @anchor{fn.adjustment-page-size}@code{adjustment-page-size}.
-@end itemize
 
+The page size of the adjustment. Note that the page-size is irrelevant and should be set to zero if the adjustment is used for a simple scalar value, e.g. in a @ref{spin-button}.
 
-Signals:
-@itemize
-@item @anchor{signal.adjustment.changed}"changed". Signature: (instance @ref{adjustment}) @result{} void. Options: run-first, no-recurse.
-@item @anchor{signal.adjustment.value-changed}"value-changed". Signature: (instance @ref{adjustment}) @result{} void. Options: run-first, no-recurse.
-@end itemize
+Default value: 0
+@item @anchor{slot.adjustment.step-increment}step-increment. Type: @code{double-float}. Accessor: @anchor{fn.adjustment-step-increment}@code{adjustment-step-increment}.
 
+The step increment of the adjustment.
 
+Default value: 0
+@item @anchor{slot.adjustment.upper}upper. Type: @code{double-float}. Accessor: @anchor{fn.adjustment-upper}@code{adjustment-upper}.
 
+The maximum value of the adjustment. Note that values will be restricted by @code{(- upper page-size)} if the page-size property is nonzero.
 
-@node array-list-store
-@section array-list-store
-@Class array-list-store
-Superclass: @ref{g-object}
+Default value: 0
+@item @anchor{slot.adjustment.value}value. Type: @code{double-float}. Accessor: @anchor{fn.adjustment-value}@code{adjustment-value}.
 
-Slots:
-@itemize
+The value of the adjustment.
+
+Default value: 0
 @end itemize
 
 
 Signals:
 @itemize
+@item @anchor{signal.adjustment.changed}"changed". Signature: (instance @ref{adjustment}) @result{} void. Options: run-first, no-recurse.
+
+Emitted when one or more of the @ref{adjustment} fields have been changed, other than the @SlotRef{adjustment,value} field.
+@item @anchor{signal.adjustment.value-changed}"value-changed". Signature: (instance @ref{adjustment}) @result{} void. Options: run-first, no-recurse.
+
+Emitted when the @SlotRef{adjustment,value} field has been changed.
 @end itemize
 
 
 
 
+@node array-list-store
+@section array-list-store
+@Class array-list-store
+Superclass: @ref{g-object} @ref{tree-model}
+
+A Lisp implementation of @ref{tree-model} interface suitable for using in @ref{tree-view} widgets. @ref{array-list-store} contains a list of objects and a list of columns. Each column has a number (starting from zero) and is specified by its GType and reader function.
+
+@RFunction store-add-column
+@lisp
+(store-add-column list-store name reader)
+@end lisp
+Adds the column named @var{name} (a string) into @var{list-store} and associate @var{reader} as a reader function for this column.
+
+@RFunction store-add-item
+@lisp
+(store-add-item list-store item)
+@end lisp
+Adds the @var{item} to @var{list-store}.
+
+@RFunction store-items-count
+@lisp
+(store-items-count list-store) @result{} count
+@end lisp
+Returns the count of items in a @var{list-store}
+
+@RFunction store-remove-item
+@lisp
+(store-remove-item list-store item &key (test 'eq))
+@end lisp
+Removes the first @var{item} from @var{list-store} (using @var{test} as a comparison function).
+
 @node builder
 @section builder
 @Class builder
 Superclass: @ref{g-object}
 
+A @ref{builder} is an auxiliary object that reads textual descriptions of a user interface and instantiates the described objects. To pass a description to a @ref{builder}, call @ref{builder-add-from-file} or @ref{builder-add-from-string} or use @code{:from-file} or @code{:from-string} initialization arguments. These functions can be called multiple times; both initargs may be specified; the builder merges the content of all descriptions.
+
+A @ref{builder} holds a reference to all objects that it has constructed and drops these references when it is finalized. This finalization can cause the destruction of non-widget objects or widgets which are not contained in a toplevel window. For toplevel windows constructed by a builder, it is the responsibility of the user to call @code{gtk_widget_destroy} to get rid of them and all the widgets they contain.
+
+The function @ref{builder-get-object} can be used to access the widgets in the interface by the names assigned to them inside the UI description. Toplevel windows returned by these functions will stay around until the user explicitly destroys them with @code{gtk_widget_destroy}. Other widgets will either be part of a larger hierarchy constructed by the builder, or without a parent, in which case they have to be added to some container to make use of them.
+
+The functions @ref{builder-connect-signals-simple} and @ref{builder-connect-signals-full} can be used to connect handlers to the named signals in the description.
+
 Slots:
 @itemize
 @item @anchor{slot.builder.translation-domain}translation-domain. Type: @code{string}. Accessor: @anchor{fn.builder-translation-domain}@code{builder-translation-domain}.
+
+The translation domain used when translating property values that have been marked as translatable in interface descriptions. If the translation domain is NIL, GtkBuilder uses gettext(), otherwise g_dgettext().
+
+Default value: NIL
 @end itemize
 
 
 Signals:
 @itemize
 @end itemize
-
-
-
+@RFunction builder-add-from-file
+@lisp
+(builder-add-from-file builder file-name)
+@end lisp
+Parses a file containing a GtkBuilder UI definition and merges it with the current contents of builder
+@RFunction builder-add-from-string
+@lisp
+(builder-add-from-string builder string)
+@end lisp
+Parses a string containing a GtkBuilder UI definition and merges it with the current contents of builder.
+@RFunction builder-get-object
+@lisp
+(builder-get-object builder name)
+@end lisp
+Gets the object named @var{name}.
+@RFunction builder-connect-signals-simple
+@lisp
+(builder-connect-signals-simple builder handlers-list)
+@end lisp
+Connects the signal handlers to objects. @var{handler-list} is a plist mapping from signal handler names to signal handler functions.
+
+Example:
+@lisp
+(builder-connect-signals-simple builder `(("new" ,#'new) ("open" ,#'cb-open)))
+@end lisp
+@RFunction builder-connect-signals-full
+@lisp
+(builder-connect-signals-full builder func)
+@end lisp
+Connects the signals handlers to objects. @var{func} is a function that maps signal handler name to signal handler function. Its signature is @code{(function (builder object signal-name handler-name connect-object flags))}. The @var{func} function should connect the signal handler named @var{handler-name} for @var{signal-name} of @var{object}. @var{connect-object} should be ignored. @var{flags} specifies the behavior of signal connection (@code{:after} if the handler should be called before or after the default handler of the signal; @code{:swapped} if the instance and data should be swapped when calling the handler).
 
 @node cell-renderer
 @section cell-renderer
@@ -223,30 +488,113 @@ Superclass: @ref{gtk-object}
 
 Subclasses: @ref{cell-renderer-toggle} @ref{cell-renderer-progress} @ref{cell-renderer-pixbuf} @ref{cell-renderer-text}
 
+The @ref{cell-renderer} is a base class of a set of objects used for rendering a cell to a @ref{drawable}. These objects are used primarily by the @ref{tree-view} widget, though they aren't tied to them in any specific way. It is worth noting that @ref{cell-renderer} is not a @ref{widget} and cannot be treated as such.
+
+The primary use of a @ref{cell-renderer} is for drawing a certain graphical elements on a @ref{drawable}. Typically, one cell renderer is used to draw many cells on the screen. To this extent, it isn't expected that a @ref{cell-renderer} keep any permanent state around. Instead, any state is set just prior to use. Then, the cell is measured using gtk_cell_renderer_get_size(). Finally, the cell is rendered in the correct location using gtk_cell_renderer_render().
+
+There are a number of rules that must be followed when writing a new @ref{cell-renderer}. First and formost, it's important that a certain set of properties will always yield a cell renderer of the same size, barring a @ref{style} change. The @ref{cell-renderer} also has a number of generic properties that are expected to be honored by all children.
+
+Beyond merely rendering a cell, cell renderers can optionally provide active user interface elements. A cell renderer can be activatable like @ref{cell-renderer-toggle}, which toggles when it gets activated by a mouse click, or it can be editable like @ref{cell-renderer-text}, which allows the user to edit the text using a @ref{entry}. To make a cell renderer activatable or editable, you have to implement the @code{activate} or @code{start_editing} virtual functions, respectively.
+
 Slots:
 @itemize
+@item @anchor{slot.cell-renderer.cell-background}cell-background. Type: @code{string}. Accessor: @anchor{fn.cell-renderer-cell-background}@code{cell-renderer-cell-background}. Write-only.
+
+Cell background color as a string.
+
+Default value: NIL
+@item @anchor{slot.cell-renderer.cell-background-gdk}cell-background-gdk. Type: @ref{color}. Accessor: @anchor{fn.cell-renderer-cell-background-gdk}@code{cell-renderer-cell-background-gdk}.
+
+Cell background color as a @ref{color} structure.
+@item @anchor{slot.cell-renderer.cell-background-set}cell-background-set. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-cell-background-set}@code{cell-renderer-cell-background-set}.
+
+Whether this tag affects the cell background color.
+
+Default value: FALSE
+@item @anchor{slot.cell-renderer.editing}editing. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-editing}@code{cell-renderer-editing}. Read-only.
+
+Whether the cell renderer is currently in editing mode.
+
+Default value: FALSE
+@item @anchor{slot.cell-renderer.height}height. Type: @code{integer}. Accessor: @anchor{fn.cell-renderer-height}@code{cell-renderer-height}.
+
+The fixed height.
+
+Default value: -1
+@item @anchor{slot.cell-renderer.is-expanded}is-expanded. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-is-expanded}@code{cell-renderer-is-expanded}.
+
+Row is an expander row, and is expanded.
+
+Default value: FALSE
+@item @anchor{slot.cell-renderer.is-expander}is-expander. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-is-expander}@code{cell-renderer-is-expander}.
+
+Row has children.
+
+Default value: FALSE
 @item @anchor{slot.cell-renderer.mode}mode. Type: @ref{cell-renderer-mode}. Accessor: @anchor{fn.cell-renderer-mode}@code{cell-renderer-mode}.
-@item @anchor{slot.cell-renderer.visible}visible. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-visible}@code{cell-renderer-visible}.
+
+Editable mode of the @ref{cell-renderer}.
+
+Default value: @code{:inert}
 @item @anchor{slot.cell-renderer.sensitive}sensitive. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-sensitive}@code{cell-renderer-sensitive}.
+
+Display the cell sensitive.
+
+Default value: TRUE
+@item @anchor{slot.cell-renderer.visible}visible. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-visible}@code{cell-renderer-visible}.
+
+Display the cell.
+
+Default value: TRUE
+@item @anchor{slot.cell-renderer.width}width. Type: @code{integer}. Accessor: @anchor{fn.cell-renderer-width}@code{cell-renderer-width}.
+
+The fixed width.
+
+Default value: -1
 @item @anchor{slot.cell-renderer.xalign}xalign. Type: @code{single-float}. Accessor: @anchor{fn.cell-renderer-xalign}@code{cell-renderer-xalign}.
-@item @anchor{slot.cell-renderer.yalign}yalign. Type: @code{single-float}. Accessor: @anchor{fn.cell-renderer-yalign}@code{cell-renderer-yalign}.
+
+The x-align.
+
+Allowed values: [0,1]
+
+Default value: 0.5
 @item @anchor{slot.cell-renderer.xpad}xpad. Type: @code{integer}. Accessor: @anchor{fn.cell-renderer-xpad}@code{cell-renderer-xpad}.
+
+The xpad.
+
+Default value: 0
+@item @anchor{slot.cell-renderer.yalign}yalign. Type: @code{single-float}. Accessor: @anchor{fn.cell-renderer-yalign}@code{cell-renderer-yalign}.
+
+The y-align.
+
+Allowed values: [0,1]
+
+Default value: 0.5
 @item @anchor{slot.cell-renderer.ypad}ypad. Type: @code{integer}. Accessor: @anchor{fn.cell-renderer-ypad}@code{cell-renderer-ypad}.
-@item @anchor{slot.cell-renderer.width}width. Type: @code{integer}. Accessor: @anchor{fn.cell-renderer-width}@code{cell-renderer-width}.
-@item @anchor{slot.cell-renderer.height}height. Type: @code{integer}. Accessor: @anchor{fn.cell-renderer-height}@code{cell-renderer-height}.
-@item @anchor{slot.cell-renderer.is-expander}is-expander. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-is-expander}@code{cell-renderer-is-expander}.
-@item @anchor{slot.cell-renderer.is-expanded}is-expanded. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-is-expanded}@code{cell-renderer-is-expanded}.
-@item @anchor{slot.cell-renderer.cell-background}cell-background. Type: @code{string}. Accessor: @anchor{fn.cell-renderer-cell-background}@code{cell-renderer-cell-background}. Write-only.
-@item @anchor{slot.cell-renderer.cell-background-gdk}cell-background-gdk. Type: @ref{color}. Accessor: @anchor{fn.cell-renderer-cell-background-gdk}@code{cell-renderer-cell-background-gdk}.
-@item @anchor{slot.cell-renderer.cell-background-set}cell-background-set. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-cell-background-set}@code{cell-renderer-cell-background-set}.
-@item @anchor{slot.cell-renderer.editing}editing. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-editing}@code{cell-renderer-editing}. Read-only.
+
+The ypad.
+
+Default value: 0
 @end itemize
 
 
 Signals:
 @itemize
 @item @anchor{signal.cell-renderer.editing-canceled}"editing-canceled". Signature: (instance @ref{cell-renderer}) @result{} void. Options: run-first.
-@item @anchor{signal.cell-renderer.editing-started}"editing-started". Signature: (instance @ref{cell-renderer}), (arg-1 @ref{cell-editable}), (arg-2 @code{string}) @result{} void. Options: run-first.
+
+This signal gets emitted when the user cancels the process of editing a cell. For example, an editable cell renderer could be written to cancel editing when the user presses Escape.
+
+See also: gtk_cell_renderer_stop_editing().
+@item @anchor{signal.cell-renderer.editing-started}"editing-started". Signature: (instance @ref{cell-renderer}), (editable @ref{cell-editable}), (path @code{string}) @result{} void. Options: run-first.
+
+This signal gets emitted when a cell starts to be edited. The indended use of this signal is to do special setup on editable, e.g. adding a @ref{entry-completion} or setting up additional columns in a @ref{combo-box}.
+
+Note that GTK+ doesn't guarantee that cell renderers will continue to use the same kind of widget for editing in future releases, therefore you should check the type of editable before doing any specific setup.
+
+@table @var
+@item @var{path}
+the path identifying the edited cell
+@end table
 @end itemize
 
 
@@ -257,19 +605,51 @@ Signals:
 @Class cell-renderer-accel
 Superclass: @ref{cell-renderer-text}
 
+@ref{cell-renderer-accel} displays a keyboard accelerator (i.e. a key combination like @code{<Control>-a}). If the cell renderer is editable, the accelerator can be changed by simply typing the new combination.
+
 Slots:
 @itemize
 @item @anchor{slot.cell-renderer-accel.accel-key}accel-key. Type: @code{integer}. Accessor: @anchor{fn.cell-renderer-accel-accel-key}@code{cell-renderer-accel-accel-key}.
+
+The keyval of the accelerator.
+
+Default value: 0
+@item @anchor{slot.cell-renderer-accel.accel-mode}accel-mode. Type: @ref{cell-renderer-accel-mode}. Accessor: @anchor{fn.cell-renderer-accel-accel-mode}@code{cell-renderer-accel-accel-mode}.
+
+Determines if the edited accelerators are GTK+ accelerators. If they are, consumed modifiers are suppressed, only accelerators accepted by GTK+ are allowed, and the accelerators are rendered in the same way as they are in menus.
+
+Default value: @code{:gtk}
 @item @anchor{slot.cell-renderer-accel.accel-mods}accel-mods. Type: @ref{gdk-modifier-type}. Accessor: @anchor{fn.cell-renderer-accel-accel-mods}@code{cell-renderer-accel-accel-mods}.
+
+The modifier mask of the accelerator.
 @item @anchor{slot.cell-renderer-accel.keycode}keycode. Type: @code{integer}. Accessor: @anchor{fn.cell-renderer-accel-keycode}@code{cell-renderer-accel-keycode}.
-@item @anchor{slot.cell-renderer-accel.accel-mode}accel-mode. Type: @ref{cell-renderer-accel-mode}. Accessor: @anchor{fn.cell-renderer-accel-accel-mode}@code{cell-renderer-accel-accel-mode}.
+
+The hardware keycode of the accelerator. Note that the hardware keycode is only relevant if the key does not have a keyval. Normally, the keyboard configuration should assign keyvals to all keys.
+
+Default value: 0
 @end itemize
 
 
 Signals:
 @itemize
-@item @anchor{signal.cell-renderer-accel.accel-edited}"accel-edited". Signature: (instance @ref{cell-renderer-accel}), (arg-1 @code{string}), (arg-2 @code{integer}), (arg-3 @ref{gdk-modifier-type}), (arg-4 @code{integer}) @result{} void. Options: run-last.
-@item @anchor{signal.cell-renderer-accel.accel-cleared}"accel-cleared". Signature: (instance @ref{cell-renderer-accel}), (arg-1 @code{string}) @result{} void. Options: run-last.
+@item @anchor{signal.cell-renderer-accel.accel-cleared}"accel-cleared". Signature: (instance @ref{cell-renderer-accel}), (path @code{string}) @result{} void. Options: run-last.
+
+Gets emitted when the user has removed the accelerator.
+
+@var{path} is the path identifying the row of the edited cell
+@item @anchor{signal.cell-renderer-accel.accel-edited}"accel-edited". Signature: (instance @ref{cell-renderer-accel}), (path @code{string}), (accel-key @code{integer}), (accel-mods @ref{gdk-modifier-type}), (hardware-keycode @code{integer}) @result{} void. Options: run-last.
+
+Gets emitted when the user has selected a new accelerator.
+@table @var
+@item @var{path}
+the path identifying the row of the edited cell
+@item @var{accel-key}
+the new accelerator keyval
+@item @var{accel-mods}
+the new acclerator modifier mask
+@item @var{hardware-keycode}
+the keycode of the new accelerator
+@end table
 @end itemize
 
 
@@ -280,17 +660,39 @@ Signals:
 @Class cell-renderer-combo
 Superclass: @ref{cell-renderer-text}
 
+@ref{cell-renderer-combo} renders text in a cell like @ref{cell-renderer-text} from which it is derived. But while @ref{cell-renderer-text} offers a simple entry to edit the text, @ref{cell-renderer-combo} offers a @ref{combo-box} or @ref{combo-box-entry} widget to edit the text. The values to display in the combo box are taken from the tree model specified in the model property.
+
+The combo cell renderer takes care of adding a text cell renderer to the combo box and sets it to display the column specified by its text-column property. Further properties of the comnbo box can be set in a handler for the editing-started signal.
+
 Slots:
 @itemize
+@item @anchor{slot.cell-renderer-combo.has-entry}has-entry. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-combo-has-entry}@code{cell-renderer-combo-has-entry}.
+
+If TRUE, the cell renderer will include an entry and allow to enter values other than the ones in the popup list.
+
+Default value: TRUE
 @item @anchor{slot.cell-renderer-combo.model}model. Type: @ref{tree-model}. Accessor: @anchor{fn.cell-renderer-combo-model}@code{cell-renderer-combo-model}.
+
+Holds a tree model containing the possible values for the combo box. Use the @SlotRef{cell-renderer-combo,text-column} to specify the column holding the values.
 @item @anchor{slot.cell-renderer-combo.text-column}text-column. Type: @code{integer}. Accessor: @anchor{fn.cell-renderer-combo-text-column}@code{cell-renderer-combo-text-column}.
-@item @anchor{slot.cell-renderer-combo.has-entry}has-entry. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-combo-has-entry}@code{cell-renderer-combo-has-entry}.
+
+Specifies the model column which holds the possible values for the combo box.
+
+Note that this refers to the model specified in the model property, not the model backing the tree view to which this cell renderer is attached.
+
+@ref{cell-renderer-combo} automatically adds a text cell renderer for this column to its combo box.
+
+Default value: -1
 @end itemize
 
 
 Signals:
 @itemize
-@item @anchor{signal.cell-renderer-combo.changed}"changed". Signature: (instance @ref{cell-renderer-combo}), (arg-1 @code{string}), (arg-2 @ref{tree-iter}) @result{} void. Options: run-last.
+@item @anchor{signal.cell-renderer-combo.changed}"changed". Signature: (instance @ref{cell-renderer-combo}), (path @code{string}), (iter @ref{tree-iter}) @result{} void. Options: run-last.
+
+This signal is emitted each time after the user selected an item in the combo box, either by using the mouse or the arrow keys. Contrary to @ref{combo-box}, @code{changed} is not emitted for changes made to a selected item in the entry. The argument @var{iter} corresponds to the newly selected item in the combo box and it is relative to the @ref{tree-model} set via the model property on @ref{cell-renderer-combo}.
+
+Note that as soon as you change the model displayed in the tree view, the tree view will immediately cease the editing operating. This means that you most probably want to refrain from changing the model until the combo cell renderer emits the @SignalRef{cell-renderer-text,edited} or @SignalRef{cell-renderer,editing-canceled} signal.
 @end itemize
 
 
@@ -301,40 +703,108 @@ Signals:
 @Class cell-renderer-pixbuf
 Superclass: @ref{cell-renderer}
 
+A @ref{cell-renderer-pixbuf} can be used to render an image in a cell. It allows to render either a given @ref{pixbuf} (set via the @SlotRef{cell-renderer-pixbuf,pixbuf} property) or a stock icon (set via the @SlotRef{cell-renderer-pixbuf,stock-id} property).
+
+To support the tree view, @ref{cell-renderer-pixbuf} also supports rendering two alternative pixbufs, when the @SlotRef{cell-renderer,is-expander} property is TRUE. If the @SlotRef{cell-renderer,is-expanded} property is TRUE and the @SlotRef{cell-renderer-pixbuf,pixbuf-expander-open} property is set to a @ref{pixbuf}, it renders that @ref{pixbuf}, if the @SlotRef{cell-renderer,is-expanded} property is FALSE and the @SlotRef{cell-renderer-pixbuf,pixbuf-expander-closed} property is set to a @ref{pixbuf}, it renders that one.
+
 Slots:
 @itemize
-@item @anchor{slot.cell-renderer-pixbuf.pixbuf}pixbuf. Type: @ref{pixbuf}. Accessor: @anchor{fn.cell-renderer-pixbuf-pixbuf}@code{cell-renderer-pixbuf-pixbuf}.
-@item @anchor{slot.cell-renderer-pixbuf.pixbuf-expander-open}pixbuf-expander-open. Type: @ref{pixbuf}. Accessor: @anchor{fn.cell-renderer-pixbuf-pixbuf-expander-open}@code{cell-renderer-pixbuf-pixbuf-expander-open}.
-@item @anchor{slot.cell-renderer-pixbuf.pixbuf-expander-closed}pixbuf-expander-closed. Type: @ref{pixbuf}. Accessor: @anchor{fn.cell-renderer-pixbuf-pixbuf-expander-closed}@code{cell-renderer-pixbuf-pixbuf-expander-closed}.
-@item @anchor{slot.cell-renderer-pixbuf.stock-id}stock-id. Type: @code{string}. Accessor: @anchor{fn.cell-renderer-pixbuf-stock-id}@code{cell-renderer-pixbuf-stock-id}.
-@item @anchor{slot.cell-renderer-pixbuf.stock-size}stock-size. Type: @code{integer}. Accessor: @anchor{fn.cell-renderer-pixbuf-stock-size}@code{cell-renderer-pixbuf-stock-size}.
-@item @anchor{slot.cell-renderer-pixbuf.stock-detail}stock-detail. Type: @code{string}. Accessor: @anchor{fn.cell-renderer-pixbuf-stock-detail}@code{cell-renderer-pixbuf-stock-detail}.
 @item @anchor{slot.cell-renderer-pixbuf.follow-state}follow-state. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-pixbuf-follow-state}@code{cell-renderer-pixbuf-follow-state}.
-@item @anchor{slot.cell-renderer-pixbuf.icon-name}icon-name. Type: @code{string}. Accessor: @anchor{fn.cell-renderer-pixbuf-icon-name}@code{cell-renderer-pixbuf-icon-name}.
+
+Specifies whether the rendered pixbuf should be colorized according to the @ref{cell-renderer-state}.
+
+Default value: FALSE
 @item @anchor{slot.cell-renderer-pixbuf.gicon}gicon. Type: @code{GIcon}. Accessor: @anchor{fn.cell-renderer-pixbuf-gicon}@code{cell-renderer-pixbuf-gicon}.
-@end itemize
 
+The GIcon representing the icon to display. If the icon theme is changed, the image will be updated automatically.
+@item @anchor{slot.cell-renderer-pixbuf.icon-name}icon-name. Type: @code{string}. Accessor: @anchor{fn.cell-renderer-pixbuf-icon-name}@code{cell-renderer-pixbuf-icon-name}.
 
-Signals:
-@itemize
-@end itemize
+The name of the themed icon to display. This property only has an effect if not overridden by @SlotRef{cell-renderer-pixbuf,stock-id} or @SlotRef{cell-renderer-pixbuf,pixbuf} properties.
 
+Default value: NIL
+@item @anchor{slot.cell-renderer-pixbuf.pixbuf}pixbuf. Type: @ref{pixbuf}. Accessor: @anchor{fn.cell-renderer-pixbuf-pixbuf}@code{cell-renderer-pixbuf-pixbuf}.
 
+The pixbuf to render.
+@item @anchor{slot.cell-renderer-pixbuf.pixbuf-expander-closed}pixbuf-expander-closed. Type: @ref{pixbuf}. Accessor: @anchor{fn.cell-renderer-pixbuf-pixbuf-expander-closed}@code{cell-renderer-pixbuf-pixbuf-expander-closed}.
 
+Pixbuf for closed expander.
+@item @anchor{slot.cell-renderer-pixbuf.pixbuf-expander-open}pixbuf-expander-open. Type: @ref{pixbuf}. Accessor: @anchor{fn.cell-renderer-pixbuf-pixbuf-expander-open}@code{cell-renderer-pixbuf-pixbuf-expander-open}.
 
-@node cell-renderer-progress
+Pixbuf for open expander.
+@item @anchor{slot.cell-renderer-pixbuf.stock-detail}stock-detail. Type: @code{string}. Accessor: @anchor{fn.cell-renderer-pixbuf-stock-detail}@code{cell-renderer-pixbuf-stock-detail}.
+
+Render detail to pass to the theme engine.
+
+Default value: NIL
+@item @anchor{slot.cell-renderer-pixbuf.stock-id}stock-id. Type: @code{string}. Accessor: @anchor{fn.cell-renderer-pixbuf-stock-id}@code{cell-renderer-pixbuf-stock-id}.
+
+The stock ID of the stock icon to render.
+
+Default value: NIL
+@item @anchor{slot.cell-renderer-pixbuf.stock-size}stock-size. Type: @code{integer}. Accessor: @anchor{fn.cell-renderer-pixbuf-stock-size}@code{cell-renderer-pixbuf-stock-size}.
+
+The @ref{icon-size} value that specifies the size of the rendered icon.
+
+Default value: 1
+@end itemize
+
+
+Signals:
+@itemize
+@end itemize
+
+
+
+
+@node cell-renderer-progress
 @section cell-renderer-progress
 @Class cell-renderer-progress
 Superclass: @ref{cell-renderer}
 
+@ref{cell-renderer-progress} renders a numeric value as a progress par in a cell. Additionally, it can display a text on top of the progress bar.
+
 Slots:
 @itemize
-@item @anchor{slot.cell-renderer-progress.value}value. Type: @code{integer}. Accessor: @anchor{fn.cell-renderer-progress-value}@code{cell-renderer-progress-value}.
-@item @anchor{slot.cell-renderer-progress.text}text. Type: @code{string}. Accessor: @anchor{fn.cell-renderer-progress-text}@code{cell-renderer-progress-text}.
+@item @anchor{slot.cell-renderer-progress.orientation}orientation. Type: @ref{progress-bar-orientation}. Accessor: @anchor{fn.cell-renderer-progress-orientation}@code{cell-renderer-progress-orientation}.
+
+The "orientation" property controls the direction and growth direction of the progress bar
+
+Default value: @code{:left-to-right}
 @item @anchor{slot.cell-renderer-progress.pulse}pulse. Type: @code{integer}. Accessor: @anchor{fn.cell-renderer-progress-pulse}@code{cell-renderer-progress-pulse}.
+
+Setting this to a non-negative value causes the cell renderer to enter "activity mode", where a block bounces back and forth to indicate that some progress is made, without specifying exactly how much.
+
+Each increment of the property causes the block to move by a little bit.
+
+To indicate that the activity has not started yet, set the property to zero. To indicate completion, set the property to @code{(expt 2 (1- (* 8 (cffi:foreign-type-size :int))))}.
+
+Default value: -1
+@item @anchor{slot.cell-renderer-progress.text}text. Type: @code{string}. Accessor: @anchor{fn.cell-renderer-progress-text}@code{cell-renderer-progress-text}.
+
+Determines the label which will be drawn over the progress bar. Setting this property to NIL causes the default label to be displayed. Setting this property to an empty string causes no label to be displayed.
+
+Default value: NIL
 @item @anchor{slot.cell-renderer-progress.text-xalign}text-xalign. Type: @code{single-float}. Accessor: @anchor{fn.cell-renderer-progress-text-xalign}@code{cell-renderer-progress-text-xalign}.
+
+Controls the horizontal alignment of the text in the progress bar. Valid values range from 0 (left) to 1 (right). Reserved for RTL layouts.
+
+Allowed values: [0,1]
+
+Default value: 0.5
 @item @anchor{slot.cell-renderer-progress.text-yalign}text-yalign. Type: @code{single-float}. Accessor: @anchor{fn.cell-renderer-progress-text-yalign}@code{cell-renderer-progress-text-yalign}.
-@item @anchor{slot.cell-renderer-progress.orientation}orientation. Type: @ref{progress-bar-orientation}. Accessor: @anchor{fn.cell-renderer-progress-orientation}@code{cell-renderer-progress-orientation}.
+
+Controls the vertical alignment of the text in the progress bar. Valid values range from 0 (top) to 1 (bottom).
+
+Allowed values: [0,1]
+
+Default value: 0.5
+@item @anchor{slot.cell-renderer-progress.value}value. Type: @code{integer}. Accessor: @anchor{fn.cell-renderer-progress-value}@code{cell-renderer-progress-value}.
+
+The "value" property determines the percentage to which the progress bar will be "filled in".
+
+Allowed values: [0,100]
+
+Default value: 0
 @end itemize
 
 
@@ -350,11 +820,29 @@ Signals:
 @Class cell-renderer-spin
 Superclass: @ref{cell-renderer-text}
 
+@ref{cell-renderer-spin} renders text in a cell like @ref{cell-renderer-text} from which it is derived. But while @ref{cell-renderer-text} offers a simple entry to edit the text, @ref{cell-renderer-spin} offers a @ref{spin-button} widget. Of course, that means that the text has to be parseable as a floating point number.
+
+The range of the @ref{spin-button} is taken from the @SlotRef{cell-renderer-spin,adjustment} property of the cell renderer, which can be set explicitly or mapped to a column in the tree model, like all properties of cell renders. @ref{cell-renderer-spin} also has properties for the climb rate and the number of digits to display. Other @ref{spin-button} properties can be set in a handler for the @SignalRef{cell-renderer,editing-started} signal.
+
 Slots:
 @itemize
 @item @anchor{slot.cell-renderer-spin.adjustment}adjustment. Type: @ref{adjustment}. Accessor: @anchor{fn.cell-renderer-spin-adjustment}@code{cell-renderer-spin-adjustment}.
+
+The adjustment that holds the value of the spinbutton. This must be non-NIL for the cell renderer to be editable.
 @item @anchor{slot.cell-renderer-spin.climb-rate}climb-rate. Type: @code{double-float}. Accessor: @anchor{fn.cell-renderer-spin-climb-rate}@code{cell-renderer-spin-climb-rate}.
+
+The acceleration rate when you hold down a button.
+
+Allowed values: >= 0
+
+Default value: 0
 @item @anchor{slot.cell-renderer-spin.digits}digits. Type: @code{integer}. Accessor: @anchor{fn.cell-renderer-spin-digits}@code{cell-renderer-spin-digits}.
+
+The number of decimal places to display.
+
+Allowed values: <= 20
+
+Default value: 0
 @end itemize
 
 
@@ -372,130 +860,457 @@ Superclass: @ref{cell-renderer}
 
 Subclasses: @ref{cell-renderer-spin} @ref{cell-renderer-combo} @ref{cell-renderer-accel}
 
+A @ref{cell-renderer-text} renders a given text in its cell, using the font, color and style information provided by its properties. The text will be ellipsized if it is too long and the @SlotRef{cell-renderer-text,ellipsize} property allows it.
+
 Slots:
 @itemize
-@item @anchor{slot.cell-renderer-text.text}text. Type: @code{string}. Accessor: @anchor{fn.cell-renderer-text-text}@code{cell-renderer-text-text}.
-@item @anchor{slot.cell-renderer-text.markup}markup. Type: @code{string}. Accessor: @anchor{fn.cell-renderer-text-markup}@code{cell-renderer-text-markup}. Write-only.
-@item @anchor{slot.cell-renderer-text.attributes}attributes. Type: @code{PangoAttrList}. Accessor: @anchor{fn.cell-renderer-text-attributes}@code{cell-renderer-text-attributes}.
-@item @anchor{slot.cell-renderer-text.single-paragraph-mode}single-paragraph-mode. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-text-single-paragraph-mode}@code{cell-renderer-text-single-paragraph-mode}.
-@item @anchor{slot.cell-renderer-text.width-chars}width-chars. Type: @code{integer}. Accessor: @anchor{fn.cell-renderer-text-width-chars}@code{cell-renderer-text-width-chars}.
-@item @anchor{slot.cell-renderer-text.wrap-width}wrap-width. Type: @code{integer}. Accessor: @anchor{fn.cell-renderer-text-wrap-width}@code{cell-renderer-text-wrap-width}.
+@item @anchor{slot.cell-renderer-text.align-set}align-set. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-text-align-set}@code{cell-renderer-text-align-set}.
+
+Whether this tag affects the alignment mode.
+
+Default value: FALSE
 @item @anchor{slot.cell-renderer-text.alignment}alignment. Type: @code{PangoAlignment}. Accessor: @anchor{fn.cell-renderer-text-alignment}@code{cell-renderer-text-alignment}.
+
+Specifies how to align the lines of text with respect to each other.
+
+Note that this property describes how to align the lines of text in case there are several of them. The "xalign" property of @ref{cell-renderer}, on the other hand, sets the horizontal alignment of the whole text.
+
+Default value: PANGO_ALIGN_LEFT
+@item @anchor{slot.cell-renderer-text.attributes}attributes. Type: @code{PangoAttrList}. Accessor: @anchor{fn.cell-renderer-text-attributes}@code{cell-renderer-text-attributes}.
+
+A list of style attributes to apply to the text of the renderer.
 @item @anchor{slot.cell-renderer-text.background}background. Type: @code{string}. Accessor: @anchor{fn.cell-renderer-text-background}@code{cell-renderer-text-background}. Write-only.
-@item @anchor{slot.cell-renderer-text.foreground}foreground. Type: @code{string}. Accessor: @anchor{fn.cell-renderer-text-foreground}@code{cell-renderer-text-foreground}. Write-only.
+
+Background color as a string.
+
+Default value: NIL
 @item @anchor{slot.cell-renderer-text.background-gdk}background-gdk. Type: @ref{color}. Accessor: @anchor{fn.cell-renderer-text-background-gdk}@code{cell-renderer-text-background-gdk}.
-@item @anchor{slot.cell-renderer-text.foreground-gdk}foreground-gdk. Type: @ref{color}. Accessor: @anchor{fn.cell-renderer-text-foreground-gdk}@code{cell-renderer-text-foreground-gdk}.
+
+Background color as a @ref{color}
+@item @anchor{slot.cell-renderer-text.background-set}background-set. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-text-background-set}@code{cell-renderer-text-background-set}.
+
+Whether this tag affects the background color.
+
+Default value: FALSE
+@item @anchor{slot.cell-renderer-text.editable}editable. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-text-editable}@code{cell-renderer-text-editable}.
+
+Whether the text can be modified by the user.
+
+Default value: FALSE
+@item @anchor{slot.cell-renderer-text.editable-set}editable-set. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-text-editable-set}@code{cell-renderer-text-editable-set}.
+
+Whether this tag affects text editability.
+
+Default value: FALSE
+@item @anchor{slot.cell-renderer-text.ellipsize}ellipsize. Type: @code{PangoEllipsizeMode}. Accessor: @anchor{fn.cell-renderer-text-ellipsize}@code{cell-renderer-text-ellipsize}.
+
+Specifies the preferred place to ellipsize the string, if the cell renderer does not have enough room to display the entire string. Setting it to PANGO_ELLIPSIZE_NONE turns off ellipsizing. See the wrap-width property for another way of making the text fit into a given width.
+
+Default value: PANGO_ELLIPSIZE_NONE
+@item @anchor{slot.cell-renderer-text.ellipsize-set}ellipsize-set. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-text-ellipsize-set}@code{cell-renderer-text-ellipsize-set}.
+
+Whether this tag affects the ellipsize mode.
+
+Default value: FALSE
+@item @anchor{slot.cell-renderer-text.family}family. Type: @code{string}. Accessor: @anchor{fn.cell-renderer-text-family}@code{cell-renderer-text-family}.
+
+Name of the font family, e.g. Sans, Helvetica, Times, Monospace.
+
+Default value: NIL
+@item @anchor{slot.cell-renderer-text.family-set}family-set. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-text-family-set}@code{cell-renderer-text-family-set}.
+
+Whether this tag affects the font family.
+
+Default value: FALSE
 @item @anchor{slot.cell-renderer-text.font}font. Type: @code{string}. Accessor: @anchor{fn.cell-renderer-text-font}@code{cell-renderer-text-font}.
+
+Font description as a string, e.g. "Sans Italic 12".
+
+Default value: NULL
 @item @anchor{slot.cell-renderer-text.font-desc}font-desc. Type: @code{PangoFontDescription}. Accessor: @anchor{fn.cell-renderer-text-font-desc}@code{cell-renderer-text-font-desc}.
-@item @anchor{slot.cell-renderer-text.family}family. Type: @code{string}. Accessor: @anchor{fn.cell-renderer-text-family}@code{cell-renderer-text-family}.
-@item @anchor{slot.cell-renderer-text.style}style. Type: @code{PangoStyle}. Accessor: @anchor{fn.cell-renderer-text-style}@code{cell-renderer-text-style}.
-@item @anchor{slot.cell-renderer-text.variant}variant. Type: @code{PangoVariant}. Accessor: @anchor{fn.cell-renderer-text-variant}@code{cell-renderer-text-variant}.
-@item @anchor{slot.cell-renderer-text.weight}weight. Type: @code{integer}. Accessor: @anchor{fn.cell-renderer-text-weight}@code{cell-renderer-text-weight}.
-@item @anchor{slot.cell-renderer-text.stretch}stretch. Type: @code{PangoStretch}. Accessor: @anchor{fn.cell-renderer-text-stretch}@code{cell-renderer-text-stretch}.
+
+Font description as a PangoFontDescription struct.
+@item @anchor{slot.cell-renderer-text.foreground}foreground. Type: @code{string}. Accessor: @anchor{fn.cell-renderer-text-foreground}@code{cell-renderer-text-foreground}. Write-only.
+
+Foreground color as a string.
+
+Default value: NULL
+@item @anchor{slot.cell-renderer-text.foreground-gdk}foreground-gdk. Type: @ref{color}. Accessor: @anchor{fn.cell-renderer-text-foreground-gdk}@code{cell-renderer-text-foreground-gdk}.
+
+Foreground color as a @ref{color}.
+@item @anchor{slot.cell-renderer-text.foreground-set}foreground-set. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-text-foreground-set}@code{cell-renderer-text-foreground-set}.
+
+Whether this tag affects the foreground color.
+
+Default value: FALSE
+@item @anchor{slot.cell-renderer-text.language}language. Type: @code{string}. Accessor: @anchor{fn.cell-renderer-text-language}@code{cell-renderer-text-language}.
+
+The language this text is in, as an ISO code. Pango can use this as a hint when rendering the text. If you don't understand this parameter, you probably don't need it.
+
+Default value: NULL
+@item @anchor{slot.cell-renderer-text.language-set}language-set. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-text-language-set}@code{cell-renderer-text-language-set}.
+
+Whether this tag affects the language the text is rendered as.
+
+Default value: FALSE
+@item @anchor{slot.cell-renderer-text.markup}markup. Type: @code{string}. Accessor: @anchor{fn.cell-renderer-text-markup}@code{cell-renderer-text-markup}. Write-only.
+
+Marked up text to render.
+
+Default value: NULL
+@item @anchor{slot.cell-renderer-text.rise}rise. Type: @code{integer}. Accessor: @anchor{fn.cell-renderer-text-rise}@code{cell-renderer-text-rise}.
+
+Offset of text above the baseline (below the baseline if rise is negative).
+
+Allowed values: >= -2147483647
+
+Default value: 0
+@item @anchor{slot.cell-renderer-text.rise-set}rise-set. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-text-rise-set}@code{cell-renderer-text-rise-set}.
+
+Whether this tag affects the rise.
+
+Default value: FALSE
+@item @anchor{slot.cell-renderer-text.scale}scale. Type: @code{double-float}. Accessor: @anchor{fn.cell-renderer-text-scale}@code{cell-renderer-text-scale}.
+
+Font scaling factor.
+
+Allowed values: >= 0
+
+Default value: 1
+@item @anchor{slot.cell-renderer-text.scale-set}scale-set. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-text-scale-set}@code{cell-renderer-text-scale-set}.
+
+Whether this tag scales the font size by a factor.
+
+Default value: FALSE
+@item @anchor{slot.cell-renderer-text.single-paragraph-mode}single-paragraph-mode. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-text-single-paragraph-mode}@code{cell-renderer-text-single-paragraph-mode}.
+
+Whether or not to keep all text in a single paragraph.
+
+Default value: FALSE
 @item @anchor{slot.cell-renderer-text.size}size. Type: @code{integer}. Accessor: @anchor{fn.cell-renderer-text-size}@code{cell-renderer-text-size}.
+
+Font size.
+
+Allowed values: >= 0
+
+Default value: 0
 @item @anchor{slot.cell-renderer-text.size-points}size-points. Type: @code{double-float}. Accessor: @anchor{fn.cell-renderer-text-size-points}@code{cell-renderer-text-size-points}.
-@item @anchor{slot.cell-renderer-text.scale}scale. Type: @code{double-float}. Accessor: @anchor{fn.cell-renderer-text-scale}@code{cell-renderer-text-scale}.
-@item @anchor{slot.cell-renderer-text.editable}editable. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-text-editable}@code{cell-renderer-text-editable}.
+
+Font size in points.
+
+Allowed values: >= 0
+
+Default value: 0
+@item @anchor{slot.cell-renderer-text.size-set}size-set. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-text-size-set}@code{cell-renderer-text-size-set}.
+
+Whether this tag affects the font size.
+
+Default value: FALSE
+@item @anchor{slot.cell-renderer-text.stretch}stretch. Type: @code{PangoStretch}. Accessor: @anchor{fn.cell-renderer-text-stretch}@code{cell-renderer-text-stretch}.
+
+Font stretch.
+
+Default value: PANGO_STRETCH_NORMAL
+@item @anchor{slot.cell-renderer-text.stretch-set}stretch-set. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-text-stretch-set}@code{cell-renderer-text-stretch-set}.
+
+Whether this tag affects the font stretch.
+
+Default value: FALSE
 @item @anchor{slot.cell-renderer-text.strikethrough}strikethrough. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-text-strikethrough}@code{cell-renderer-text-strikethrough}.
-@item @anchor{slot.cell-renderer-text.underline}underline. Type: @code{PangoUnderline}. Accessor: @anchor{fn.cell-renderer-text-underline}@code{cell-renderer-text-underline}.
-@item @anchor{slot.cell-renderer-text.rise}rise. Type: @code{integer}. Accessor: @anchor{fn.cell-renderer-text-rise}@code{cell-renderer-text-rise}.
-@item @anchor{slot.cell-renderer-text.language}language. Type: @code{string}. Accessor: @anchor{fn.cell-renderer-text-language}@code{cell-renderer-text-language}.
-@item @anchor{slot.cell-renderer-text.ellipsize}ellipsize. Type: @code{PangoEllipsizeMode}. Accessor: @anchor{fn.cell-renderer-text-ellipsize}@code{cell-renderer-text-ellipsize}.
-@item @anchor{slot.cell-renderer-text.wrap-mode}wrap-mode. Type: @code{PangoWrapMode}. Accessor: @anchor{fn.cell-renderer-text-wrap-mode}@code{cell-renderer-text-wrap-mode}.
-@item @anchor{slot.cell-renderer-text.background-set}background-set. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-text-background-set}@code{cell-renderer-text-background-set}.
-@item @anchor{slot.cell-renderer-text.foreground-set}foreground-set. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-text-foreground-set}@code{cell-renderer-text-foreground-set}.
-@item @anchor{slot.cell-renderer-text.family-set}family-set. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-text-family-set}@code{cell-renderer-text-family-set}.
+
+Whether to strike through the text.
+
+Default value: FALSE
+@item @anchor{slot.cell-renderer-text.strikethrough-set}strikethrough-set. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-text-strikethrough-set}@code{cell-renderer-text-strikethrough-set}.
+
+Whether this tag affects strikethrough.
+
+Default value: FALSE
+@item @anchor{slot.cell-renderer-text.style}style. Type: @code{PangoStyle}. Accessor: @anchor{fn.cell-renderer-text-style}@code{cell-renderer-text-style}.
+
+Font style.
+
+Default value: PANGO_STYLE_NORMAL
 @item @anchor{slot.cell-renderer-text.style-set}style-set. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-text-style-set}@code{cell-renderer-text-style-set}.
+
+Whether this tag affects the font style.
+
+Default value: FALSE
+
+
+@item @anchor{slot.cell-renderer-text.text}text. Type: @code{string}. Accessor: @anchor{fn.cell-renderer-text-text}@code{cell-renderer-text-text}.
+
+Text to render.
+
+Default value: NIL
+@item @anchor{slot.cell-renderer-text.underline}underline. Type: @code{PangoUnderline}. Accessor: @anchor{fn.cell-renderer-text-underline}@code{cell-renderer-text-underline}.
+
+Style of underline for this text.
+
+Default value: PANGO_UNDERLINE_NONE
+@item @anchor{slot.cell-renderer-text.underline-set}underline-set. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-text-underline-set}@code{cell-renderer-text-underline-set}.
+
+Whether this tag affects underlining.
+
+Default value: FALSE
+@item @anchor{slot.cell-renderer-text.variant}variant. Type: @code{PangoVariant}. Accessor: @anchor{fn.cell-renderer-text-variant}@code{cell-renderer-text-variant}.
+
+Font variant.
+
+Default value: PANGO_VARIANT_NORMAL
 @item @anchor{slot.cell-renderer-text.variant-set}variant-set. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-text-variant-set}@code{cell-renderer-text-variant-set}.
+
+Whether this tag affects the font variant.
+
+Default value: FALSE
+@item @anchor{slot.cell-renderer-text.weight}weight. Type: @code{integer}. Accessor: @anchor{fn.cell-renderer-text-weight}@code{cell-renderer-text-weight}.
+
+Font weight.
+
+Allowed values: >= 0
+
+Default value: 400
 @item @anchor{slot.cell-renderer-text.weight-set}weight-set. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-text-weight-set}@code{cell-renderer-text-weight-set}.
-@item @anchor{slot.cell-renderer-text.stretch-set}stretch-set. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-text-stretch-set}@code{cell-renderer-text-stretch-set}.
-@item @anchor{slot.cell-renderer-text.size-set}size-set. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-text-size-set}@code{cell-renderer-text-size-set}.
-@item @anchor{slot.cell-renderer-text.scale-set}scale-set. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-text-scale-set}@code{cell-renderer-text-scale-set}.
-@item @anchor{slot.cell-renderer-text.editable-set}editable-set. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-text-editable-set}@code{cell-renderer-text-editable-set}.
-@item @anchor{slot.cell-renderer-text.strikethrough-set}strikethrough-set. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-text-strikethrough-set}@code{cell-renderer-text-strikethrough-set}.
-@item @anchor{slot.cell-renderer-text.underline-set}underline-set. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-text-underline-set}@code{cell-renderer-text-underline-set}.
-@item @anchor{slot.cell-renderer-text.rise-set}rise-set. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-text-rise-set}@code{cell-renderer-text-rise-set}.
-@item @anchor{slot.cell-renderer-text.language-set}language-set. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-text-language-set}@code{cell-renderer-text-language-set}.
-@item @anchor{slot.cell-renderer-text.ellipsize-set}ellipsize-set. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-text-ellipsize-set}@code{cell-renderer-text-ellipsize-set}.
-@item @anchor{slot.cell-renderer-text.align-set}align-set. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-text-align-set}@code{cell-renderer-text-align-set}.
+
+Whether this tag affects the font weight.
+
+Default value: FALSE
+@item @anchor{slot.cell-renderer-text.width-chars}width-chars. Type: @code{integer}. Accessor: @anchor{fn.cell-renderer-text-width-chars}@code{cell-renderer-text-width-chars}.
+
+The desired width of the cell, in characters. If this property is set to -1, the width will be calculated automatically, otherwise the cell will request either 3 characters or the property value, whichever is greater.
+
+Default value: -1
+@item @anchor{slot.cell-renderer-text.wrap-mode}wrap-mode. Type: @code{PangoWrapMode}. Accessor: @anchor{fn.cell-renderer-text-wrap-mode}@code{cell-renderer-text-wrap-mode}.
+
+Specifies how to break the string into multiple lines, if the cell renderer does not have enough room to display the entire string. This property has no effect unless the wrap-width property is set.
+
+Default value: PANGO_WRAP_CHAR
+@item @anchor{slot.cell-renderer-text.wrap-width}wrap-width. Type: @code{integer}. Accessor: @anchor{fn.cell-renderer-text-wrap-width}@code{cell-renderer-text-wrap-width}.
+
+Specifies the width at which the text is wrapped. The wrap-mode property can be used to influence at what character positions the line breaks can be placed. Setting wrap-width to -1 turns wrapping off.
+
+Default value: -1
+@end itemize
+
+
+Signals:
+@itemize
+@item @anchor{signal.cell-renderer-text.edited}"edited". Signature: (instance @ref{cell-renderer-text}), (path @code{string}), (new-text @code{string}) @result{} void. Options: run-last.
+
+This signal is emitted after renderer has been edited.
+
+It is the responsibility of the application to update the model and store @var{new-text} at the position indicated by @var{path}.
+@end itemize
+
+
+
+
+@node cell-renderer-toggle
+@section cell-renderer-toggle
+@Class cell-renderer-toggle
+Superclass: @ref{cell-renderer}
+
+@ref{cell-renderer-toggle} renders a toggle button in a cell. The button is drawn as a radio- or checkbutton, depending on the @SlotRef{cell-renderer-toggle,radio} property. When activated, it emits the @SignalRef{cell-renderer-toggle,toggled} signal.
+
+Slots:
+@itemize
+@item @anchor{slot.cell-renderer-toggle.activatable}activatable. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-toggle-activatable}@code{cell-renderer-toggle-activatable}.
+
+The toggle button can be activated.
+
+Default value: TRUE
+@item @anchor{slot.cell-renderer-toggle.active}active. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-toggle-active}@code{cell-renderer-toggle-active}.
+
+The toggle state of the button.
+
+Default value: FALSE
+@item @anchor{slot.cell-renderer-toggle.inconsistent}inconsistent. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-toggle-inconsistent}@code{cell-renderer-toggle-inconsistent}.
+
+The inconsistent state of the button.
+
+Default value: FALSE
+@item @anchor{slot.cell-renderer-toggle.indicator-size}indicator-size. Type: @code{integer}. Accessor: @anchor{fn.cell-renderer-toggle-indicator-size}@code{cell-renderer-toggle-indicator-size}.
+
+Size of check or radio indicator.
+
+Allowed values: >= 0
+
+Default value: 13
+@item @anchor{slot.cell-renderer-toggle.radio}radio. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-toggle-radio}@code{cell-renderer-toggle-radio}.
+
+Draw the toggle button as a radio button.
+
+Default value: FALSE
 @end itemize
 
 
 Signals:
 @itemize
-@item @anchor{signal.cell-renderer-text.edited}"edited". Signature: (instance @ref{cell-renderer-text}), (arg-1 @code{string}), (arg-2 @code{string}) @result{} void. Options: run-last.
+@item @anchor{signal.cell-renderer-toggle.toggled}"toggled". Signature: (instance @ref{cell-renderer-toggle}), (path @code{string}) @result{} void. Options: run-last.
+
+The signal is emitted when the cell of the row identified by @var{path} is toggled.
 @end itemize
 
 
 
 
-@node cell-renderer-toggle
-@section cell-renderer-toggle
-@Class cell-renderer-toggle
-Superclass: @ref{cell-renderer}
+@node clipboard
+@section clipboard
+@Class clipboard
+Superclass: @ref{g-object}
+
+The @ref{clipboard} object represents a clipboard of data shared between different processes or between different widgets in the same process. Each clipboard is identified by a name encoded as a GdkAtom. (Conversion to and from strings can be done with gdk_atom_intern() and gdk_atom_name().) The default clipboard corresponds to the "CLIPBOARD" atom; another commonly used clipboard is the "PRIMARY" clipboard, which, in X, traditionally contains the currently selected text.
+
+To support having a number of different formats on the clipboard at the same time, the clipboard mechanism allows providing callbacks instead of the actual data. When you set the contents of the clipboard, you can either supply the data directly (via functions like gtk_clipboard_set_text()), or you can supply a callback to be called at a later time when the data is needed (via gtk_clipboard_set_with_data() or gtk_clipboard_set_with_owner().) Providing a callback also avoids having to make copies of the data when it is not needed.
+
+gtk_clipboard_set_with_data() and gtk_clipboard_set_with_owner() are quite similar; the choice between the two depends mostly on which is more convenient in a particular situation. The former is most useful when you want to have a blob of data with callbacks to convert it into the various data types that you advertise. When the clear_func you provided is called, you simply free the data blob. The latter is more useful when the contents of clipboard reflect the internal state of a GObject (As an example, for the PRIMARY clipboard, when an entry widget provides the clipboard's contents the contents are simply the text within the selected region.) If the contents change, the entry widget can call gtk_clipboard_set_with_owner() to update the timestamp for clipboard ownership, without having to worry about clear_func being called.
+
+Requesting the data from the clipboard is essentially asynchronous. If the contents of the clipboard are provided within the same process, then a direct function call will be made to retrieve the data, but if they are provided by another process, then the data needs to be retrieved from the other process, which may take some time. To avoid blocking the user interface, the call to request the selection, gtk_clipboard_request_contents() takes a callback that will be called when the contents are received (or when the request fails.) If you don't want to deal with providing a separate callback, you can also use gtk_clipboard_wait_for_contents(). What this does is run the GLib main loop recursively waiting for the contents. This can simplify the code flow, but you still have to be aware that other callbacks in your program can be called while this recursive mainloop is running.
+
+Along with the functions to get the clipboard contents as an arbitrary data chunk, there are also functions to retrieve it as text, gtk_clipboard_request_text() and gtk_clipboard_wait_for_text(). These functions take care of determining which formats are advertised by the clipboard provider, asking for the clipboard in the best available format and converting the results into the UTF-8 encoding. (The standard form for representing strings in GTK+.)
+
+Slots:
+@itemize
+@end itemize
+
+
+Signals:
+@itemize
+@item @anchor{signal.clipboard.owner-change}"owner-change". Signature: (instance @ref{clipboard}), (event @ref{event-owner-change}) @result{} void. Options: run-first.
+
+This signal is emitted when GTK+ receives an event that indicates that the ownership of the selection associated with clipboard has changed.
+@end itemize
+
+
+
+
+@node entry-completion
+@section entry-completion
+@Class entry-completion
+Superclass: @ref{g-object} @ref{buildable} @ref{cell-layout}
+
+@ref{entry-completion} is an auxiliary object to be used in conjunction with @ref{entry} to provide the completion functionality. It implements the @ref{cell-layout} interface, to allow the user to add extra cells to the @ref{tree-view} with completion matches.
+
+"Completion functionality" means that when the user modifies the text in the entry, @ref{entry-completion} checks which rows in the model match the current content of the entry, and displays a list of matches. By default, the matching is done by comparing the entry text case-insensitively against the text column of the model (see @SlotRef{entry-completion,text-column}), but this can be overridden with a custom match function (see @SlotRef{entry-completion,match-function}).
+
+When the user selects a completion, the content of the entry is updated. By default, the content of the entry is replaced by the text column of the model, but this can be overridden by connecting to the @SignalRef{entry-completion,match-selected} signal and updating the entry in the signal handler. Note that you should return TRUE from the signal handler to suppress the default behaviour.
+
+To add completion functionality to an entry, use gtk_entry_set_completion().
+
+In addition to regular completion matches, which will be inserted into the entry when they are selected, GtkEntryCompletion also allows to display "actions" in the popup window. Their appearance is similar to menuitems, to differentiate them clearly from completion strings. When an action is selected, the @SignalRef{entry-completion,action-activated} signal is emitted.
+
+Slots:
+@itemize
+@item @anchor{slot.entry-completion.entry}entry. Type: @ref{entry}. Accessor: @anchor{fn.entry-completion-entry}@code{entry-completion-entry}. Read-only.
+
+The entry completion has been attached to.
+@item @anchor{slot.entry-completion.inline-completion}inline-completion. Type: @code{boolean}. Accessor: @anchor{fn.entry-completion-inline-completion}@code{entry-completion-inline-completion}.
+
+Determines whether the common prefix of the possible completions should be inserted automatically in the entry. Note that this requires text-column to be set, even if you are using a custom match function.
+
+Default value: FALSE
+@item @anchor{slot.entry-completion.inline-selection}inline-selection. Type: @code{boolean}. Accessor: @anchor{fn.entry-completion-inline-selection}@code{entry-completion-inline-selection}.
+
+Determines whether the possible completions on the popup will appear in the entry as you navigate through them.
+
+Default value: FALSE
+@item @anchor{slot.entry-completion.match-function}match-function. Type: function. Accessor: @anchor{fn.entry-completion-match-function}@code{entry-completion-match-function}. Write-only.
+
+Sets the match function for completion. The match function is used to determine if a row should or should not be in the completion list.
+
+The match function has the following signature: (completion @ref{entry-completion}), (key @code{string}), (tree-iter @ref{tree-iter}) @result should-be-displayed-p. This function which decides whether the row indicated by @var{tree-iter} matches a given @var{key}, and should be displayed as a possible completion for @var{key}. Note that key is normalized and case-folded (see g_utf8_normalize() and g_utf8_casefold()). If this is not appropriate, match functions have access to the unmodified key via @SlotRef{entry,text} of @SlotRef{entry-completion,entry}.
+@item @anchor{slot.entry-completion.minimum-key-length}minimum-key-length. Type: @code{integer}. Accessor: @anchor{fn.entry-completion-minimum-key-length}@code{entry-completion-minimum-key-length}.
+
+Minimum length of the search key in order to look up matches.
+
+Allowed values: >= 0
+
+Default value: 1
+@item @anchor{slot.entry-completion.model}model. Type: @ref{tree-model}. Accessor: @anchor{fn.entry-completion-model}@code{entry-completion-model}.
+
+The model to find matches in.
+@item @anchor{slot.entry-completion.popup-completion}popup-completion. Type: @code{boolean}. Accessor: @anchor{fn.entry-completion-popup-completion}@code{entry-completion-popup-completion}.
+
+Determines whether the possible completions should be shown in a popup window.
+
+Default value: TRUE
+@item @anchor{slot.entry-completion.popup-set-width}popup-set-width. Type: @code{boolean}. Accessor: @anchor{fn.entry-completion-popup-set-width}@code{entry-completion-popup-set-width}.
+
+Determines whether the completions popup window will be resized to the width of the entry.
+
+Default value: TRUE
+@item @anchor{slot.entry-completion.popup-single-match}popup-single-match. Type: @code{boolean}. Accessor: @anchor{fn.entry-completion-popup-single-match}@code{entry-completion-popup-single-match}.
+
+Determines whether the completions popup window will shown for a single possible completion. You probably want to set this to FALSE if you are using inline completion.
+
+Default value: TRUE
+@item @anchor{slot.entry-completion.text-column}text-column. Type: @code{integer}. Accessor: @anchor{fn.entry-completion-text-column}@code{entry-completion-text-column}.
+
+The column of the model containing the strings.
 
-Slots:
-@itemize
-@item @anchor{slot.cell-renderer-toggle.activatable}activatable. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-toggle-activatable}@code{cell-renderer-toggle-activatable}.
-@item @anchor{slot.cell-renderer-toggle.active}active. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-toggle-active}@code{cell-renderer-toggle-active}.
-@item @anchor{slot.cell-renderer-toggle.radio}radio. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-toggle-radio}@code{cell-renderer-toggle-radio}.
-@item @anchor{slot.cell-renderer-toggle.inconsistent}inconsistent. Type: @code{boolean}. Accessor: @anchor{fn.cell-renderer-toggle-inconsistent}@code{cell-renderer-toggle-inconsistent}.
-@item @anchor{slot.cell-renderer-toggle.indicator-size}indicator-size. Type: @code{integer}. Accessor: @anchor{fn.cell-renderer-toggle-indicator-size}@code{cell-renderer-toggle-indicator-size}.
+Default value: -1
 @end itemize
 
 
 Signals:
 @itemize
-@item @anchor{signal.cell-renderer-toggle.toggled}"toggled". Signature: (instance @ref{cell-renderer-toggle}), (arg-1 @code{string}) @result{} void. Options: run-last.
-@end itemize
+@item @anchor{signal.entry-completion.action-activated}"action-activated". Signature: (instance @ref{entry-completion}), (index @code{integer}) @result{} void. Options: run-last.
 
+Gets emitted when an action is activated. @var{index} is the index of activated action.
+@item @anchor{signal.entry-completion.cursor-on-match}"cursor-on-match". Signature: (instance @ref{entry-completion}), (model @ref{tree-model}), (iter @ref{tree-iter}) @result{} @code{boolean}. Options: run-last.
 
+Gets emitted when a match from the cursor is on a match of the list.The default behaviour is to replace the contents of the entry with the contents of the text column in the row pointed to by iter.
+@item @anchor{signal.entry-completion.insert-prefix}"insert-prefix". Signature: (instance @ref{entry-completion}), (prefix @code{string}) @result{} @code{boolean}. Options: run-last.
 
+Gets emitted when the inline autocompletion is triggered. The default behaviour is to make the entry display the whole prefix and select the newly inserted part.
 
-@node clipboard
-@section clipboard
-@Class clipboard
-Superclass: @ref{g-object}
+Applications may connect to this signal in order to insert only a smaller part of the prefix into the entry - e.g. the entry used in the @ref{file-chooser} inserts only the part of the prefix up to the next '/'.
+@item @anchor{signal.entry-completion.match-selected}"match-selected". Signature: (instance @ref{entry-completion}), (model @ref{tree-model}), (iter @ref{tree-iter}) @result{} @code{boolean}. Options: run-last.
 
-Slots:
-@itemize
+Gets emitted when a match from the list is selected. The default behaviour is to replace the contents of the entry with the contents of the text column in the row pointed to by iter.
 @end itemize
 
+@RMethod entry-completion-complete
+@lisp
+(entry-completion-complete completion)
+@end lisp
 
-Signals:
-@itemize
-@end itemize
+Requests a completion operation, or in other words a refiltering of the current list with completions, using the current key. The completion list view will be updated accordingly.
 
+@RMethod entry-completion-completion-prefix
+@lisp
+(entry-completion-completion-prefix completion) @result{} string
+@end lisp
 
+Get the original text entered by the user that triggered the completion or NULL if there's no completion ongoing.
 
+@RMethod entry-completion-insert-prefix
+@lisp
+(entry-completion-insert-prefix completion)
+@end lisp
 
-@node entry-completion
-@section entry-completion
-@Class entry-completion
-Superclass: @ref{g-object}
+Requests a prefix insertion.
 
-Slots:
-@itemize
-@item @anchor{slot.entry-completion.model}model. Type: @ref{tree-model}. Accessor: @anchor{fn.entry-completion-model}@code{entry-completion-model}.
-@item @anchor{slot.entry-completion.minimum-key-length}minimum-key-length. Type: @code{integer}. Accessor: @anchor{fn.entry-completion-minimum-key-length}@code{entry-completion-minimum-key-length}.
-@item @anchor{slot.entry-completion.text-column}text-column. Type: @code{integer}. Accessor: @anchor{fn.entry-completion-text-column}@code{entry-completion-text-column}.
-@item @anchor{slot.entry-completion.inline-completion}inline-completion. Type: @code{boolean}. Accessor: @anchor{fn.entry-completion-inline-completion}@code{entry-completion-inline-completion}.
-@item @anchor{slot.entry-completion.popup-completion}popup-completion. Type: @code{boolean}. Accessor: @anchor{fn.entry-completion-popup-completion}@code{entry-completion-popup-completion}.
-@item @anchor{slot.entry-completion.popup-set-width}popup-set-width. Type: @code{boolean}. Accessor: @anchor{fn.entry-completion-popup-set-width}@code{entry-completion-popup-set-width}.
-@item @anchor{slot.entry-completion.popup-single-match}popup-single-match. Type: @code{boolean}. Accessor: @anchor{fn.entry-completion-popup-single-match}@code{entry-completion-popup-single-match}.
-@item @anchor{slot.entry-completion.inline-selection}inline-selection. Type: @code{boolean}. Accessor: @anchor{fn.entry-completion-inline-selection}@code{entry-completion-inline-selection}.
-@end itemize
+@RMethod entry-completion-insert-action-text
+@lisp
+(entry-completion-insert-action-text completion index text)
+@end lisp
 
+Inserts an action in completion's action item list at position @var{index} with text @var{text}. If you want the action item to have markup, use @ref{entry-completion-insert-action-markup}.
 
-Signals:
-@itemize
-@item @anchor{signal.entry-completion.insert-prefix}"insert-prefix". Signature: (instance @ref{entry-completion}), (arg-1 @code{string}) @result{} @code{boolean}. Options: run-last.
-@item @anchor{signal.entry-completion.match-selected}"match-selected". Signature: (instance @ref{entry-completion}), (arg-1 @ref{tree-model}), (arg-2 @ref{tree-iter}) @result{} @code{boolean}. Options: run-last.
-@item @anchor{signal.entry-completion.cursor-on-match}"cursor-on-match". Signature: (instance @ref{entry-completion}), (arg-1 @ref{tree-model}), (arg-2 @ref{tree-iter}) @result{} @code{boolean}. Options: run-last.
-@item @anchor{signal.entry-completion.action-activated}"action-activated". Signature: (instance @ref{entry-completion}), (arg-1 @code{integer}) @result{} void. Options: run-last.
-@end itemize
+@RMethod entry-completion-insert-action-markup
+@lisp
+(entry-completion-insert-action-markup completion index markup)
+@end lisp
+
+Inserts an action in completion's action item list at position @var{index} with markup @var{markup}.
 
+@RMethod entry-completion-delete-action
+@lisp
+(entry-completion-delete-action completion index)
+@end lisp
 
+Deletes the action at @var{index} from completion's action list.
 
 
 @node file-filter
@@ -503,6 +1318,11 @@ Signals:
 @Class file-filter
 Superclass: @ref{gtk-object}
 
+A @ref{file-filter} can be used to restrict the files being shown in a @ref{file-chooser}. Files can be filtered based on their name (with gtk_file_filter_add_pattern()), on their mime type (with gtk_file_filter_add_mime_type()), or by a custom filter function (with gtk_file_filter_add_custom()).
+
+Filtering by mime types handles aliasing and subclassing of mime types; e.g. a filter for text/plain also matches a file with mime type application/rtf, since application/rtf is a subclass of text/plain. Note that GtkFileFilter allows wildcards for the subtype of a mime type, so you can e.g. filter for image/*.
+
+Normally, filters are used by adding them to a GtkFileChooser, see gtk_file_chooser_add_filter(), but it is also possible to manually use a filter on a file with gtk_file_filter_filter().
 Slots:
 @itemize
 @item @anchor{slot.file-filter.name}name. Type: @code{string}. Accessor: @anchor{fn.file-filter-name}@code{file-filter-name}.
@@ -521,17 +1341,25 @@ Signals:
 @Class gtk-object
 Superclass: @ref{g-initially-unowned}
 
-Subclasses: @ref{tooltips} @ref{recent-filter} @ref{file-filter} @ref{cell-renderer} @ref{tree-view-column} @ref{adjustment} @ref{widget}
+Subclasses: @ref{recent-filter} @ref{file-filter} @ref{cell-renderer} @ref{tree-view-column} @ref{adjustment} @ref{widget}
+
+@ref{gtk-object} is the base class for all widgets, and for a few non-widget objects such as @ref{adjustment}. @ref{gtk-object} predates @ref{g-object}; non-widgets that derive from @ref{gtk-object} rather than @ref{g-object} do so for backward compatibility reasons.
+
+The @SignalRef{gtk-object,destroy} signal asks all code owning a reference to an object to release said reference. So, for example, if you call gtk_object_destroy() on a @ref{gtk-window}, GTK+ will release the reference count that it owns; if you call gtk_object_destroy() on a @ref{button}, then the button will be removed from its parent container and the parent container will release its reference to the button. Because these references are released, calling gtk_object_destroy() should result in freeing all memory associated with an object, unless some buggy code fails to release its references in response to the "destroy" signal.
 
 Slots:
 @itemize
 @item @anchor{slot.gtk-object.user-data}user-data. Type: gpointer. Accessor: @anchor{fn.gtk-object-user-data}@code{gtk-object-user-data}.
+
+Anonymous User Data Pointer.
 @end itemize
 
 
 Signals:
 @itemize
 @item @anchor{signal.gtk-object.destroy}"destroy". Signature: (instance @ref{gtk-object}) @result{} void. Options: run-cleanup, no-recurse, no-hooks.
+
+Signals that all holders of a reference to the @ref{gtk-object} should release the reference that they hold. May result in finalization of the object if all references are released.
 @end itemize
 
 
@@ -542,6 +1370,15 @@ Signals:
 @Class i-m-context
 Superclass: @ref{g-object}
 
+
+@ref{i-m-context} defines the interface for GTK+ input methods. An input method is used by GTK+ text input widgets like @ref{entry} to map from key events to Unicode character strings.
+
+The user may change the current input method via a context menu, unless the @SlotRef{settings,gtk-show-input-method-menu} property is set to FALSE. The default input method can be set programmatically via the @SlotRef{settings,gtk-im-module} property. Alternatively, you may set the GTK_IM_MODULE environment variable as documented in gtk-running.
+
+The @SlotRef{entry,im-module} and @SlotRef{text-view,im-module} properties may also be used to set input methods for specific widget instances. For instance, a certain entry widget might be expected to contain certain characters which would be easier to input with a certain input method.
+
+An input method may consume multiple key events in sequence and finally output the composed result. This is called preediting, and an input method may provide feedback about this process by displaying the intermediate composition states as preedit text. For instance, the default GTK+ input method implements the input of arbitrary Unicode code points by holding down the Control and Shift keys and then typing "U" followed by the hexadecimal digits of the code point. When releasing the Control and Shift keys, preediting ends and the character is inserted as text. Ctrl+Shift+u20AC for example results in the â‚¬ sign.
+
 Slots:
 @itemize
 @end itemize
@@ -549,6 +1386,30 @@ Slots:
 
 Signals:
 @itemize
+@item @anchor{signal.i-m-context.commit}"commit". Signature: (instance @ref{i-m-context}), (str @code{string}) @result{} void. Options: run-last.
+
+The signal is emitted when a complete input sequence has been entered by the user. This can be a single character immediately after a key press or the final result of preediting.
+@item @anchor{signal.i-m-context.delete-surrounding}"delete-surrounding". Signature: (instance @ref{i-m-context}), (offset @code{integer}), (n-chars @code{integer}) @result{} @code{boolean}. Options: run-last.
+
+The signal is emitted when the input method needs to delete all or part of the context surrounding the cursor.
+@table @var
+@item @var{offset}
+the character offset from the cursor position of the text to be deleted. A negative value indicates a position before the cursor.
+@item @var{n-chars}
+the number of characters to be deleted
+@end table
+@item @anchor{signal.i-m-context.preedit-changed}"preedit-changed". Signature: (instance @ref{i-m-context}) @result{} void. Options: run-last.
+
+The signal is emitted whenever the preedit sequence currently being entered has changed. It is also emitted at the end of a preedit sequence, in which case gtk_im_context_get_preedit_string() returns the empty string.
+@item @anchor{signal.i-m-context.preedit-end}"preedit-end". Signature: (instance @ref{i-m-context}) @result{} void. Options: run-last.
+
+The signal is emitted when a preediting sequence has been completed or canceled.
+@item @anchor{signal.i-m-context.preedit-start}"preedit-start". Signature: (instance @ref{i-m-context}) @result{} void. Options: run-last.
+
+The signal is emitted when a new preediting sequence starts.
+@item @anchor{signal.i-m-context.retrieve-surrounding}"retrieve-surrounding". Signature: (instance @ref{i-m-context}) @result{} @code{boolean}. Options: run-last.
+
+The signal is emitted when the input method requires the context surrounding the cursor. The callback should set the input method surrounding context by calling the gtk_im_context_set_surrounding() method.
 @end itemize
 
 
@@ -559,6 +1420,10 @@ Signals:
 @Class icon-factory
 Superclass: @ref{g-object}
 
+An icon factory manages a collection of GtkIconSet; a GtkIconSet manages a set of variants of a particular icon (i.e. a GtkIconSet contains variants for different sizes and widget states). Icons in an icon factory are named by a stock ID, which is a simple string identifying the icon. Each @ref{style} has a list of @ref{icon-factory} derived from the current theme; those icon factories are consulted first when searching for an icon. If the theme doesn't set a particular icon, GTK+ looks for the icon in a list of default icon factories, maintained by gtk_icon_factory_add_default() and gtk_icon_factory_remove_default(). Applications with icons should add a default icon factory with their icons, which will allow themes to override the icons for the application.
+
+To display an icon, always use gtk_style_lookup_icon_set() on the widget that will display the icon, or the convenience function gtk_widget_render_icon(). These functions take the theme into account when looking up the icon to use for a given stock ID.
+
 Slots:
 @itemize
 @end itemize
@@ -576,6 +1441,22 @@ Signals:
 @Class icon-theme
 Superclass: @ref{g-object}
 
+
+
+@ref{icon-theme} provides a facility for looking up icons by name and size. The main reason for using a name rather than simply providing a filename is to allow different icons to be used depending on what icon theme is selecetd by the user. The operation of icon themes on Linux and Unix follows the Icon Theme Specification. There is a default icon theme, named hicolor where applications should install their icons, but more additional application themes can be installed as operating system vendors and users choose.
+
+Named icons are similar to the Themeable Stock Images(3) facility, and the distinction between the two may be a bit confusing. A few things to keep in mind:
+
+Stock images usually are used in conjunction with Stock Items(3)., such as GTK_STOCK_OK or GTK_STOCK_OPEN. Named icons are easier to set up and therefore are more useful for new icons that an application wants to add, such as application icons or window icons.
+
+Stock images can only be loaded at the symbolic sizes defined by the GtkIconSize enumeration, or by custom sizes defined by gtk_icon_size_register(), while named icons are more flexible and any pixel size can be specified.
+
+Because stock images are closely tied to stock items, and thus to actions in the user interface, stock images may come in multiple variants for different widget states or writing directions.
+
+A good rule of thumb is that if there is a stock image for what you want to use, use it, otherwise use a named icon. It turns out that internally stock images are generally defined in terms of one or more named icons. (An example of the more than one case is icons that depend on writing direction; GTK_STOCK_GO_FORWARD uses the two themed icons "gtk-stock-go-forward-ltr" and "gtk-stock-go-forward-rtl".)
+
+In many cases, named themes are used indirectly, via GtkImage or stock items, rather than directly, but looking up icons directly is also simple. The GtkIconTheme object acts as a database of all the icons in the current theme. You can create new GtkIconTheme objects, but its much more efficient to use the standard icon theme for the GdkScreen so that the icon information is shared with other people looking up icons.
+
 Slots:
 @itemize
 @end itemize
@@ -583,6 +1464,7 @@ Slots:
 
 Signals:
 @itemize
+@item @anchor{signal.icon-theme.changed}"changed". Signature: (instance @ref{icon-theme}) @result{} void. Options: run-last.
 @end itemize
 
 
@@ -593,6 +1475,12 @@ Signals:
 @Class list-store
 Superclass: @ref{g-object}
 
+Note: see also @ref{array-list-store}
+
+The @ref{list-store} object is a list model for use with a @ref{tree-view} widget. It implements the @ref{tree-model} interface, and consequentialy, can use all of the methods available there. It also implements the @ref{tree-sortable} interface so it can be sorted by the view. Finally, it also implements the tree drag and drop interfaces.
+
+The @ref{list-store} can accept most GObject types as a column type, though it can't accept all custom types. Internally, it will keep a copy of data passed in (such as a string or a boxed pointer). Columns that accept GObjects are handled a little differently. The @ref{list-store} will keep a reference to the object instead of copying the value. As a result, if the object is modified, it is up to the application writer to call gtk_tree_model_row_changed to emit the "row_changed" signal. This most commonly affects lists with @ref{pixbuf}s stored.
+
 Slots:
 @itemize
 @end itemize
@@ -610,6 +1498,8 @@ Signals:
 @Class page-setup
 Superclass: @ref{g-object}
 
+
+
 Slots:
 @itemize
 @end itemize
@@ -620,8 +1510,6 @@ Signals:
 @end itemize
 
 
-
-
 @node print-context
 @section print-context
 @Class print-context
@@ -646,35 +1534,35 @@ Superclass: @ref{g-object}
 
 Slots:
 @itemize
+@item @anchor{slot.print-operation.allow-async}allow-async. Type: @code{boolean}. Accessor: @anchor{fn.print-operation-allow-async}@code{print-operation-allow-async}.
+@item @anchor{slot.print-operation.current-page}current-page. Type: @code{integer}. Accessor: @anchor{fn.print-operation-current-page}@code{print-operation-current-page}.
+@item @anchor{slot.print-operation.custom-tab-label}custom-tab-label. Type: @code{string}. Accessor: @anchor{fn.print-operation-custom-tab-label}@code{print-operation-custom-tab-label}.
 @item @anchor{slot.print-operation.default-page-setup}default-page-setup. Type: @ref{page-setup}. Accessor: @anchor{fn.print-operation-default-page-setup}@code{print-operation-default-page-setup}.
-@item @anchor{slot.print-operation.print-settings}print-settings. Type: @ref{print-settings}. Accessor: @anchor{fn.print-operation-print-settings}@code{print-operation-print-settings}.
+@item @anchor{slot.print-operation.export-filename}export-filename. Type: @code{string}. Accessor: @anchor{fn.print-operation-export-filename}@code{print-operation-export-filename}.
 @item @anchor{slot.print-operation.job-name}job-name. Type: @code{string}. Accessor: @anchor{fn.print-operation-job-name}@code{print-operation-job-name}.
 @item @anchor{slot.print-operation.n-pages}n-pages. Type: @code{integer}. Accessor: @anchor{fn.print-operation-n-pages}@code{print-operation-n-pages}.
-@item @anchor{slot.print-operation.current-page}current-page. Type: @code{integer}. Accessor: @anchor{fn.print-operation-current-page}@code{print-operation-current-page}.
-@item @anchor{slot.print-operation.use-full-page}use-full-page. Type: @code{boolean}. Accessor: @anchor{fn.print-operation-use-full-page}@code{print-operation-use-full-page}.
-@item @anchor{slot.print-operation.track-print-status}track-print-status. Type: @code{boolean}. Accessor: @anchor{fn.print-operation-track-print-status}@code{print-operation-track-print-status}.
-@item @anchor{slot.print-operation.unit}unit. Type: @ref{unit}. Accessor: @anchor{fn.print-operation-unit}@code{print-operation-unit}.
+@item @anchor{slot.print-operation.print-settings}print-settings. Type: @ref{print-settings}. Accessor: @anchor{fn.print-operation-print-settings}@code{print-operation-print-settings}.
 @item @anchor{slot.print-operation.show-progress}show-progress. Type: @code{boolean}. Accessor: @anchor{fn.print-operation-show-progress}@code{print-operation-show-progress}.
-@item @anchor{slot.print-operation.allow-async}allow-async. Type: @code{boolean}. Accessor: @anchor{fn.print-operation-allow-async}@code{print-operation-allow-async}.
-@item @anchor{slot.print-operation.export-filename}export-filename. Type: @code{string}. Accessor: @anchor{fn.print-operation-export-filename}@code{print-operation-export-filename}.
 @item @anchor{slot.print-operation.status}status. Type: @ref{print-status}. Accessor: @anchor{fn.print-operation-status}@code{print-operation-status}. Read-only.
 @item @anchor{slot.print-operation.status-string}status-string. Type: @code{string}. Accessor: @anchor{fn.print-operation-status-string}@code{print-operation-status-string}. Read-only.
-@item @anchor{slot.print-operation.custom-tab-label}custom-tab-label. Type: @code{string}. Accessor: @anchor{fn.print-operation-custom-tab-label}@code{print-operation-custom-tab-label}.
+@item @anchor{slot.print-operation.track-print-status}track-print-status. Type: @code{boolean}. Accessor: @anchor{fn.print-operation-track-print-status}@code{print-operation-track-print-status}.
+@item @anchor{slot.print-operation.unit}unit. Type: @ref{unit}. Accessor: @anchor{fn.print-operation-unit}@code{print-operation-unit}.
+@item @anchor{slot.print-operation.use-full-page}use-full-page. Type: @code{boolean}. Accessor: @anchor{fn.print-operation-use-full-page}@code{print-operation-use-full-page}.
 @end itemize
 
 
 Signals:
 @itemize
-@item @anchor{signal.print-operation.done}"done". Signature: (instance @ref{print-operation}), (arg-1 @ref{print-operation-result}) @result{} void. Options: run-last.
 @item @anchor{signal.print-operation.begin-print}"begin-print". Signature: (instance @ref{print-operation}), (arg-1 @ref{print-context}) @result{} void. Options: run-last.
-@item @anchor{signal.print-operation.paginate}"paginate". Signature: (instance @ref{print-operation}), (arg-1 @ref{print-context}) @result{} @code{boolean}. Options: run-last.
-@item @anchor{signal.print-operation.request-page-setup}"request-page-setup". Signature: (instance @ref{print-operation}), (arg-1 @ref{print-context}), (arg-2 @code{integer}), (arg-3 @ref{page-setup}) @result{} void. Options: run-last.
-@item @anchor{signal.print-operation.draw-page}"draw-page". Signature: (instance @ref{print-operation}), (arg-1 @ref{print-context}), (arg-2 @code{integer}) @result{} void. Options: run-last.
-@item @anchor{signal.print-operation.end-print}"end-print". Signature: (instance @ref{print-operation}), (arg-1 @ref{print-context}) @result{} void. Options: run-last.
-@item @anchor{signal.print-operation.status-changed}"status-changed". Signature: (instance @ref{print-operation}) @result{} void. Options: run-last.
 @item @anchor{signal.print-operation.create-custom-widget}"create-custom-widget". Signature: (instance @ref{print-operation}) @result{} @ref{g-object}. Options: run-last.
 @item @anchor{signal.print-operation.custom-widget-apply}"custom-widget-apply". Signature: (instance @ref{print-operation}), (arg-1 @ref{widget}) @result{} void. Options: run-last.
+@item @anchor{signal.print-operation.done}"done". Signature: (instance @ref{print-operation}), (arg-1 @ref{print-operation-result}) @result{} void. Options: run-last.
+@item @anchor{signal.print-operation.draw-page}"draw-page". Signature: (instance @ref{print-operation}), (arg-1 @ref{print-context}), (arg-2 @code{integer}) @result{} void. Options: run-last.
+@item @anchor{signal.print-operation.end-print}"end-print". Signature: (instance @ref{print-operation}), (arg-1 @ref{print-context}) @result{} void. Options: run-last.
+@item @anchor{signal.print-operation.paginate}"paginate". Signature: (instance @ref{print-operation}), (arg-1 @ref{print-context}) @result{} @code{boolean}. Options: run-last.
 @item @anchor{signal.print-operation.preview}"preview". Signature: (instance @ref{print-operation}), (arg-1 @ref{print-operation-preview}), (arg-2 @ref{print-context}), (arg-3 @ref{gtk-window}) @result{} @code{boolean}. Options: run-last.
+@item @anchor{signal.print-operation.request-page-setup}"request-page-setup". Signature: (instance @ref{print-operation}), (arg-1 @ref{print-context}), (arg-2 @code{integer}), (arg-3 @ref{page-setup}) @result{} void. Options: run-last.
+@item @anchor{signal.print-operation.status-changed}"status-changed". Signature: (instance @ref{print-operation}) @result{} void. Options: run-last.
 @end itemize
 
 
@@ -704,9 +1592,9 @@ Superclass: @ref{toggle-action}
 
 Slots:
 @itemize
-@item @anchor{slot.radio-action.value}value. Type: @code{integer}. Accessor: @anchor{fn.radio-action-value}@code{radio-action-value}.
-@item @anchor{slot.radio-action.group}group. Type: @ref{radio-action}. Accessor: @anchor{fn.radio-action-group}@code{radio-action-group}. Write-only.
 @item @anchor{slot.radio-action.current-value}current-value. Type: @code{integer}. Accessor: @anchor{fn.radio-action-current-value}@code{radio-action-current-value}.
+@item @anchor{slot.radio-action.group}group. Type: @ref{radio-action}. Accessor: @anchor{fn.radio-action-group}@code{radio-action-group}. Write-only.
+@item @anchor{slot.radio-action.value}value. Type: @code{integer}. Accessor: @anchor{fn.radio-action-value}@code{radio-action-value}.
 @end itemize
 
 
@@ -798,137 +1686,242 @@ Superclass: @ref{g-object}
 
 Slots:
 @itemize
-@item @anchor{slot.settings.gtk-double-click-time}gtk-double-click-time. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-double-click-time}@code{settings-gtk-double-click-time}.
-@item @anchor{slot.settings.gtk-double-click-distance}gtk-double-click-distance. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-double-click-distance}@code{settings-gtk-double-click-distance}.
+@item @anchor{slot.settings.color-hash}color-hash. Type: @code{GHashTable}. Accessor: @anchor{fn.settings-color-hash}@code{settings-color-hash}. Read-only.
+@item @anchor{slot.settings.gtk-alternative-button-order}gtk-alternative-button-order. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-alternative-button-order}@code{settings-gtk-alternative-button-order}.
+@item @anchor{slot.settings.gtk-alternative-sort-arrows}gtk-alternative-sort-arrows. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-alternative-sort-arrows}@code{settings-gtk-alternative-sort-arrows}.
+@item @anchor{slot.settings.gtk-button-images}gtk-button-images. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-button-images}@code{settings-gtk-button-images}.
+@item @anchor{slot.settings.gtk-can-change-accels}gtk-can-change-accels. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-can-change-accels}@code{settings-gtk-can-change-accels}.
+@item @anchor{slot.settings.gtk-color-palette}gtk-color-palette. Type: @code{string}. Accessor: @anchor{fn.settings-gtk-color-palette}@code{settings-gtk-color-palette}.
+@item @anchor{slot.settings.gtk-color-scheme}gtk-color-scheme. Type: @code{string}. Accessor: @anchor{fn.settings-gtk-color-scheme}@code{settings-gtk-color-scheme}.
 @item @anchor{slot.settings.gtk-cursor-blink}gtk-cursor-blink. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-cursor-blink}@code{settings-gtk-cursor-blink}.
 @item @anchor{slot.settings.gtk-cursor-blink-time}gtk-cursor-blink-time. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-cursor-blink-time}@code{settings-gtk-cursor-blink-time}.
 @item @anchor{slot.settings.gtk-cursor-blink-timeout}gtk-cursor-blink-timeout. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-cursor-blink-timeout}@code{settings-gtk-cursor-blink-timeout}.
-@item @anchor{slot.settings.gtk-split-cursor}gtk-split-cursor. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-split-cursor}@code{settings-gtk-split-cursor}.
-@item @anchor{slot.settings.gtk-theme-name}gtk-theme-name. Type: @code{string}. Accessor: @anchor{fn.settings-gtk-theme-name}@code{settings-gtk-theme-name}.
-@item @anchor{slot.settings.gtk-icon-theme-name}gtk-icon-theme-name. Type: @code{string}. Accessor: @anchor{fn.settings-gtk-icon-theme-name}@code{settings-gtk-icon-theme-name}.
-@item @anchor{slot.settings.gtk-fallback-icon-theme}gtk-fallback-icon-theme. Type: @code{string}. Accessor: @anchor{fn.settings-gtk-fallback-icon-theme}@code{settings-gtk-fallback-icon-theme}.
-@item @anchor{slot.settings.gtk-key-theme-name}gtk-key-theme-name. Type: @code{string}. Accessor: @anchor{fn.settings-gtk-key-theme-name}@code{settings-gtk-key-theme-name}.
-@item @anchor{slot.settings.gtk-menu-bar-accel}gtk-menu-bar-accel. Type: @code{string}. Accessor: @anchor{fn.settings-gtk-menu-bar-accel}@code{settings-gtk-menu-bar-accel}.
-@item @anchor{slot.settings.gtk-dnd-drag-threshold}gtk-dnd-drag-threshold. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-dnd-drag-threshold}@code{settings-gtk-dnd-drag-threshold}.
-@item @anchor{slot.settings.gtk-font-name}gtk-font-name. Type: @code{string}. Accessor: @anchor{fn.settings-gtk-font-name}@code{settings-gtk-font-name}.
-@item @anchor{slot.settings.gtk-icon-sizes}gtk-icon-sizes. Type: @code{string}. Accessor: @anchor{fn.settings-gtk-icon-sizes}@code{settings-gtk-icon-sizes}.
-@item @anchor{slot.settings.gtk-modules}gtk-modules. Type: @code{string}. Accessor: @anchor{fn.settings-gtk-modules}@code{settings-gtk-modules}.
-@item @anchor{slot.settings.gtk-xft-antialias}gtk-xft-antialias. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-xft-antialias}@code{settings-gtk-xft-antialias}.
-@item @anchor{slot.settings.gtk-xft-hinting}gtk-xft-hinting. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-xft-hinting}@code{settings-gtk-xft-hinting}.
-@item @anchor{slot.settings.gtk-xft-hintstyle}gtk-xft-hintstyle. Type: @code{string}. Accessor: @anchor{fn.settings-gtk-xft-hintstyle}@code{settings-gtk-xft-hintstyle}.
-@item @anchor{slot.settings.gtk-xft-rgba}gtk-xft-rgba. Type: @code{string}. Accessor: @anchor{fn.settings-gtk-xft-rgba}@code{settings-gtk-xft-rgba}.
-@item @anchor{slot.settings.gtk-xft-dpi}gtk-xft-dpi. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-xft-dpi}@code{settings-gtk-xft-dpi}.
 @item @anchor{slot.settings.gtk-cursor-theme-name}gtk-cursor-theme-name. Type: @code{string}. Accessor: @anchor{fn.settings-gtk-cursor-theme-name}@code{settings-gtk-cursor-theme-name}.
 @item @anchor{slot.settings.gtk-cursor-theme-size}gtk-cursor-theme-size. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-cursor-theme-size}@code{settings-gtk-cursor-theme-size}.
-@item @anchor{slot.settings.gtk-alternative-button-order}gtk-alternative-button-order. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-alternative-button-order}@code{settings-gtk-alternative-button-order}.
-@item @anchor{slot.settings.gtk-alternative-sort-arrows}gtk-alternative-sort-arrows. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-alternative-sort-arrows}@code{settings-gtk-alternative-sort-arrows}.
-@item @anchor{slot.settings.gtk-show-input-method-menu}gtk-show-input-method-menu. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-show-input-method-menu}@code{settings-gtk-show-input-method-menu}.
-@item @anchor{slot.settings.gtk-show-unicode-menu}gtk-show-unicode-menu. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-show-unicode-menu}@code{settings-gtk-show-unicode-menu}.
-@item @anchor{slot.settings.gtk-timeout-initial}gtk-timeout-initial. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-timeout-initial}@code{settings-gtk-timeout-initial}.
-@item @anchor{slot.settings.gtk-timeout-repeat}gtk-timeout-repeat. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-timeout-repeat}@code{settings-gtk-timeout-repeat}.
-@item @anchor{slot.settings.gtk-timeout-expand}gtk-timeout-expand. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-timeout-expand}@code{settings-gtk-timeout-expand}.
-@item @anchor{slot.settings.gtk-color-scheme}gtk-color-scheme. Type: @code{string}. Accessor: @anchor{fn.settings-gtk-color-scheme}@code{settings-gtk-color-scheme}.
+@item @anchor{slot.settings.gtk-dnd-drag-threshold}gtk-dnd-drag-threshold. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-dnd-drag-threshold}@code{settings-gtk-dnd-drag-threshold}.
+@item @anchor{slot.settings.gtk-double-click-distance}gtk-double-click-distance. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-double-click-distance}@code{settings-gtk-double-click-distance}.
+@item @anchor{slot.settings.gtk-double-click-time}gtk-double-click-time. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-double-click-time}@code{settings-gtk-double-click-time}.
+@item @anchor{slot.settings.gtk-enable-accels}gtk-enable-accels. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-enable-accels}@code{settings-gtk-enable-accels}.
 @item @anchor{slot.settings.gtk-enable-animations}gtk-enable-animations. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-enable-animations}@code{settings-gtk-enable-animations}.
-@item @anchor{slot.settings.gtk-touchscreen-mode}gtk-touchscreen-mode. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-touchscreen-mode}@code{settings-gtk-touchscreen-mode}.
-@item @anchor{slot.settings.gtk-tooltip-timeout}gtk-tooltip-timeout. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-tooltip-timeout}@code{settings-gtk-tooltip-timeout}.
-@item @anchor{slot.settings.gtk-tooltip-browse-timeout}gtk-tooltip-browse-timeout. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-tooltip-browse-timeout}@code{settings-gtk-tooltip-browse-timeout}.
-@item @anchor{slot.settings.gtk-tooltip-browse-mode-timeout}gtk-tooltip-browse-mode-timeout. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-tooltip-browse-mode-timeout}@code{settings-gtk-tooltip-browse-mode-timeout}.
-@item @anchor{slot.settings.gtk-keynav-cursor-only}gtk-keynav-cursor-only. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-keynav-cursor-only}@code{settings-gtk-keynav-cursor-only}.
-@item @anchor{slot.settings.gtk-keynav-wrap-around}gtk-keynav-wrap-around. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-keynav-wrap-around}@code{settings-gtk-keynav-wrap-around}.
+@item @anchor{slot.settings.gtk-enable-event-sounds}gtk-enable-event-sounds. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-enable-event-sounds}@code{settings-gtk-enable-event-sounds}.
+@item @anchor{slot.settings.gtk-enable-input-feedback-sounds}gtk-enable-input-feedback-sounds. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-enable-input-feedback-sounds}@code{settings-gtk-enable-input-feedback-sounds}.
+@item @anchor{slot.settings.gtk-enable-mnemonics}gtk-enable-mnemonics. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-enable-mnemonics}@code{settings-gtk-enable-mnemonics}.
+@item @anchor{slot.settings.gtk-enable-tooltips}gtk-enable-tooltips. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-enable-tooltips}@code{settings-gtk-enable-tooltips}.
+@item @anchor{slot.settings.gtk-entry-password-hint-timeout}gtk-entry-password-hint-timeout. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-entry-password-hint-timeout}@code{settings-gtk-entry-password-hint-timeout}.
+@item @anchor{slot.settings.gtk-entry-select-on-focus}gtk-entry-select-on-focus. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-entry-select-on-focus}@code{settings-gtk-entry-select-on-focus}.
 @item @anchor{slot.settings.gtk-error-bell}gtk-error-bell. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-error-bell}@code{settings-gtk-error-bell}.
-@item @anchor{slot.settings.color-hash}color-hash. Type: @code{GHashTable}. Accessor: @anchor{fn.settings-color-hash}@code{settings-color-hash}. Read-only.
+@item @anchor{slot.settings.gtk-fallback-icon-theme}gtk-fallback-icon-theme. Type: @code{string}. Accessor: @anchor{fn.settings-gtk-fallback-icon-theme}@code{settings-gtk-fallback-icon-theme}.
 @item @anchor{slot.settings.gtk-file-chooser-backend}gtk-file-chooser-backend. Type: @code{string}. Accessor: @anchor{fn.settings-gtk-file-chooser-backend}@code{settings-gtk-file-chooser-backend}.
+@item @anchor{slot.settings.gtk-font-name}gtk-font-name. Type: @code{string}. Accessor: @anchor{fn.settings-gtk-font-name}@code{settings-gtk-font-name}.
+@item @anchor{slot.settings.gtk-fontconfig-timestamp}gtk-fontconfig-timestamp. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-fontconfig-timestamp}@code{settings-gtk-fontconfig-timestamp}.
+@item @anchor{slot.settings.gtk-icon-sizes}gtk-icon-sizes. Type: @code{string}. Accessor: @anchor{fn.settings-gtk-icon-sizes}@code{settings-gtk-icon-sizes}.
+@item @anchor{slot.settings.gtk-icon-theme-name}gtk-icon-theme-name. Type: @code{string}. Accessor: @anchor{fn.settings-gtk-icon-theme-name}@code{settings-gtk-icon-theme-name}.
+@item @anchor{slot.settings.gtk-im-module}gtk-im-module. Type: @code{string}. Accessor: @anchor{fn.settings-gtk-im-module}@code{settings-gtk-im-module}.
+@item @anchor{slot.settings.gtk-key-theme-name}gtk-key-theme-name. Type: @code{string}. Accessor: @anchor{fn.settings-gtk-key-theme-name}@code{settings-gtk-key-theme-name}.
+@item @anchor{slot.settings.gtk-keynav-cursor-only}gtk-keynav-cursor-only. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-keynav-cursor-only}@code{settings-gtk-keynav-cursor-only}.
+@item @anchor{slot.settings.gtk-keynav-wrap-around}gtk-keynav-wrap-around. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-keynav-wrap-around}@code{settings-gtk-keynav-wrap-around}.
+@item @anchor{slot.settings.gtk-label-select-on-focus}gtk-label-select-on-focus. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-label-select-on-focus}@code{settings-gtk-label-select-on-focus}.
+@item @anchor{slot.settings.gtk-menu-bar-accel}gtk-menu-bar-accel. Type: @code{string}. Accessor: @anchor{fn.settings-gtk-menu-bar-accel}@code{settings-gtk-menu-bar-accel}.
+@item @anchor{slot.settings.gtk-menu-bar-popup-delay}gtk-menu-bar-popup-delay. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-menu-bar-popup-delay}@code{settings-gtk-menu-bar-popup-delay}.
+@item @anchor{slot.settings.gtk-menu-images}gtk-menu-images. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-menu-images}@code{settings-gtk-menu-images}.
+@item @anchor{slot.settings.gtk-menu-popdown-delay}gtk-menu-popdown-delay. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-menu-popdown-delay}@code{settings-gtk-menu-popdown-delay}.
+@item @anchor{slot.settings.gtk-menu-popup-delay}gtk-menu-popup-delay. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-menu-popup-delay}@code{settings-gtk-menu-popup-delay}.
+@item @anchor{slot.settings.gtk-modules}gtk-modules. Type: @code{string}. Accessor: @anchor{fn.settings-gtk-modules}@code{settings-gtk-modules}.
 @item @anchor{slot.settings.gtk-print-backends}gtk-print-backends. Type: @code{string}. Accessor: @anchor{fn.settings-gtk-print-backends}@code{settings-gtk-print-backends}.
 @item @anchor{slot.settings.gtk-print-preview-command}gtk-print-preview-command. Type: @code{string}. Accessor: @anchor{fn.settings-gtk-print-preview-command}@code{settings-gtk-print-preview-command}.
-@item @anchor{slot.settings.gtk-enable-mnemonics}gtk-enable-mnemonics. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-enable-mnemonics}@code{settings-gtk-enable-mnemonics}.
-@item @anchor{slot.settings.gtk-enable-accels}gtk-enable-accels. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-enable-accels}@code{settings-gtk-enable-accels}.
 @item @anchor{slot.settings.gtk-recent-files-limit}gtk-recent-files-limit. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-recent-files-limit}@code{settings-gtk-recent-files-limit}.
-@item @anchor{slot.settings.gtk-im-module}gtk-im-module. Type: @code{string}. Accessor: @anchor{fn.settings-gtk-im-module}@code{settings-gtk-im-module}.
 @item @anchor{slot.settings.gtk-recent-files-max-age}gtk-recent-files-max-age. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-recent-files-max-age}@code{settings-gtk-recent-files-max-age}.
-@item @anchor{slot.settings.gtk-fontconfig-timestamp}gtk-fontconfig-timestamp. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-fontconfig-timestamp}@code{settings-gtk-fontconfig-timestamp}.
-@item @anchor{slot.settings.gtk-sound-theme-name}gtk-sound-theme-name. Type: @code{string}. Accessor: @anchor{fn.settings-gtk-sound-theme-name}@code{settings-gtk-sound-theme-name}.
-@item @anchor{slot.settings.gtk-enable-input-feedback-sounds}gtk-enable-input-feedback-sounds. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-enable-input-feedback-sounds}@code{settings-gtk-enable-input-feedback-sounds}.
-@item @anchor{slot.settings.gtk-enable-event-sounds}gtk-enable-event-sounds. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-enable-event-sounds}@code{settings-gtk-enable-event-sounds}.
-@item @anchor{slot.settings.gtk-enable-tooltips}gtk-enable-tooltips. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-enable-tooltips}@code{settings-gtk-enable-tooltips}.
-@item @anchor{slot.settings.gtk-button-images}gtk-button-images. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-button-images}@code{settings-gtk-button-images}.
-@item @anchor{slot.settings.gtk-menu-images}gtk-menu-images. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-menu-images}@code{settings-gtk-menu-images}.
 @item @anchor{slot.settings.gtk-scrolled-window-placement}gtk-scrolled-window-placement. Type: @ref{corner-type}. Accessor: @anchor{fn.settings-gtk-scrolled-window-placement}@code{settings-gtk-scrolled-window-placement}.
-@item @anchor{slot.settings.gtk-can-change-accels}gtk-can-change-accels. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-can-change-accels}@code{settings-gtk-can-change-accels}.
-@item @anchor{slot.settings.gtk-menu-popup-delay}gtk-menu-popup-delay. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-menu-popup-delay}@code{settings-gtk-menu-popup-delay}.
-@item @anchor{slot.settings.gtk-menu-popdown-delay}gtk-menu-popdown-delay. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-menu-popdown-delay}@code{settings-gtk-menu-popdown-delay}.
-@item @anchor{slot.settings.gtk-menu-bar-popup-delay}gtk-menu-bar-popup-delay. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-menu-bar-popup-delay}@code{settings-gtk-menu-bar-popup-delay}.
-@item @anchor{slot.settings.gtk-color-palette}gtk-color-palette. Type: @code{string}. Accessor: @anchor{fn.settings-gtk-color-palette}@code{settings-gtk-color-palette}.
-@item @anchor{slot.settings.gtk-toolbar-style}gtk-toolbar-style. Type: @ref{toolbar-style}. Accessor: @anchor{fn.settings-gtk-toolbar-style}@code{settings-gtk-toolbar-style}.
+@item @anchor{slot.settings.gtk-show-input-method-menu}gtk-show-input-method-menu. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-show-input-method-menu}@code{settings-gtk-show-input-method-menu}.
+@item @anchor{slot.settings.gtk-show-unicode-menu}gtk-show-unicode-menu. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-show-unicode-menu}@code{settings-gtk-show-unicode-menu}.
+@item @anchor{slot.settings.gtk-sound-theme-name}gtk-sound-theme-name. Type: @code{string}. Accessor: @anchor{fn.settings-gtk-sound-theme-name}@code{settings-gtk-sound-theme-name}.
+@item @anchor{slot.settings.gtk-split-cursor}gtk-split-cursor. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-split-cursor}@code{settings-gtk-split-cursor}.
+@item @anchor{slot.settings.gtk-theme-name}gtk-theme-name. Type: @code{string}. Accessor: @anchor{fn.settings-gtk-theme-name}@code{settings-gtk-theme-name}.
+@item @anchor{slot.settings.gtk-timeout-expand}gtk-timeout-expand. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-timeout-expand}@code{settings-gtk-timeout-expand}.
+@item @anchor{slot.settings.gtk-timeout-initial}gtk-timeout-initial. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-timeout-initial}@code{settings-gtk-timeout-initial}.
+@item @anchor{slot.settings.gtk-timeout-repeat}gtk-timeout-repeat. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-timeout-repeat}@code{settings-gtk-timeout-repeat}.
 @item @anchor{slot.settings.gtk-toolbar-icon-size}gtk-toolbar-icon-size. Type: @ref{icon-size}. Accessor: @anchor{fn.settings-gtk-toolbar-icon-size}@code{settings-gtk-toolbar-icon-size}.
-@item @anchor{slot.settings.gtk-label-select-on-focus}gtk-label-select-on-focus. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-label-select-on-focus}@code{settings-gtk-label-select-on-focus}.
-@item @anchor{slot.settings.gtk-entry-select-on-focus}gtk-entry-select-on-focus. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-entry-select-on-focus}@code{settings-gtk-entry-select-on-focus}.
-@item @anchor{slot.settings.gtk-entry-password-hint-timeout}gtk-entry-password-hint-timeout. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-entry-password-hint-timeout}@code{settings-gtk-entry-password-hint-timeout}.
+@item @anchor{slot.settings.gtk-toolbar-style}gtk-toolbar-style. Type: @ref{toolbar-style}. Accessor: @anchor{fn.settings-gtk-toolbar-style}@code{settings-gtk-toolbar-style}.
+@item @anchor{slot.settings.gtk-tooltip-browse-mode-timeout}gtk-tooltip-browse-mode-timeout. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-tooltip-browse-mode-timeout}@code{settings-gtk-tooltip-browse-mode-timeout}.
+@item @anchor{slot.settings.gtk-tooltip-browse-timeout}gtk-tooltip-browse-timeout. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-tooltip-browse-timeout}@code{settings-gtk-tooltip-browse-timeout}.
+@item @anchor{slot.settings.gtk-tooltip-timeout}gtk-tooltip-timeout. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-tooltip-timeout}@code{settings-gtk-tooltip-timeout}.
+@item @anchor{slot.settings.gtk-touchscreen-mode}gtk-touchscreen-mode. Type: @code{boolean}. Accessor: @anchor{fn.settings-gtk-touchscreen-mode}@code{settings-gtk-touchscreen-mode}.
+@item @anchor{slot.settings.gtk-xft-antialias}gtk-xft-antialias. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-xft-antialias}@code{settings-gtk-xft-antialias}.
+@item @anchor{slot.settings.gtk-xft-dpi}gtk-xft-dpi. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-xft-dpi}@code{settings-gtk-xft-dpi}.
+@item @anchor{slot.settings.gtk-xft-hinting}gtk-xft-hinting. Type: @code{integer}. Accessor: @anchor{fn.settings-gtk-xft-hinting}@code{settings-gtk-xft-hinting}.
+@item @anchor{slot.settings.gtk-xft-hintstyle}gtk-xft-hintstyle. Type: @code{string}. Accessor: @anchor{fn.settings-gtk-xft-hintstyle}@code{settings-gtk-xft-hintstyle}.
+@item @anchor{slot.settings.gtk-xft-rgba}gtk-xft-rgba. Type: @code{string}. Accessor: @anchor{fn.settings-gtk-xft-rgba}@code{settings-gtk-xft-rgba}.
+@end itemize
+
+
+Signals:
+@itemize
+@end itemize
+
+
+
+
+@node size-group
+@section size-group
+@Class size-group
+Superclass: @ref{g-object}
+
+Slots:
+@itemize
+@item @anchor{slot.size-group.ignore-hidden}ignore-hidden. Type: @code{boolean}. Accessor: @anchor{fn.size-group-ignore-hidden}@code{size-group-ignore-hidden}.
+@item @anchor{slot.size-group.mode}mode. Type: @ref{size-group-mode}. Accessor: @anchor{fn.size-group-mode}@code{size-group-mode}.
+@end itemize
+
+
+Signals:
+@itemize
 @end itemize
 
 
-Signals:
-@itemize
-@end itemize
 
 
+@node status-icon
+@section status-icon
+@Class status-icon
+Superclass: @ref{g-object}
+
+The "system tray" or notification area is normally used for transient icons that indicate some special state. For example, a system tray icon might appear to tell the user that they have new mail, or have an incoming instant message, or something along those lines. The basic idea is that creating an icon in the notification area is less annoying than popping up a dialog.
+
+A @ref{status-icon} object can be used to display an icon in a "system tray". The icon can have a tooltip, and the user can interact with it by activating it or popping up a context menu. Critical information should not solely be displayed in a @ref{status-icon}, since it may not be visible (e.g. when the user doesn't have a notification area on his panel). This can be checked with @SlotRef{status-icon,embedded}.
+
+On X11, the implementation follows the freedesktop.org "System Tray" specification. Implementations of the "tray" side of this specification can be found e.g. in the GNOME and KDE panel applications.
+
+Note that a @ref{status-icon} is not a @ref{widget}, but just a @ref{g-object}. Making it a widget would be impractical, since the system tray on Win32 doesn't allow to embed arbitrary widgets.
+
+Slots:
+@itemize
+@item @anchor{slot.status-icon.blinking}blinking. Type: @code{boolean}. Accessor: @anchor{fn.status-icon-blinking}@code{status-icon-blinking}.
+
+Whether or not the status icon is blinking.
+
+Default value: FALSE
+@item @anchor{slot.status-icon.embedded}embedded. Type: @code{boolean}. Accessor: @anchor{fn.status-icon-embedded}@code{status-icon-embedded}. Read-only.
+
+TRUE if the statusicon is embedded in a notification area.
+
+Default value: FALSE
+@item @anchor{slot.status-icon.file}file. Type: @code{string}. Accessor: @anchor{fn.status-icon-file}@code{status-icon-file}. Write-only.
+
+Filename to load and display.
+@item @anchor{slot.status-icon.gicon}gicon. Type: @code{GIcon}. Accessor: @anchor{fn.status-icon-gicon}@code{status-icon-gicon}.
+
+The GIcon displayed in the GtkStatusIcon. For themed icons, the image will be updated automatically if the theme changes.
+@item @anchor{slot.status-icon.has-tooltip}has-tooltip. Type: @code{boolean}. Accessor: @anchor{fn.status-icon-has-tooltip}@code{status-icon-has-tooltip}.
+
+Enables or disables the emission of @SignalRef{status-icon,query-tooltip}. A value of TRUE indicates that status icon can have a tooltip, in this case the status icon will be queried using @SignalRef{status-icon,query-tooltip} to determine whether it will provide a tooltip or not.
+
+Note that setting this property to TRUE for the first time will change the event masks of the windows of this status icon to include leave-notify and motion-notify events. This will not be undone when the property is set to FALSE again.
 
+Whether this property is respected is platform dependent. For plain text tooltips, use @SlotRef{status-icon,tooltip-text} in preference.
 
-@node size-group
-@section size-group
-@Class size-group
-Superclass: @ref{g-object}
+Default value: FALSE
+@item @anchor{slot.status-icon.icon-name}icon-name. Type: @code{string}. Accessor: @anchor{fn.status-icon-icon-name}@code{status-icon-icon-name}.
 
-Slots:
-@itemize
-@item @anchor{slot.size-group.mode}mode. Type: @ref{size-group-mode}. Accessor: @anchor{fn.size-group-mode}@code{size-group-mode}.
-@item @anchor{slot.size-group.ignore-hidden}ignore-hidden. Type: @code{boolean}. Accessor: @anchor{fn.size-group-ignore-hidden}@code{size-group-ignore-hidden}.
-@end itemize
+The name of the icon from the icon theme.
+@item @anchor{slot.status-icon.orientation}orientation. Type: @ref{orientation}. Accessor: @anchor{fn.status-icon-orientation}@code{status-icon-orientation}. Read-only.
 
+The orientation of the tray in which the statusicon is embedded.
+@item @anchor{slot.status-icon.pixbuf}pixbuf. Type: @ref{pixbuf}. Accessor: @anchor{fn.status-icon-pixbuf}@code{status-icon-pixbuf}.
 
-Signals:
-@itemize
-@end itemize
 
+A @ref{pixbuf} to display.
+@item @anchor{slot.status-icon.screen}screen. Type: @ref{screen}. Accessor: @anchor{fn.status-icon-screen}@code{status-icon-screen}.
 
+The screen where this status icon will be displayed.
+@item @anchor{slot.status-icon.size}size. Type: @code{integer}. Accessor: @anchor{fn.status-icon-size}@code{status-icon-size}. Read-only.
 
+The size of the icon.
 
-@node status-icon
-@section status-icon
-@Class status-icon
-Superclass: @ref{g-object}
+Allowed values: >= 0
 
-Slots:
-@itemize
-@item @anchor{slot.status-icon.pixbuf}pixbuf. Type: @ref{pixbuf}. Accessor: @anchor{fn.status-icon-pixbuf}@code{status-icon-pixbuf}.
-@item @anchor{slot.status-icon.file}file. Type: @code{string}. Accessor: @anchor{fn.status-icon-file}@code{status-icon-file}. Write-only.
+Default value: 0
 @item @anchor{slot.status-icon.stock}stock. Type: @code{string}. Accessor: @anchor{fn.status-icon-stock}@code{status-icon-stock}.
-@item @anchor{slot.status-icon.icon-name}icon-name. Type: @code{string}. Accessor: @anchor{fn.status-icon-icon-name}@code{status-icon-icon-name}.
-@item @anchor{slot.status-icon.gicon}gicon. Type: @code{GIcon}. Accessor: @anchor{fn.status-icon-gicon}@code{status-icon-gicon}.
+
+Stock ID for a stock image to display.
+
+Default value: NULL
 @item @anchor{slot.status-icon.storage-type}storage-type. Type: @ref{image-type}. Accessor: @anchor{fn.status-icon-storage-type}@code{status-icon-storage-type}. Read-only.
-@item @anchor{slot.status-icon.size}size. Type: @code{integer}. Accessor: @anchor{fn.status-icon-size}@code{status-icon-size}. Read-only.
-@item @anchor{slot.status-icon.screen}screen. Type: @ref{screen}. Accessor: @anchor{fn.status-icon-screen}@code{status-icon-screen}.
-@item @anchor{slot.status-icon.visible}visible. Type: @code{boolean}. Accessor: @anchor{fn.status-icon-visible}@code{status-icon-visible}.
-@item @anchor{slot.status-icon.orientation}orientation. Type: @ref{orientation}. Accessor: @anchor{fn.status-icon-orientation}@code{status-icon-orientation}. Read-only.
-@item @anchor{slot.status-icon.embedded}embedded. Type: @code{boolean}. Accessor: @anchor{fn.status-icon-embedded}@code{status-icon-embedded}. Read-only.
-@item @anchor{slot.status-icon.blinking}blinking. Type: @code{boolean}. Accessor: @anchor{fn.status-icon-blinking}@code{status-icon-blinking}.
-@item @anchor{slot.status-icon.has-tooltip}has-tooltip. Type: @code{boolean}. Accessor: @anchor{fn.status-icon-has-tooltip}@code{status-icon-has-tooltip}.
-@item @anchor{slot.status-icon.tooltip-text}tooltip-text. Type: @code{string}. Accessor: @anchor{fn.status-icon-tooltip-text}@code{status-icon-tooltip-text}.
+
+The representation being used for image data.
 @item @anchor{slot.status-icon.tooltip-markup}tooltip-markup. Type: @code{string}. Accessor: @anchor{fn.status-icon-tooltip-markup}@code{status-icon-tooltip-markup}.
+
+Sets the text of tooltip to be the given string, which is marked up with the Pango text markup language.
+
+This is a convenience property which will take care of getting the tooltip shown if the given string is not NULL. @SlotRef{status-icon,has-tooltip} will automatically be set to TRUE and the default handler for the @SignalRef{status-icon,query-tooltip} signal will take care of displaying the tooltip.
+
+On some platforms, embedded markup will be ignored.
+
+Default value: NULL
+@item @anchor{slot.status-icon.tooltip-text}tooltip-text. Type: @code{string}. Accessor: @anchor{fn.status-icon-tooltip-text}@code{status-icon-tooltip-text}.
+
+Sets the text of tooltip to be the given string.
+
+This is a convenience property which will take care of getting the tooltip shown if the given string is not NULL. @SlotRef{status-icon,has-tooltip} will automatically be set to TRUE and the default handler for the @SignalRef{status-icon,query-tooltip} signal will take care of displaying the tooltip.
+
+Default value: NULL
+@item @anchor{slot.status-icon.visible}visible. Type: @code{boolean}. Accessor: @anchor{fn.status-icon-visible}@code{status-icon-visible}.
+
+Whether or not the status icon is visible.
+
+Default value: TRUE
 @end itemize
 
 
 Signals:
 @itemize
-@item @anchor{signal.status-icon.size-changed}"size-changed". Signature: (instance @ref{status-icon}), (arg-1 @code{integer}) @result{} @code{boolean}. Options: run-last.
-@item @anchor{signal.status-icon.button-press-event}"button-press-event". Signature: (instance @ref{status-icon}), (arg-1 @ref{event}) @result{} @code{boolean}. Options: run-last.
-@item @anchor{signal.status-icon.button-release-event}"button-release-event". Signature: (instance @ref{status-icon}), (arg-1 @ref{event}) @result{} @code{boolean}. Options: run-last.
-@item @anchor{signal.status-icon.scroll-event}"scroll-event". Signature: (instance @ref{status-icon}), (arg-1 @ref{event}) @result{} @code{boolean}. Options: run-last.
-@item @anchor{signal.status-icon.query-tooltip}"query-tooltip". Signature: (instance @ref{status-icon}), (arg-1 @code{integer}), (arg-2 @code{integer}), (arg-3 @code{boolean}), (arg-4 @ref{tooltip}) @result{} @code{boolean}. Options: run-last.
-@item @anchor{signal.status-icon.popup-menu}"popup-menu". Signature: (instance @ref{status-icon}), (arg-1 @code{integer}), (arg-2 @code{integer}) @result{} void. Options: run-first, action.
 @item @anchor{signal.status-icon.activate}"activate". Signature: (instance @ref{status-icon}) @result{} void. Options: run-first, action.
-@end itemize
 
+Gets emitted when the user activates the status icon. If and how status icons can activated is platform-dependent.
+
+Unlike most G_SIGNAL_ACTION signals, this signal is meant to be used by applications and should be wrapped by language bindings.
+@item @anchor{signal.status-icon.button-press-event}"button-press-event". Signature: (instance @ref{status-icon}), (event @ref{event-button}) @result{} @code{boolean}. Options: run-last.
+
+This signal will be emitted when a button (typically from a mouse) is pressed.
+
+Whether this event is emitted is platform-dependent. Use the @SignalRef{status-icon,activate} and @SignalRef{status-icon,popup-menu} signals in preference.
+@item @anchor{signal.status-icon.button-release-event}"button-release-event". Signature: (instance @ref{status-icon}), (event @ref{event-button}) @result{} @code{boolean}. Options: run-last.
+
+This signal will be emitted when a button (typically from a mouse) is released.
+
+Whether this event is emitted is platform-dependent. Use the @SignalRef{status-icon,activate} and @SignalRef{status-icon,popup-menu} signals in preference.
+@item @anchor{signal.status-icon.popup-menu}"popup-menu". Signature: (instance @ref{status-icon}), (button @code{integer}), (activate-time @code{integer}) @result{} void. Options: run-first, action.
+
+Gets emitted when the user brings up the context menu of the status icon. Whether status icons can have context menus and how these are activated is platform-dependent.
+
+The button and activate-time parameters should be passed as the last to arguments to gtk_menu_popup().
+
+Unlike most G_SIGNAL_ACTION signals, this signal is meant to be used by applications and should be wrapped by language bindings.
+@item @anchor{signal.status-icon.query-tooltip}"query-tooltip". Signature: (instance @ref{status-icon}), (x @code{integer}), (y @code{integer}), (keyboard-mode @code{boolean}), (tooltip @ref{tooltip}) @result{} @code{boolean}. Options: run-last.
+
+Emitted when the "gtk-tooltip-timeout" has expired with the cursor hovering above status_icon; or emitted when status_icon got focus in keyboard mode.
+
+Using the given coordinates, the signal handler should determine whether a tooltip should be shown for status-icon. If this is the case TRUE should be returned, FALSE otherwise. Note that if keyboard-mode is TRUE, the values of x and y are undefined and should not be used.
 
+The signal handler is free to manipulate @var{tooltip} with the therefore destined function calls.
+
+Whether this signal is emitted is platform-dependent. For plain text tooltips, use @SlotRef{status-icon,tooltip-text} in preference.
+
+@var{x}, @var{y}: the x and y coordinates of the cursor position where the request has been emitted, relative to status-icon
+
+@var{keyboard-mode}: TRUE if the tooltip was trigged using the keyboard
+@item @anchor{signal.status-icon.scroll-event}"scroll-event". Signature: (instance @ref{status-icon}), (event @ref{event-scroll}) @result{} @code{boolean}. Options: run-last.
+
+This signal is emitted when a button in the 4 to 7 range is pressed. Wheel mice are usually configured to generate button press events for buttons 4 and 5 when the wheel is turned.
+
+Whether this event is emitted is platform-dependent.
+@item @anchor{signal.status-icon.size-changed}"size-changed". Signature: (instance @ref{status-icon}), (size @code{integer}) @result{} @code{boolean}. Options: run-last.
+
+Gets emitted when the size available for the image changes, e.g. because the notification area got resized.
+
+Returns TRUE if the icon was updated for the new size. Otherwise, GTK+ will scale the icon as necessary.
+@end itemize
+
+TODO: gtk_status_icon_position_menu, gtk_status_icon_get_x11_window_id 
 
 
 @node style
@@ -943,6 +1936,8 @@ Slots:
 
 Signals:
 @itemize
+@item @anchor{signal.style.realize}"realize". Signature: (instance @ref{style}) @result{} void. Options: run-first.
+@item @anchor{signal.style.unrealize}"unrealize". Signature: (instance @ref{style}) @result{} void. Options: run-first.
 @end itemize
 
 
@@ -955,30 +1950,30 @@ Superclass: @ref{g-object}
 
 Slots:
 @itemize
-@item @anchor{slot.text-buffer.tag-table}tag-table. Type: @ref{text-tag-table}. Accessor: @anchor{fn.text-buffer-tag-table}@code{text-buffer-tag-table}.
-@item @anchor{slot.text-buffer.text}text. Type: @code{string}. Accessor: @anchor{fn.text-buffer-text}@code{text-buffer-text}.
-@item @anchor{slot.text-buffer.has-selection}has-selection. Type: @code{boolean}. Accessor: @anchor{fn.text-buffer-has-selection}@code{text-buffer-has-selection}. Read-only.
-@item @anchor{slot.text-buffer.cursor-position}cursor-position. Type: @code{integer}. Accessor: @anchor{fn.text-buffer-cursor-position}@code{text-buffer-cursor-position}. Read-only.
 @item @anchor{slot.text-buffer.copy-target-list}copy-target-list. Type: @code{GtkTargetList}. Accessor: @anchor{fn.text-buffer-copy-target-list}@code{text-buffer-copy-target-list}. Read-only.
+@item @anchor{slot.text-buffer.cursor-position}cursor-position. Type: @code{integer}. Accessor: @anchor{fn.text-buffer-cursor-position}@code{text-buffer-cursor-position}. Read-only.
+@item @anchor{slot.text-buffer.has-selection}has-selection. Type: @code{boolean}. Accessor: @anchor{fn.text-buffer-has-selection}@code{text-buffer-has-selection}. Read-only.
 @item @anchor{slot.text-buffer.paste-target-list}paste-target-list. Type: @code{GtkTargetList}. Accessor: @anchor{fn.text-buffer-paste-target-list}@code{text-buffer-paste-target-list}. Read-only.
+@item @anchor{slot.text-buffer.tag-table}tag-table. Type: @ref{text-tag-table}. Accessor: @anchor{fn.text-buffer-tag-table}@code{text-buffer-tag-table}.
+@item @anchor{slot.text-buffer.text}text. Type: @code{string}. Accessor: @anchor{fn.text-buffer-text}@code{text-buffer-text}.
 @end itemize
 
 
 Signals:
 @itemize
-@item @anchor{signal.text-buffer.changed}"changed". Signature: (instance @ref{text-buffer}) @result{} void. Options: run-last.
-@item @anchor{signal.text-buffer.insert-text}"insert-text". Signature: (instance @ref{text-buffer}), (arg-1 @ref{text-iter}), (arg-2 @code{string}), (arg-3 @code{integer}) @result{} void. Options: run-last.
-@item @anchor{signal.text-buffer.insert-pixbuf}"insert-pixbuf". Signature: (instance @ref{text-buffer}), (arg-1 @ref{text-iter}), (arg-2 @ref{pixbuf}) @result{} void. Options: run-last.
-@item @anchor{signal.text-buffer.insert-child-anchor}"insert-child-anchor". Signature: (instance @ref{text-buffer}), (arg-1 @ref{text-iter}), (arg-2 @ref{text-child-anchor}) @result{} void. Options: run-last.
-@item @anchor{signal.text-buffer.delete-range}"delete-range". Signature: (instance @ref{text-buffer}), (arg-1 @ref{text-iter}), (arg-2 @ref{text-iter}) @result{} void. Options: run-last.
-@item @anchor{signal.text-buffer.modified-changed}"modified-changed". Signature: (instance @ref{text-buffer}) @result{} void. Options: run-last.
-@item @anchor{signal.text-buffer.mark-set}"mark-set". Signature: (instance @ref{text-buffer}), (arg-1 @ref{text-iter}), (arg-2 @ref{text-mark}) @result{} void. Options: run-last.
-@item @anchor{signal.text-buffer.mark-deleted}"mark-deleted". Signature: (instance @ref{text-buffer}), (arg-1 @ref{text-mark}) @result{} void. Options: run-last.
 @item @anchor{signal.text-buffer.apply-tag}"apply-tag". Signature: (instance @ref{text-buffer}), (arg-1 @ref{text-tag}), (arg-2 @ref{text-iter}), (arg-3 @ref{text-iter}) @result{} void. Options: run-last.
-@item @anchor{signal.text-buffer.remove-tag}"remove-tag". Signature: (instance @ref{text-buffer}), (arg-1 @ref{text-tag}), (arg-2 @ref{text-iter}), (arg-3 @ref{text-iter}) @result{} void. Options: run-last.
 @item @anchor{signal.text-buffer.begin-user-action}"begin-user-action". Signature: (instance @ref{text-buffer}) @result{} void. Options: run-last.
+@item @anchor{signal.text-buffer.changed}"changed". Signature: (instance @ref{text-buffer}) @result{} void. Options: run-last.
+@item @anchor{signal.text-buffer.delete-range}"delete-range". Signature: (instance @ref{text-buffer}), (arg-1 @ref{text-iter}), (arg-2 @ref{text-iter}) @result{} void. Options: run-last.
 @item @anchor{signal.text-buffer.end-user-action}"end-user-action". Signature: (instance @ref{text-buffer}) @result{} void. Options: run-last.
+@item @anchor{signal.text-buffer.insert-child-anchor}"insert-child-anchor". Signature: (instance @ref{text-buffer}), (arg-1 @ref{text-iter}), (arg-2 @ref{text-child-anchor}) @result{} void. Options: run-last.
+@item @anchor{signal.text-buffer.insert-pixbuf}"insert-pixbuf". Signature: (instance @ref{text-buffer}), (arg-1 @ref{text-iter}), (arg-2 @ref{pixbuf}) @result{} void. Options: run-last.
+@item @anchor{signal.text-buffer.insert-text}"insert-text". Signature: (instance @ref{text-buffer}), (arg-1 @ref{text-iter}), (arg-2 @code{string}), (arg-3 @code{integer}) @result{} void. Options: run-last.
+@item @anchor{signal.text-buffer.mark-deleted}"mark-deleted". Signature: (instance @ref{text-buffer}), (arg-1 @ref{text-mark}) @result{} void. Options: run-last.
+@item @anchor{signal.text-buffer.mark-set}"mark-set". Signature: (instance @ref{text-buffer}), (arg-1 @ref{text-iter}), (arg-2 @ref{text-mark}) @result{} void. Options: run-last.
+@item @anchor{signal.text-buffer.modified-changed}"modified-changed". Signature: (instance @ref{text-buffer}) @result{} void. Options: run-last.
 @item @anchor{signal.text-buffer.paste-done}"paste-done". Signature: (instance @ref{text-buffer}), (arg-1 @ref{clipboard}) @result{} void. Options: run-last.
+@item @anchor{signal.text-buffer.remove-tag}"remove-tag". Signature: (instance @ref{text-buffer}), (arg-1 @ref{text-tag}), (arg-2 @ref{text-iter}), (arg-3 @ref{text-iter}) @result{} void. Options: run-last.
 @end itemize
 
 
@@ -1022,8 +2017,8 @@ Superclass: @ref{g-object}
 
 Slots:
 @itemize
-@item @anchor{slot.text-mark.name}name. Type: @code{string}. Accessor: @anchor{fn.text-mark-name}@code{text-mark-name}.
 @item @anchor{slot.text-mark.left-gravity}left-gravity. Type: @code{boolean}. Accessor: @anchor{fn.text-mark-left-gravity}@code{text-mark-left-gravity}.
+@item @anchor{slot.text-mark.name}name. Type: @code{string}. Accessor: @anchor{fn.text-mark-name}@code{text-mark-name}.
 @end itemize
 
 
@@ -1041,72 +2036,72 @@ Superclass: @ref{g-object}
 
 Slots:
 @itemize
-@item @anchor{slot.text-tag.name}name. Type: @code{string}. Accessor: @anchor{fn.text-tag-name}@code{text-tag-name}.
+@item @anchor{slot.text-tag.accumulative-margin}accumulative-margin. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-accumulative-margin}@code{text-tag-accumulative-margin}.
 @item @anchor{slot.text-tag.background}background. Type: @code{string}. Accessor: @anchor{fn.text-tag-background}@code{text-tag-background}. Write-only.
-@item @anchor{slot.text-tag.foreground}foreground. Type: @code{string}. Accessor: @anchor{fn.text-tag-foreground}@code{text-tag-foreground}. Write-only.
+@item @anchor{slot.text-tag.background-full-height}background-full-height. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-background-full-height}@code{text-tag-background-full-height}.
+@item @anchor{slot.text-tag.background-full-height-set}background-full-height-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-background-full-height-set}@code{text-tag-background-full-height-set}.
 @item @anchor{slot.text-tag.background-gdk}background-gdk. Type: @ref{color}. Accessor: @anchor{fn.text-tag-background-gdk}@code{text-tag-background-gdk}.
-@item @anchor{slot.text-tag.foreground-gdk}foreground-gdk. Type: @ref{color}. Accessor: @anchor{fn.text-tag-foreground-gdk}@code{text-tag-foreground-gdk}.
+@item @anchor{slot.text-tag.background-set}background-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-background-set}@code{text-tag-background-set}.
 @item @anchor{slot.text-tag.background-stipple}background-stipple. Type: @ref{pixmap}. Accessor: @anchor{fn.text-tag-background-stipple}@code{text-tag-background-stipple}.
-@item @anchor{slot.text-tag.foreground-stipple}foreground-stipple. Type: @ref{pixmap}. Accessor: @anchor{fn.text-tag-foreground-stipple}@code{text-tag-foreground-stipple}.
+@item @anchor{slot.text-tag.background-stipple-set}background-stipple-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-background-stipple-set}@code{text-tag-background-stipple-set}.
+@item @anchor{slot.text-tag.direction}direction. Type: @ref{text-direction}. Accessor: @anchor{fn.text-tag-direction}@code{text-tag-direction}.
+@item @anchor{slot.text-tag.editable}editable. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-editable}@code{text-tag-editable}.
+@item @anchor{slot.text-tag.editable-set}editable-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-editable-set}@code{text-tag-editable-set}.
+@item @anchor{slot.text-tag.family}family. Type: @code{string}. Accessor: @anchor{fn.text-tag-family}@code{text-tag-family}.
+@item @anchor{slot.text-tag.family-set}family-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-family-set}@code{text-tag-family-set}.
 @item @anchor{slot.text-tag.font}font. Type: @code{string}. Accessor: @anchor{fn.text-tag-font}@code{text-tag-font}.
 @item @anchor{slot.text-tag.font-desc}font-desc. Type: @code{PangoFontDescription}. Accessor: @anchor{fn.text-tag-font-desc}@code{text-tag-font-desc}.
-@item @anchor{slot.text-tag.family}family. Type: @code{string}. Accessor: @anchor{fn.text-tag-family}@code{text-tag-family}.
-@item @anchor{slot.text-tag.style}style. Type: @code{PangoStyle}. Accessor: @anchor{fn.text-tag-style}@code{text-tag-style}.
-@item @anchor{slot.text-tag.variant}variant. Type: @code{PangoVariant}. Accessor: @anchor{fn.text-tag-variant}@code{text-tag-variant}.
-@item @anchor{slot.text-tag.weight}weight. Type: @code{integer}. Accessor: @anchor{fn.text-tag-weight}@code{text-tag-weight}.
-@item @anchor{slot.text-tag.stretch}stretch. Type: @code{PangoStretch}. Accessor: @anchor{fn.text-tag-stretch}@code{text-tag-stretch}.
-@item @anchor{slot.text-tag.size}size. Type: @code{integer}. Accessor: @anchor{fn.text-tag-size}@code{text-tag-size}.
-@item @anchor{slot.text-tag.size-points}size-points. Type: @code{double-float}. Accessor: @anchor{fn.text-tag-size-points}@code{text-tag-size-points}.
-@item @anchor{slot.text-tag.scale}scale. Type: @code{double-float}. Accessor: @anchor{fn.text-tag-scale}@code{text-tag-scale}.
-@item @anchor{slot.text-tag.pixels-above-lines}pixels-above-lines. Type: @code{integer}. Accessor: @anchor{fn.text-tag-pixels-above-lines}@code{text-tag-pixels-above-lines}.
-@item @anchor{slot.text-tag.pixels-below-lines}pixels-below-lines. Type: @code{integer}. Accessor: @anchor{fn.text-tag-pixels-below-lines}@code{text-tag-pixels-below-lines}.
-@item @anchor{slot.text-tag.pixels-inside-wrap}pixels-inside-wrap. Type: @code{integer}. Accessor: @anchor{fn.text-tag-pixels-inside-wrap}@code{text-tag-pixels-inside-wrap}.
-@item @anchor{slot.text-tag.editable}editable. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-editable}@code{text-tag-editable}.
-@item @anchor{slot.text-tag.wrap-mode}wrap-mode. Type: @ref{wrap-mode}. Accessor: @anchor{fn.text-tag-wrap-mode}@code{text-tag-wrap-mode}.
-@item @anchor{slot.text-tag.justification}justification. Type: @ref{justification}. Accessor: @anchor{fn.text-tag-justification}@code{text-tag-justification}.
-@item @anchor{slot.text-tag.direction}direction. Type: @ref{text-direction}. Accessor: @anchor{fn.text-tag-direction}@code{text-tag-direction}.
-@item @anchor{slot.text-tag.left-margin}left-margin. Type: @code{integer}. Accessor: @anchor{fn.text-tag-left-margin}@code{text-tag-left-margin}.
+@item @anchor{slot.text-tag.foreground}foreground. Type: @code{string}. Accessor: @anchor{fn.text-tag-foreground}@code{text-tag-foreground}. Write-only.
+@item @anchor{slot.text-tag.foreground-gdk}foreground-gdk. Type: @ref{color}. Accessor: @anchor{fn.text-tag-foreground-gdk}@code{text-tag-foreground-gdk}.
+@item @anchor{slot.text-tag.foreground-set}foreground-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-foreground-set}@code{text-tag-foreground-set}.
+@item @anchor{slot.text-tag.foreground-stipple}foreground-stipple. Type: @ref{pixmap}. Accessor: @anchor{fn.text-tag-foreground-stipple}@code{text-tag-foreground-stipple}.
+@item @anchor{slot.text-tag.foreground-stipple-set}foreground-stipple-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-foreground-stipple-set}@code{text-tag-foreground-stipple-set}.
 @item @anchor{slot.text-tag.indent}indent. Type: @code{integer}. Accessor: @anchor{fn.text-tag-indent}@code{text-tag-indent}.
-@item @anchor{slot.text-tag.strikethrough}strikethrough. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-strikethrough}@code{text-tag-strikethrough}.
-@item @anchor{slot.text-tag.right-margin}right-margin. Type: @code{integer}. Accessor: @anchor{fn.text-tag-right-margin}@code{text-tag-right-margin}.
-@item @anchor{slot.text-tag.underline}underline. Type: @code{PangoUnderline}. Accessor: @anchor{fn.text-tag-underline}@code{text-tag-underline}.
-@item @anchor{slot.text-tag.rise}rise. Type: @code{integer}. Accessor: @anchor{fn.text-tag-rise}@code{text-tag-rise}.
-@item @anchor{slot.text-tag.background-full-height}background-full-height. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-background-full-height}@code{text-tag-background-full-height}.
-@item @anchor{slot.text-tag.language}language. Type: @code{string}. Accessor: @anchor{fn.text-tag-language}@code{text-tag-language}.
-@item @anchor{slot.text-tag.tabs}tabs. Type: @code{PangoTabArray}. Accessor: @anchor{fn.text-tag-tabs}@code{text-tag-tabs}.
+@item @anchor{slot.text-tag.indent-set}indent-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-indent-set}@code{text-tag-indent-set}.
 @item @anchor{slot.text-tag.invisible}invisible. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-invisible}@code{text-tag-invisible}.
+@item @anchor{slot.text-tag.invisible-set}invisible-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-invisible-set}@code{text-tag-invisible-set}.
+@item @anchor{slot.text-tag.justification}justification. Type: @ref{justification}. Accessor: @anchor{fn.text-tag-justification}@code{text-tag-justification}.
+@item @anchor{slot.text-tag.justification-set}justification-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-justification-set}@code{text-tag-justification-set}.
+@item @anchor{slot.text-tag.language}language. Type: @code{string}. Accessor: @anchor{fn.text-tag-language}@code{text-tag-language}.
+@item @anchor{slot.text-tag.language-set}language-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-language-set}@code{text-tag-language-set}.
+@item @anchor{slot.text-tag.left-margin}left-margin. Type: @code{integer}. Accessor: @anchor{fn.text-tag-left-margin}@code{text-tag-left-margin}.
+@item @anchor{slot.text-tag.left-margin-set}left-margin-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-left-margin-set}@code{text-tag-left-margin-set}.
+@item @anchor{slot.text-tag.name}name. Type: @code{string}. Accessor: @anchor{fn.text-tag-name}@code{text-tag-name}.
 @item @anchor{slot.text-tag.paragraph-background}paragraph-background. Type: @code{string}. Accessor: @anchor{fn.text-tag-paragraph-background}@code{text-tag-paragraph-background}. Write-only.
 @item @anchor{slot.text-tag.paragraph-background-gdk}paragraph-background-gdk. Type: @ref{color}. Accessor: @anchor{fn.text-tag-paragraph-background-gdk}@code{text-tag-paragraph-background-gdk}.
-@item @anchor{slot.text-tag.accumulative-margin}accumulative-margin. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-accumulative-margin}@code{text-tag-accumulative-margin}.
-@item @anchor{slot.text-tag.background-set}background-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-background-set}@code{text-tag-background-set}.
-@item @anchor{slot.text-tag.foreground-set}foreground-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-foreground-set}@code{text-tag-foreground-set}.
-@item @anchor{slot.text-tag.background-stipple-set}background-stipple-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-background-stipple-set}@code{text-tag-background-stipple-set}.
-@item @anchor{slot.text-tag.foreground-stipple-set}foreground-stipple-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-foreground-stipple-set}@code{text-tag-foreground-stipple-set}.
-@item @anchor{slot.text-tag.family-set}family-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-family-set}@code{text-tag-family-set}.
-@item @anchor{slot.text-tag.style-set}style-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-style-set}@code{text-tag-style-set}.
-@item @anchor{slot.text-tag.variant-set}variant-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-variant-set}@code{text-tag-variant-set}.
-@item @anchor{slot.text-tag.weight-set}weight-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-weight-set}@code{text-tag-weight-set}.
-@item @anchor{slot.text-tag.stretch-set}stretch-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-stretch-set}@code{text-tag-stretch-set}.
-@item @anchor{slot.text-tag.size-set}size-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-size-set}@code{text-tag-size-set}.
-@item @anchor{slot.text-tag.scale-set}scale-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-scale-set}@code{text-tag-scale-set}.
+@item @anchor{slot.text-tag.paragraph-background-set}paragraph-background-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-paragraph-background-set}@code{text-tag-paragraph-background-set}.
+@item @anchor{slot.text-tag.pixels-above-lines}pixels-above-lines. Type: @code{integer}. Accessor: @anchor{fn.text-tag-pixels-above-lines}@code{text-tag-pixels-above-lines}.
 @item @anchor{slot.text-tag.pixels-above-lines-set}pixels-above-lines-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-pixels-above-lines-set}@code{text-tag-pixels-above-lines-set}.
+@item @anchor{slot.text-tag.pixels-below-lines}pixels-below-lines. Type: @code{integer}. Accessor: @anchor{fn.text-tag-pixels-below-lines}@code{text-tag-pixels-below-lines}.
 @item @anchor{slot.text-tag.pixels-below-lines-set}pixels-below-lines-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-pixels-below-lines-set}@code{text-tag-pixels-below-lines-set}.
+@item @anchor{slot.text-tag.pixels-inside-wrap}pixels-inside-wrap. Type: @code{integer}. Accessor: @anchor{fn.text-tag-pixels-inside-wrap}@code{text-tag-pixels-inside-wrap}.
 @item @anchor{slot.text-tag.pixels-inside-wrap-set}pixels-inside-wrap-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-pixels-inside-wrap-set}@code{text-tag-pixels-inside-wrap-set}.
-@item @anchor{slot.text-tag.editable-set}editable-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-editable-set}@code{text-tag-editable-set}.
-@item @anchor{slot.text-tag.wrap-mode-set}wrap-mode-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-wrap-mode-set}@code{text-tag-wrap-mode-set}.
-@item @anchor{slot.text-tag.justification-set}justification-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-justification-set}@code{text-tag-justification-set}.
-@item @anchor{slot.text-tag.left-margin-set}left-margin-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-left-margin-set}@code{text-tag-left-margin-set}.
-@item @anchor{slot.text-tag.indent-set}indent-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-indent-set}@code{text-tag-indent-set}.
-@item @anchor{slot.text-tag.strikethrough-set}strikethrough-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-strikethrough-set}@code{text-tag-strikethrough-set}.
+@item @anchor{slot.text-tag.priority}priority. Type: @code{integer}. Accessor: @anchor{fn.text-tag-priority}@code{text-tag-priority}.
+@item @anchor{slot.text-tag.right-margin}right-margin. Type: @code{integer}. Accessor: @anchor{fn.text-tag-right-margin}@code{text-tag-right-margin}.
 @item @anchor{slot.text-tag.right-margin-set}right-margin-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-right-margin-set}@code{text-tag-right-margin-set}.
-@item @anchor{slot.text-tag.underline-set}underline-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-underline-set}@code{text-tag-underline-set}.
+@item @anchor{slot.text-tag.rise}rise. Type: @code{integer}. Accessor: @anchor{fn.text-tag-rise}@code{text-tag-rise}.
 @item @anchor{slot.text-tag.rise-set}rise-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-rise-set}@code{text-tag-rise-set}.
-@item @anchor{slot.text-tag.background-full-height-set}background-full-height-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-background-full-height-set}@code{text-tag-background-full-height-set}.
-@item @anchor{slot.text-tag.language-set}language-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-language-set}@code{text-tag-language-set}.
+@item @anchor{slot.text-tag.scale}scale. Type: @code{double-float}. Accessor: @anchor{fn.text-tag-scale}@code{text-tag-scale}.
+@item @anchor{slot.text-tag.scale-set}scale-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-scale-set}@code{text-tag-scale-set}.
+@item @anchor{slot.text-tag.size}size. Type: @code{integer}. Accessor: @anchor{fn.text-tag-size}@code{text-tag-size}.
+@item @anchor{slot.text-tag.size-points}size-points. Type: @code{double-float}. Accessor: @anchor{fn.text-tag-size-points}@code{text-tag-size-points}.
+@item @anchor{slot.text-tag.size-set}size-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-size-set}@code{text-tag-size-set}.
+@item @anchor{slot.text-tag.stretch}stretch. Type: @code{PangoStretch}. Accessor: @anchor{fn.text-tag-stretch}@code{text-tag-stretch}.
+@item @anchor{slot.text-tag.stretch-set}stretch-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-stretch-set}@code{text-tag-stretch-set}.
+@item @anchor{slot.text-tag.strikethrough}strikethrough. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-strikethrough}@code{text-tag-strikethrough}.
+@item @anchor{slot.text-tag.strikethrough-set}strikethrough-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-strikethrough-set}@code{text-tag-strikethrough-set}.
+@item @anchor{slot.text-tag.style}style. Type: @code{PangoStyle}. Accessor: @anchor{fn.text-tag-style}@code{text-tag-style}.
+@item @anchor{slot.text-tag.style-set}style-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-style-set}@code{text-tag-style-set}.
+@item @anchor{slot.text-tag.tabs}tabs. Type: @code{PangoTabArray}. Accessor: @anchor{fn.text-tag-tabs}@code{text-tag-tabs}.
 @item @anchor{slot.text-tag.tabs-set}tabs-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-tabs-set}@code{text-tag-tabs-set}.
-@item @anchor{slot.text-tag.invisible-set}invisible-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-invisible-set}@code{text-tag-invisible-set}.
-@item @anchor{slot.text-tag.paragraph-background-set}paragraph-background-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-paragraph-background-set}@code{text-tag-paragraph-background-set}.
-@item @anchor{slot.text-tag.priority}priority. Type: @code{integer}. Accessor: @anchor{fn.text-tag-priority}@code{text-tag-priority}.
+@item @anchor{slot.text-tag.underline}underline. Type: @code{PangoUnderline}. Accessor: @anchor{fn.text-tag-underline}@code{text-tag-underline}.
+@item @anchor{slot.text-tag.underline-set}underline-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-underline-set}@code{text-tag-underline-set}.
+@item @anchor{slot.text-tag.variant}variant. Type: @code{PangoVariant}. Accessor: @anchor{fn.text-tag-variant}@code{text-tag-variant}.
+@item @anchor{slot.text-tag.variant-set}variant-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-variant-set}@code{text-tag-variant-set}.
+@item @anchor{slot.text-tag.weight}weight. Type: @code{integer}. Accessor: @anchor{fn.text-tag-weight}@code{text-tag-weight}.
+@item @anchor{slot.text-tag.weight-set}weight-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-weight-set}@code{text-tag-weight-set}.
+@item @anchor{slot.text-tag.wrap-mode}wrap-mode. Type: @ref{wrap-mode}. Accessor: @anchor{fn.text-tag-wrap-mode}@code{text-tag-wrap-mode}.
+@item @anchor{slot.text-tag.wrap-mode-set}wrap-mode-set. Type: @code{boolean}. Accessor: @anchor{fn.text-tag-wrap-mode-set}@code{text-tag-wrap-mode-set}.
 @end itemize
 
 
@@ -1130,6 +2125,9 @@ Slots:
 
 Signals:
 @itemize
+@item @anchor{signal.text-tag-table.tag-added}"tag-added". Signature: (instance @ref{text-tag-table}), (arg-1 @ref{text-tag}) @result{} void. Options: run-last.
+@item @anchor{signal.text-tag-table.tag-changed}"tag-changed". Signature: (instance @ref{text-tag-table}), (arg-1 @ref{text-tag}), (arg-2 @code{boolean}) @result{} void. Options: run-last.
+@item @anchor{signal.text-tag-table.tag-removed}"tag-removed". Signature: (instance @ref{text-tag-table}), (arg-1 @ref{text-tag}) @result{} void. Options: run-last.
 @end itemize
 
 
@@ -1144,8 +2142,8 @@ Subclasses: @ref{radio-action}
 
 Slots:
 @itemize
-@item @anchor{slot.toggle-action.draw-as-radio}draw-as-radio. Type: @code{boolean}. Accessor: @anchor{fn.toggle-action-draw-as-radio}@code{toggle-action-draw-as-radio}.
 @item @anchor{slot.toggle-action.active}active. Type: @code{boolean}. Accessor: @anchor{fn.toggle-action-active}@code{toggle-action-active}.
+@item @anchor{slot.toggle-action.draw-as-radio}draw-as-radio. Type: @code{boolean}. Accessor: @anchor{fn.toggle-action-draw-as-radio}@code{toggle-action-draw-as-radio}.
 @end itemize
 
 
@@ -1174,23 +2172,6 @@ Signals:
 
 
 
-@node tooltips
-@section tooltips
-@Class tooltips
-Superclass: @ref{gtk-object}
-
-Slots:
-@itemize
-@end itemize
-
-
-Signals:
-@itemize
-@end itemize
-
-
-
-
 @node tree-lisp-store
 @section tree-lisp-store
 @Class tree-lisp-store
@@ -1273,6 +2254,7 @@ Slots:
 
 Signals:
 @itemize
+@item @anchor{signal.tree-selection.changed}"changed". Signature: (instance @ref{tree-selection}) @result{} void. Options: run-first.
 @end itemize
 
 
@@ -1302,25 +2284,25 @@ Superclass: @ref{gtk-object}
 
 Slots:
 @itemize
-@item @anchor{slot.tree-view-column.visible}visible. Type: @code{boolean}. Accessor: @anchor{fn.tree-view-column-visible}@code{tree-view-column-visible}.
-@item @anchor{slot.tree-view-column.resizable}resizable. Type: @code{boolean}. Accessor: @anchor{fn.tree-view-column-resizable}@code{tree-view-column-resizable}.
-@item @anchor{slot.tree-view-column.width}width. Type: @code{integer}. Accessor: @anchor{fn.tree-view-column-width}@code{tree-view-column-width}. Read-only.
-@item @anchor{slot.tree-view-column.spacing}spacing. Type: @code{integer}. Accessor: @anchor{fn.tree-view-column-spacing}@code{tree-view-column-spacing}.
-@item @anchor{slot.tree-view-column.sizing}sizing. Type: @ref{tree-view-column-sizing}. Accessor: @anchor{fn.tree-view-column-sizing}@code{tree-view-column-sizing}.
+@item @anchor{slot.tree-view-column.alignment}alignment. Type: @code{single-float}. Accessor: @anchor{fn.tree-view-column-alignment}@code{tree-view-column-alignment}.
+@item @anchor{slot.tree-view-column.cell-renderers}cell-renderers. Type: list of @ref{g-object}. Accessor: @anchor{fn.tree-view-column-cell-renderers}@code{tree-view-column-cell-renderers}. Read-only.
+@item @anchor{slot.tree-view-column.clickable}clickable. Type: @code{boolean}. Accessor: @anchor{fn.tree-view-column-clickable}@code{tree-view-column-clickable}.
+@item @anchor{slot.tree-view-column.expand}expand. Type: @code{boolean}. Accessor: @anchor{fn.tree-view-column-expand}@code{tree-view-column-expand}.
 @item @anchor{slot.tree-view-column.fixed-width}fixed-width. Type: @code{integer}. Accessor: @anchor{fn.tree-view-column-fixed-width}@code{tree-view-column-fixed-width}.
-@item @anchor{slot.tree-view-column.min-width}min-width. Type: @code{integer}. Accessor: @anchor{fn.tree-view-column-min-width}@code{tree-view-column-min-width}.
 @item @anchor{slot.tree-view-column.max-width}max-width. Type: @code{integer}. Accessor: @anchor{fn.tree-view-column-max-width}@code{tree-view-column-max-width}.
-@item @anchor{slot.tree-view-column.title}title. Type: @code{string}. Accessor: @anchor{fn.tree-view-column-title}@code{tree-view-column-title}.
-@item @anchor{slot.tree-view-column.expand}expand. Type: @code{boolean}. Accessor: @anchor{fn.tree-view-column-expand}@code{tree-view-column-expand}.
-@item @anchor{slot.tree-view-column.clickable}clickable. Type: @code{boolean}. Accessor: @anchor{fn.tree-view-column-clickable}@code{tree-view-column-clickable}.
-@item @anchor{slot.tree-view-column.widget}widget. Type: @ref{widget}. Accessor: @anchor{fn.tree-view-column-widget}@code{tree-view-column-widget}.
-@item @anchor{slot.tree-view-column.alignment}alignment. Type: @code{single-float}. Accessor: @anchor{fn.tree-view-column-alignment}@code{tree-view-column-alignment}.
+@item @anchor{slot.tree-view-column.min-width}min-width. Type: @code{integer}. Accessor: @anchor{fn.tree-view-column-min-width}@code{tree-view-column-min-width}.
 @item @anchor{slot.tree-view-column.reorderable}reorderable. Type: @code{boolean}. Accessor: @anchor{fn.tree-view-column-reorderable}@code{tree-view-column-reorderable}.
+@item @anchor{slot.tree-view-column.resizable}resizable. Type: @code{boolean}. Accessor: @anchor{fn.tree-view-column-resizable}@code{tree-view-column-resizable}.
+@item @anchor{slot.tree-view-column.sizing}sizing. Type: @ref{tree-view-column-sizing}. Accessor: @anchor{fn.tree-view-column-sizing}@code{tree-view-column-sizing}.
+@item @anchor{slot.tree-view-column.sort-column-id}sort-column-id. Type: @code{integer}. Accessor: @anchor{fn.tree-view-column-sort-column-id}@code{tree-view-column-sort-column-id}.
 @item @anchor{slot.tree-view-column.sort-indicator}sort-indicator. Type: @code{boolean}. Accessor: @anchor{fn.tree-view-column-sort-indicator}@code{tree-view-column-sort-indicator}.
 @item @anchor{slot.tree-view-column.sort-order}sort-order. Type: @ref{sort-type}. Accessor: @anchor{fn.tree-view-column-sort-order}@code{tree-view-column-sort-order}.
+@item @anchor{slot.tree-view-column.spacing}spacing. Type: @code{integer}. Accessor: @anchor{fn.tree-view-column-spacing}@code{tree-view-column-spacing}.
+@item @anchor{slot.tree-view-column.title}title. Type: @code{string}. Accessor: @anchor{fn.tree-view-column-title}@code{tree-view-column-title}.
 @item @anchor{slot.tree-view-column.tree-view}tree-view. Type: @ref{g-object}. Accessor: @anchor{fn.tree-view-column-tree-view}@code{tree-view-column-tree-view}. Read-only.
-@item @anchor{slot.tree-view-column.sort-column-id}sort-column-id. Type: @code{integer}. Accessor: @anchor{fn.tree-view-column-sort-column-id}@code{tree-view-column-sort-column-id}.
-@item @anchor{slot.tree-view-column.cell-renderers}cell-renderers. Type: list of @ref{g-object}. Accessor: @anchor{fn.tree-view-column-cell-renderers}@code{tree-view-column-cell-renderers}. Read-only.
+@item @anchor{slot.tree-view-column.visible}visible. Type: @code{boolean}. Accessor: @anchor{fn.tree-view-column-visible}@code{tree-view-column-visible}.
+@item @anchor{slot.tree-view-column.widget}widget. Type: @ref{widget}. Accessor: @anchor{fn.tree-view-column-widget}@code{tree-view-column-widget}.
+@item @anchor{slot.tree-view-column.width}width. Type: @code{integer}. Accessor: @anchor{fn.tree-view-column-width}@code{tree-view-column-width}. Read-only.
 @end itemize
 
 
@@ -1339,20 +2321,20 @@ Superclass: @ref{g-object}
 
 Slots:
 @itemize
+@item @anchor{slot.ui-manager.accel-group}accel-group. Type: @ref{g-object}. Accessor: @anchor{fn.ui-manager-accel-group}@code{ui-manager-accel-group}. Read-only.
 @item @anchor{slot.ui-manager.add-tearoffs}add-tearoffs. Type: @code{boolean}. Accessor: @anchor{fn.ui-manager-add-tearoffs}@code{ui-manager-add-tearoffs}.
 @item @anchor{slot.ui-manager.ui}ui. Type: @code{string}. Accessor: @anchor{fn.ui-manager-ui}@code{ui-manager-ui}. Read-only.
-@item @anchor{slot.ui-manager.accel-group}accel-group. Type: @ref{g-object}. Accessor: @anchor{fn.ui-manager-accel-group}@code{ui-manager-accel-group}. Read-only.
 @end itemize
 
 
 Signals:
 @itemize
+@item @anchor{signal.ui-manager.actions-changed}"actions-changed". Signature: (instance @ref{ui-manager}) @result{} void. Options: run-first, no-recurse.
+@item @anchor{signal.ui-manager.add-widget}"add-widget". Signature: (instance @ref{ui-manager}), (arg-1 @ref{widget}) @result{} void. Options: run-first, no-recurse.
 @item @anchor{signal.ui-manager.connect-proxy}"connect-proxy". Signature: (instance @ref{ui-manager}), (arg-1 @ref{action}), (arg-2 @ref{widget}) @result{} void. Options: run-first, no-recurse.
 @item @anchor{signal.ui-manager.disconnect-proxy}"disconnect-proxy". Signature: (instance @ref{ui-manager}), (arg-1 @ref{action}), (arg-2 @ref{widget}) @result{} void. Options: run-first, no-recurse.
-@item @anchor{signal.ui-manager.pre-activate}"pre-activate". Signature: (instance @ref{ui-manager}), (arg-1 @ref{action}) @result{} void. Options: run-first, no-recurse.
 @item @anchor{signal.ui-manager.post-activate}"post-activate". Signature: (instance @ref{ui-manager}), (arg-1 @ref{action}) @result{} void. Options: run-first, no-recurse.
-@item @anchor{signal.ui-manager.add-widget}"add-widget". Signature: (instance @ref{ui-manager}), (arg-1 @ref{widget}) @result{} void. Options: run-first, no-recurse.
-@item @anchor{signal.ui-manager.actions-changed}"actions-changed". Signature: (instance @ref{ui-manager}) @result{} void. Options: run-first, no-recurse.
+@item @anchor{signal.ui-manager.pre-activate}"pre-activate". Signature: (instance @ref{ui-manager}), (arg-1 @ref{action}) @result{} void. Options: run-first, no-recurse.
 @end itemize
 
 
@@ -1363,8 +2345,13 @@ Signals:
 @Class window-group
 Superclass: @ref{g-object}
 
+Window-group limits the effect of grabs. Grabs added with @ref{grab-add} only affect windows within the same @ref{window-group}.
+
 Slots:
 @itemize
+@item @anchor{slot.window-group.windows}windows. Type: list of @ref{gtk-window}. Accessor: @anchor{fn.window-group-windows}@code{window-group-windows}. Read-only.
+
+A list of the @ref{gtk-window}s that belong to @ref{window-group}.
 @end itemize
 
 
@@ -1372,6 +2359,17 @@ Signals:
 @itemize
 @end itemize
 
+@RMethod window-group-add-window
+@lisp
+(window-group-add-window window-group window)
+@end lisp
+
+Adds a @var{window} (a @ref{gtk-window}) to a @var{window-group} (a @ref{window-group})
 
+@RMethod window-group-remove-window
+@lisp
+(window-group-remove-window window-group window
+@end lisp
 
+Removes a @var{window} (a @ref{gtk-window}) from a @var{window-group} (a @ref{window-group})