HeaderBar


Object Hierarchy:

Adw.HeaderBar Adw.HeaderBar Adw.HeaderBar Gtk.Widget Gtk.Widget Gtk.Widget->Adw.HeaderBar GLib.InitiallyUnowned GLib.InitiallyUnowned GLib.InitiallyUnowned->Gtk.Widget GLib.Object GLib.Object GLib.Object->GLib.InitiallyUnowned Gtk.Accessible Gtk.Accessible Gtk.Accessible->Adw.HeaderBar Gtk.Accessible->Gtk.Widget Gtk.Buildable Gtk.Buildable Gtk.Buildable->Adw.HeaderBar Gtk.Buildable->Gtk.Widget Gtk.ConstraintTarget Gtk.ConstraintTarget Gtk.ConstraintTarget->Adw.HeaderBar Gtk.ConstraintTarget->Gtk.Widget

Description:

[ CCode ( type_id = "adw_header_bar_get_type ()" ) ]
public sealed class HeaderBar : Widget, Accessible, Buildable, ConstraintTarget

A title bar widget.

<picture> <source srcset="header-bar-dark.png" media="(prefers-color-scheme: dark)"> <img src="header-bar.png" alt="header-bar"> </picture>

`AdwHeaderBar` is similar to [class@Gtk.HeaderBar], but provides additional features compared to it. Refer to `GtkHeaderBar` for details. It is typically used as a top bar within [class@ToolbarView].

Navigation View Integration

When placed inside an [class@NavigationPage], `AdwHeaderBar` will display the page title instead of window title.

When used together with [class@NavigationView] or [class@NavigationSplitView], it will also display a back button that can be used to go back to the previous page. The button also has a context menu, allowing to pop multiple pages at once, potentially across multiple navigation views. Set [property@HeaderBar:show-back-button] to `FALSE` to disable the back button if it's unwanted.

Split View Integration

When placed inside `AdwNavigationSplitView` or `AdwOverlaySplitView`, `AdwHeaderBar` will automatically hide the title buttons other than at the edges of the window.

Centering Policy

[property@HeaderBar:centering-policy] allows to enforce strict centering of the title widget. This can be useful for entries inside [ class@Clamp].

Title Buttons

Unlike `GtkHeaderBar`, `AdwHeaderBar` allows to toggle title button visibility for each side individually, using the [ property@HeaderBar:show-start-title-buttons] and [property@HeaderBar:show-end-title-buttons] properties.

CSS nodes

``` headerbar ╰── windowhandle ╰── box ├── widget │ ╰── box.start │ ├── windowcontrols.start │ ├── widget │ │ ╰── [button.back] │ ╰── [other children] ├── widget │ ╰── [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 three `widget` subnodes at the start, center and end of the header bar. The start and end subnotes contain a `box` subnode with the `.start` and `.end` style classes respectively, and the center node contains a node that represents the title.

Each of the boxes contains a `windowcontrols` subnode, see [class@Gtk.WindowControls] for details, as well as other children.

When [property@HeaderBar:show-back-button] is `TRUE`, the start box also contains a node with the name `widget` that contains a node with the name `button` and `.back` style class.

Accessibility

`AdwHeaderBar` uses the `GTK_ACCESSIBLE_ROLE_GROUP` role.


Namespace: Adw
Package: libadwaita-1

Content:

Properties:

Creation methods:

Methods:

Inherited Members:

All known members inherited from class Gtk.Widget