### Method

# Gtk.Expression.watch

#### Declaration [src]

    GtkExpressionWatch*
    gtk_expression_watch (
      GtkExpression* self,
      GObject* this_,
      GtkExpressionNotify notify,
      gpointer user_data,
      GDestroyNotify user_destroy
    )

#### Description [src]

Installs a watch for the given `expression` that calls the `notify` function whenever the evaluation of `self` may have changed.

GTK cannot guarantee that the evaluation did indeed change when the `notify` gets invoked, but it guarantees the opposite: When it did in fact change, the `notify` will be invoked.

#### Parameters

`this_` | `GObject*`
| the `this` argument to watch
| Can be `NULL`
| Ownership is not transferred to the callee
`notify` | `GtkExpressionNotify`
| callback to invoke when the expression changes
`user_data` | `gpointer`
| user data to pass to the `notify` callback
`user_destroy` | `GDestroyNotify`
| destroy notify for `user_data`

#### Return value

Returns: `GtkExpressionWatch`
The newly installed watch. Note that the only reference held to the watch will be released when the watch is unwatched which can happen automatically, and not just via `gtk_expression_watch_unwatch()`. You should call `gtk_expression_watch_ref()` if you want to keep the watch around.
Ownership is not transferred to the caller