Gtk.Statusbar
Description: Reference for Gtk.Statusbar

### Class

# GtkStatusbar

#### Description [src]

    final class Gtk.Statusbar : Gtk.Widget {
      /* No available fields */
    }

A `GtkStatusbar` widget is usually placed along the bottom of an application’s main `GtkWindow`.

A `GtkStatusBar` may provide a regular commentary of the application’s status (as is usually the case in a web browser, for example), or may be used to simply output a message when the status changes, (when an upload is complete in an FTP client, for example).

Status bars in GTK maintain a stack of messages. The message at the top of the each bar’s stack is the one that will currently be displayed.

Any messages added to a statusbar’s stack must specify a context id that is used to uniquely identify the source of a message. This context id can be generated by `gtk_statusbar_get_context_id()`, given a message and the statusbar that it will be added to. Note that messages are stored in a stack, and when choosing which message to display, the stack structure is adhered to, regardless of the context identifier of a message.

One could say that a statusbar maintains one stack of messages for display purposes, but allows multiple message producers to maintain sub-stacks of the messages they produced (via context ids).

Status bars are created using `gtk_statusbar_new()`.

Messages are added to the bar’s stack with `gtk_statusbar_push()`.

The message at the top of the stack can be removed using `gtk_statusbar_pop()`. A message can be removed from anywhere in the stack if its message id was recorded at the time it was added. This is done using `gtk_statusbar_remove()`.

## CSS node

`GtkStatusbar` has a single CSS node with name `statusbar`.

#### Ancestors

- GtkWidget
- GInitiallyUnowned
- GObject

#### Implements

- GtkAccessible
- GtkBuildable
- GtkConstraintTarget

#### Constructors

###### gtk_statusbar_new

Creates a new `GtkStatusbar` ready for messages.

#### Instance methods

###### gtk_statusbar_get_context_id

Returns a new context identifier, given a description of the actual context.

###### gtk_statusbar_pop

Removes the first message in the `GtkStatusbar`’s stack with the given context id.

###### gtk_statusbar_push

Pushes a new message onto a statusbar’s stack.

###### gtk_statusbar_remove

Forces the removal of a message from a statusbar’s stack. The exact `context_id` and `message_id` must be specified.

###### gtk_statusbar_remove_all

Forces the removal of all messages from a statusbar’s stack with the exact `context_id`.

##### Methods inherited from GtkWidget (159)

###### gtk_widget_action_set_enabled

Enable or disable an action installed with `gtk_widget_class_install_action()`.

###### gtk_widget_activate

For widgets that can be “activated” (buttons, menu items, etc.), this function activates them.

###### gtk_widget_activate_action

Looks up the action in the action groups associated with `widget` and its ancestors, and activates it.

###### gtk_widget_activate_action_variant

Looks up the action in the action groups associated with `widget` and its ancestors, and activates it.

###### gtk_widget_activate_default

Activates the `default.activate` action from `widget`.

###### gtk_widget_add_controller

Adds `controller` to `widget` so that it will receive events.

###### gtk_widget_add_css_class

Adds a style class to `widget`.

###### gtk_widget_add_mnemonic_label

Adds a widget to the list of mnemonic labels for this widget.

###### gtk_widget_add_tick_callback

Queues an animation frame update and adds a callback to be called before each frame.

###### gtk_widget_allocate

This function is only used by `GtkWidget` subclasses, to assign a size, position and (optionally) baseline to their child widgets.

###### gtk_widget_child_focus

Called by widgets as the user moves around the window using keyboard shortcuts.

###### gtk_widget_compute_bounds

Computes the bounds for `widget` in the coordinate space of `target`.

###### gtk_widget_compute_expand

Computes whether a container should give this widget extra space when possible.

###### gtk_widget_compute_point

Translates the given `point` in `widget`‘s coordinates to coordinates relative to `target`’s coordinate system.

###### gtk_widget_compute_transform

Computes a matrix suitable to describe a transformation from `widget`‘s coordinate system into `target`‘s coordinate system.

###### gtk_widget_contains

Tests if the point at (`x`, `y`) is contained in `widget`.

###### gtk_widget_create_pango_context

Creates a new `PangoContext` with the appropriate font map, font options, font description, and base direction for drawing text for this widget.

###### gtk_widget_create_pango_layout

Creates a new `PangoLayout` with the appropriate font map, font description, and base direction for drawing text for this widget.

###### gtk_drag_check_threshold

Checks to see if a drag movement has passed the GTK drag threshold.

###### gtk_widget_error_bell

Notifies the user about an input-related error on this widget.

###### gtk_widget_get_allocated_baseline

Returns the baseline that has currently been allocated to `widget`.

###### gtk_widget_get_allocated_height

Returns the height that has currently been allocated to `widget`.

###### gtk_widget_get_allocated_width

Returns the width that has currently been allocated to `widget`.

##### Methods inherited from GtkAccessible (10)

###### gtk_accessible_get_accessible_role

Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.

###### gtk_accessible_reset_property

Resets the accessible `property` to its default value.

###### gtk_accessible_reset_relation

Resets the accessible `relation` to its default value.

###### gtk_accessible_reset_state

Resets the accessible `state` to its default value.

###### gtk_accessible_update_property

Updates a list of accessible properties.

###### gtk_accessible_update_property_value

Updates an array of accessible properties.

###### gtk_accessible_update_relation

Updates a list of accessible relations.

###### gtk_accessible_update_relation_value

Updates an array of accessible relations.

###### gtk_accessible_update_state

Updates a list of accessible states. See the `GtkAccessibleState` documentation for the value types of accessible states.

###### gtk_accessible_update_state_value

Updates an array of accessible states.

##### Methods inherited from GtkBuildable (1)

###### gtk_buildable_get_buildable_id

Gets the ID of the `buildable` object.

#### Signals

###### Gtk.Statusbar::text-popped

Emitted whenever a new message is popped off a statusbar’s stack.

###### Gtk.Statusbar::text-pushed

Emitted whenever a new message gets pushed onto a statusbar’s stack.

##### Signals inherited from GtkWidget (13)

###### Gtk.Widget::destroy

Signals that all holders of a reference to the widget should release the reference that they hold.

###### Gtk.Widget::direction-changed

Emitted when the text direction of a widget changes.

###### Gtk.Widget::hide

Emitted when `widget` is hidden.

###### Gtk.Widget::keynav-failed

Emitted if keyboard navigation fails.

###### Gtk.Widget::map

Emitted when `widget` is going to be mapped.

###### Gtk.Widget::mnemonic-activate

Emitted when a widget is activated via a mnemonic.

###### Gtk.Widget::move-focus

Emitted when the focus is moved.

###### Gtk.Widget::query-tooltip

Emitted when the widgets tooltip is about to be shown.

###### Gtk.Widget::realize

Emitted when `widget` is associated with a `GdkSurface`.

###### Gtk.Widget::show

Emitted when `widget` is shown.

###### Gtk.Widget::state-flags-changed

Emitted when the widget state changes.

###### Gtk.Widget::unmap

Emitted when `widget` is going to be unmapped.

###### Gtk.Widget::unrealize

Emitted when the `GdkSurface` associated with `widget` is destroyed.