Signals are notifications emitted by
widgets.
When programming Graphical User Interfaces (GUI),
it is often necessary to respond to actions performed by the user or
initiated within the program itself. GNOME
and GTK+ do this via the use of signals. Signals are
used to let the program know that something happened. This might be, for
example, a user clicking on a GtkButton,
or a change being made to a GtkAdjustment value.
A program may, for instance, cause GtkAdjustment
to emit its "value-changed" signal when a widget
changes one of its adjustment values. This particular signal is used both
internally and externally in GtkAdjustment, so that
it is not always necessary to write that signal into your code for, say, a
GtkProgressBar to use it. A more obvious situation
may occur when a user clicks on an instance of
GtkButton, causing the button widget to emit the
"clicked" signal. As a programmer, you can set up
callbacks to react to any
signal emitted by a widget.