GtkHeaderBar

## GtkHeaderBar GtkHeaderBar — A box with a centered child |

## Synopsis

    #include <gtk/gtk.h>

    struct              GtkHeaderBar;
    GtkWidget *         gtk_header_bar_new                  (void);
    void                gtk_header_bar_set_title            (GtkHeaderBar *bar,
                                                             const gchar *title);
    const gchar *       gtk_header_bar_get_title            (GtkHeaderBar *bar);
    void                gtk_header_bar_set_subtitle         (GtkHeaderBar *bar,
                                                             const gchar *subtitle);
    const gchar *       gtk_header_bar_get_subtitle         (GtkHeaderBar *bar);
    void                gtk_header_bar_set_custom_title     (GtkHeaderBar *bar,
                                                             GtkWidget *title_widget);
    GtkWidget *         gtk_header_bar_get_custom_title     (GtkHeaderBar *bar);
    void                gtk_header_bar_pack_start           (GtkHeaderBar *bar,
                                                             GtkWidget *child);
    void                gtk_header_bar_pack_end             (GtkHeaderBar *bar,
                                                             GtkWidget *child);

## Description

GtkHeaderBar is similar to a horizontal GtkBox, it allows to place children at the start or the end. In addition, it allows a title to be displayed. The title will be centered wrt to the widget of the box, even if the children at either side take up different amounts of space.

## Details

### struct GtkHeaderBar

    struct GtkHeaderBar {
      GtkContainer container;
    };

### gtk_header_bar_new ()

    GtkWidget *         gtk_header_bar_new                  (void);

Creates a new GtkHeaderBar widget.

Returns : | a new GtkHeaderBar

Since 3.10

### gtk_header_bar_set_title ()

    void                gtk_header_bar_set_title            (GtkHeaderBar *bar,
                                                             const gchar *title);

Sets the title of the GtkHeaderBar. The title should help a user identify the current view. A good title should not include the application name.

`bar` : | a GtkHeaderBar
`title` : | a title. [allow-none]

Since 3.10

### gtk_header_bar_get_title ()

    const gchar *       gtk_header_bar_get_title            (GtkHeaderBar *bar);

Retrieves the title of the header. See `gtk_header_bar_set_title()`.

`bar` : | a GtkHeaderBar
Returns : | the title of the header, or `NULL` if none has been set explicitely. The returned string is owned by the widget and must not be modified or freed.

Since 3.10

### gtk_header_bar_set_subtitle ()

    void                gtk_header_bar_set_subtitle         (GtkHeaderBar *bar,
                                                             const gchar *subtitle);

Sets the subtitle of the GtkHeaderBar. The title should give a user an additional detail to help him identify the current view.

`bar` : | a GtkHeaderBar
`subtitle` : | a subtitle. [allow-none]

Since 3.10

### gtk_header_bar_get_subtitle ()

    const gchar *       gtk_header_bar_get_subtitle         (GtkHeaderBar *bar);

Retrieves the subtitle of the header. See `gtk_header_bar_set_subtitle()`.

`bar` : | a GtkHeaderBar
Returns : | the subtitle of the header, or `NULL` if none has been set explicitely. The returned string is owned by the widget and must not be modified or freed.

Since 3.10

### gtk_header_bar_set_custom_title ()

    void                gtk_header_bar_set_custom_title     (GtkHeaderBar *bar,
                                                             GtkWidget *title_widget);

Sets a custom title for the GtkHeaderBar. The title should help a user identify the current view. This supercedes any title set by `gtk_header_bar_set_title()`. You should set the custom title to `NULL`, for the header title label to be visible again.

`bar` : | a GtkHeaderBar
`title_widget` : | a custom widget to use for a title. [allow-none]

Since 3.10

### gtk_header_bar_get_custom_title ()

    GtkWidget *         gtk_header_bar_get_custom_title     (GtkHeaderBar *bar);

Retrieves the custom title widget of the header. See `gtk_header_bar_set_custom_title()`.

`bar` : | a GtkHeaderBar
Returns : | the custom title widget of the header, or `NULL` if none has been set explicitely. [transfer none]

Since 3.10

### gtk_header_bar_pack_start ()

    void                gtk_header_bar_pack_start           (GtkHeaderBar *bar,
                                                             GtkWidget *child);

Adds `child` to `box`, packed with reference to the start of the `box`.

`bar` : | A GtkHeaderBar
`child` : | the GtkWidget to be added to `bar`

Since 3.10

### gtk_header_bar_pack_end ()

    void                gtk_header_bar_pack_end             (GtkHeaderBar *bar,
                                                             GtkWidget *child);

Adds `child` to `box`, packed with reference to the end of the `box`.

`bar` : | A GtkHeaderBar
`child` : | the GtkWidget to be added to `bar`

Since 3.10

## See Also

GtkBox