Adw.HeaderBar
Description: Reference for Adw.HeaderBar

### Class

# AdwHeaderBar

#### Description [src]

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

A title bar widget.

`AdwHeaderBar` is similar to `GtkHeaderBar`, but provides additional features compared to it. Refer to `GtkHeaderBar` for details.

`AdwHeaderBar:centering-policy` allows to enforce strict centering of the title widget, this is useful for `AdwViewSwitcherTitle`.

`AdwHeaderBar:show-start-title-buttons` and `AdwHeaderBar:show-end-title-buttons` allow to easily create split header bar layouts using `AdwLeaflet`, as follows:

    <object class="AdwLeaflet" id="leaflet">
      <child>
        <object class="GtkBox">
          <property name="orientation">vertical</property>
          <child>
            <object class="AdwHeaderBar">
              <binding name="show-end-title-buttons">
                <lookup name="folded">leaflet</lookup>
              </binding>
            </object>
          </child>
          <!-- ... -->
        </object>
      </child>
      <!-- ... -->
      <child>
        <object class="GtkBox">
          <property name="orientation">vertical</property>
          <property name="hexpand">True</property>
          <child>
            <object class="AdwHeaderBar">
              <binding name="show-start-title-buttons">
                <lookup name="folded">leaflet</lookup>
              </binding>
            </object>
          </child>
          <!-- ... -->
        </object>
      </child>
    </object>

## CSS nodes

    headerbar
    ╰── windowhandle
        ╰── box
            ├── widget
            │   ╰── box.start
            │       ├── windowcontrols.start
            │       ╰── [other children]
            ├── [Title Widget]
            ╰── widget
                ╰── box.end
                    ├── [other children]
                    ╰── windowcontrols.end

`AdwHeaderBar`‘s CSS node is called `headerbar`. It contains a `windowhandle` subnode, which contains a `box` subnode, which contains two `widget` subnodes at the start and end of the header bar, each of which contains a `box` subnode with the `.start` and `.end` style classes respectively, as well as a center node that represents the title.

Each of the boxes contains a `windowcontrols` subnode, see `GtkWindowControls` for details, as well as other children.

## Accessibility

`AdwHeaderBar` uses the `GTK_ACCESSIBLE_ROLE_GROUP` role.

Available since: | 1.0

#### Hierarchy

#### Ancestors

- GtkWidget
- GInitiallyUnowned
- GObject

#### Implements

- GtkAccessible
- GtkBuildable
- GtkConstraintTarget

#### Constructors

###### adw_header_bar_new

Creates a new `AdwHeaderBar`.

Available since: 1.0

#### Instance methods

###### adw_header_bar_get_centering_policy

Gets the policy for aligning the center widget.

Available since: 1.0

###### adw_header_bar_get_decoration_layout

Gets the decoration layout for `self`.

Available since: 1.0

###### adw_header_bar_get_show_end_title_buttons

Gets whether to show title buttons at the end of `self`.

Available since: 1.0

###### adw_header_bar_get_show_start_title_buttons

Gets whether to show title buttons at the start of `self`.

Available since: 1.0

###### adw_header_bar_get_title_widget

Gets the title widget widget of `self`.

Available since: 1.0

###### adw_header_bar_pack_end

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

Available since: 1.0

###### adw_header_bar_pack_start

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

Available since: 1.0

###### adw_header_bar_remove

Removes a child from `self`.

Available since: 1.0

###### adw_header_bar_set_centering_policy

Sets the policy for aligning the center widget.

Available since: 1.0

###### adw_header_bar_set_decoration_layout

Sets the decoration layout for `self`.

Available since: 1.0

###### adw_header_bar_set_show_end_title_buttons

Sets whether to show title buttons at the end of `self`.

Available since: 1.0

###### adw_header_bar_set_show_start_title_buttons

Sets whether to show title buttons at the start of `self`.

Available since: 1.0

###### adw_header_bar_set_title_widget

Sets the title widget for `self`.

Available since: 1.0

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

##### Methods inherited from GObject (43)

#### Properties

###### Adw.HeaderBar:centering-policy

The policy for aligning the center widget.

Available since: 1.0

###### Adw.HeaderBar:decoration-layout

The decoration layout for buttons.

Available since: 1.0

###### Adw.HeaderBar:show-end-title-buttons

Whether to show title buttons at the end of the header bar.

Available since: 1.0

###### Adw.HeaderBar:show-start-title-buttons

Whether to show title buttons at the start of the header bar.

Available since: 1.0

###### Adw.HeaderBar:title-widget

The title widget to display.

Available since: 1.0

##### Properties inherited from GtkWidget (34)

#### Signals

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

##### Signals inherited from GObject (1)

#### Class structure

    struct AdwHeaderBarClass {
      GtkWidgetClass parent_class;

    }

###### Class members

`parent_class` |
    GtkWidgetClass
| No description available.