Interface

Gio-2.0GioFileMonitorSignalSignatures

interface SignalSignatures {
    changed: (
        arg0: Gio.File,
        arg1: Gio.File,
        arg2: Gio.FileMonitorEvent,
    ) => void;
    notify: (arg0: GObject.ParamSpec) => void;
    "notify::cancelled": (pspec: GObject.ParamSpec) => void;
    "notify::rate-limit": (pspec: GObject.ParamSpec) => void;
}

Hierarchy (View Summary)

Index

Properties

Properties - Inherited from GObject

Properties

changed: (arg0: Gio.File, arg1: Gio.File, arg2: Gio.FileMonitorEvent) => void

Emitted when file has been changed.

If using Gio.FileMonitorFlags.WATCH_MOVES on a directory monitor, and the information is available (and if supported by the backend), event_type may be Gio.FileMonitorEvent.RENAMED, Gio.FileMonitorEvent.MOVED_IN or Gio.FileMonitorEvent.MOVED_OUT.

In all cases file will be a child of the monitored directory. For renames, file will be the old name and other_file is the new name. For "moved in" events, file is the name of the file that appeared and other_file is the old name that it was moved from (in another directory). For "moved out" events, file is the name of the file that used to be in this directory and other_file is the name of the file at its new location.

It makes sense to treat Gio.FileMonitorEvent.MOVED_IN as equivalent to Gio.FileMonitorEvent.CREATED and Gio.FileMonitorEvent.MOVED_OUT as equivalent to Gio.FileMonitorEvent.DELETED, with extra information. Gio.FileMonitorEvent.RENAMED is equivalent to a delete/create pair. This is exactly how the events will be reported in the case that the Gio.FileMonitorFlags.WATCH_MOVES flag is not in use.

If using the deprecated flag Gio.FileMonitorFlags.SEND_MOVED flag and event_type is Gio.FileMonitorEvent.MOVED, file will be set to a Gio.File containing the old path, and other_file will be set to a Gio.File containing the new path.

In all the other cases, other_file will be set to NULL.

"notify::cancelled": (pspec: GObject.ParamSpec) => void
"notify::rate-limit": (pspec: GObject.ParamSpec) => void

Properties - Inherited from GObject

notify: (arg0: GObject.ParamSpec) => void

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

Note that getting this signal doesn’t itself guarantee that the value of the property has actually changed. When it is emitted is determined by the derived GObject class. If the implementor did not create the property with GObject.ParamFlags.EXPLICIT_NOTIFY, then any call to g_object_set_property() results in ::notify being emitted, even if the new value is the same as the old. If they did pass GObject.ParamFlags.EXPLICIT_NOTIFY, then this signal is emitted only when they explicitly call g_object_notify() or g_object_notify_by_pspec(), and common practice is to do that only when the value has actually changed.

This signal is typically used to obtain change notification for a single property, by specifying the property name as a detail in the g_signal_connect() call, like this:

g_signal_connect (text_view->buffer, "notify::paste-target-list",
G_CALLBACK (gtk_text_view_target_list_notify),
text_view)

It is important to note that you must use [canonical parameter names][class@GObject.ParamSpec#parameter-names] as detail strings for the notify signal.