### Method

# Gtk Expression watch

#### Declaration [src]

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

#### Description [src]

Watch the given `expression` for changes.

The `notify` function will be called 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.
| The argument can be `NULL`.
| The data is owned by the caller of the function.
`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.
| The data is owned by the instance.