adw.header_bar
Module for [HeaderBar] class
Types 3
A title bar widget.
adw.header_bar.HeaderBar is similar to gtk.header_bar.HeaderBar, but provides additional features compared to it. Refer to gtk.header_bar.HeaderBar for details. It is typically used as a top bar within adw.toolbar_view.ToolbarView.
Dialog Integration
When placed inside an adw.dialog.Dialog, adw.header_bar.HeaderBar will display the dialog title intead of window title. It will also adjust the decoration layout to ensure it always has a close button and nothing else. Set adw.header_bar.HeaderBar.showStartTitleButtons and adw.header_bar.HeaderBar.showEndTitleButtons to FALSE to remove it if it's unwanted.
Navigation View Integration
When placed inside an adw.navigation_page.NavigationPage, adw.header_bar.HeaderBar will display the page title instead of window title.
When used together with adw.navigation_view.NavigationView or adw.navigation_split_view.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 adw.header_bar.HeaderBar.showBackButton to FALSE to disable this behavior in rare scenarios where it's unwanted.
Split View Integration
When placed inside adw.navigation_split_view.NavigationSplitView or adw.overlay_split_view.OverlaySplitView, adw.header_bar.HeaderBar will automatically hide the title buttons other than at the edges of the window.
Centering Policy
adw.header_bar.HeaderBar.centeringPolicy allows to enforce strict centering of the title widget. This can be useful for entries inside adw.clamp.Clamp.
Title Buttons
Unlike gtk.header_bar.HeaderBar, adw.header_bar.HeaderBar allows to toggle title button visibility for each side individually, using the adw.header_bar.HeaderBar.showStartTitleButtons and adw.header_bar.HeaderBar.showEndTitleButtons 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.endadw.header_bar.HeaderBar'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 gtk.window_controls.WindowControls for details, as well as other children.
When adw.header_bar.HeaderBar.showBackButton 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
adw.header_bar.HeaderBar uses the gtk.types.AccessibleRole.Group role.
HeaderBarGidBuilder builder() static nothrowGet builder for [adw.header_bar.HeaderBar] Returns: New builder objectadw.types.CenteringPolicy centeringPolicy() @property nothrowGet `centeringPolicy` property. Returns: The policy for aligning the center widget.void centeringPolicy(adw.types.CenteringPolicy propval) @property nothrowSet `centeringPolicy` property. Params: propval = The policy for aligning the center widget.string decorationLayout() @property nothrowGet `decorationLayout` property. Returns: The decoration layout for buttons.void decorationLayout(string propval) @property nothrowSet `decorationLayout` property. Params: propval = The decoration layout for buttons.bool showBackButton() @property nothrowGet `showBackButton` property. Returns: Whether the header bar can show the back button.void showBackButton(bool propval) @property nothrowSet `showBackButton` property. Params: propval = Whether the header bar can show the back button.bool showEndTitleButtons() @property nothrowGet `showEndTitleButtons` property. Returns: Whether to show title buttons at the end of the header bar.void showEndTitleButtons(bool propval) @property nothrowSet `showEndTitleButtons` property. Params: propval = Whether to show title buttons at the end of the header bar.bool showStartTitleButtons() @property nothrowGet `showStartTitleButtons` property. Returns: Whether to show title buttons at the start of the header bar.void showStartTitleButtons(bool propval) @property nothrowSet `showStartTitleButtons` property. Params: propval = Whether to show title buttons at the start of the header bar.bool showTitle() @property nothrowGet `showTitle` property. Returns: Whether the title widget should be shown.void showTitle(bool propval) @property nothrowSet `showTitle` property. Params: propval = Whether the title widget should be shown.gtk.widget.Widget titleWidget() @property nothrowGet `titleWidget` property. Returns: The title widget to display.void titleWidget(gtk.widget.Widget propval) @property nothrowSet `titleWidget` property. Params: propval = The title widget to display.adw.types.CenteringPolicy getCenteringPolicy() nothrowGets the policy for aligning the center widget. Returns: the centering policystring getDecorationLayout() nothrowGets the decoration layout for self. Returns: the decoration layoutbool getShowBackButton() nothrowGets whether self can show the back button. Returns: whether to show the back buttonbool getShowEndTitleButtons() nothrowGets whether to show title buttons at the end of self. Returns: `TRUE` if title buttons at the end are shownbool getShowStartTitleButtons() nothrowGets whether to show title buttons at the start of self. Returns: `TRUE` if title buttons at the start are shownbool getShowTitle() nothrowGets whether the title widget should be shown. Returns: whether the title widget should be shown.gtk.widget.Widget getTitleWidget() nothrowGets the title widget widget of self. Returns: the title widgetvoid packEnd(gtk.widget.Widget child) nothrowAdds child to self, packed with reference to the end of self.void packStart(gtk.widget.Widget child) nothrowAdds child to self, packed with reference to the start of the self.void setCenteringPolicy(adw.types.CenteringPolicy centeringPolicy) nothrowSets the policy for aligning the center widget.void setShowEndTitleButtons(bool setting) nothrowSets whether to show title buttons at the end of self.void setShowStartTitleButtons(bool setting) nothrowSets whether to show title buttons at the start of self.Fluent builder implementation template for adw.header_bar.HeaderBar
T centeringPolicy(adw.types.CenteringPolicy propval) nothrowSet `centeringPolicy` property. Params: propval = The policy for aligning the center widget. Returns: Builder instance for fluent chainingT decorationLayout(string propval) nothrowSet `decorationLayout` property. Params: propval = The decoration layout for buttons.T showBackButton(bool propval) nothrowSet `showBackButton` property. Params: propval = Whether the header bar can show the back button.T showEndTitleButtons(bool propval) nothrowSet `showEndTitleButtons` property. Params: propval = Whether to show title buttons at the end of the header bar.T showStartTitleButtons(bool propval) nothrowSet `showStartTitleButtons` property. Params: propval = Whether to show title buttons at the start of the header bar.T showTitle(bool propval) nothrowSet `showTitle` property. Params: propval = Whether the title widget should be shown. Returns: Builder instance for fluent chainingT titleWidget(gtk.widget.Widget propval) nothrowSet `titleWidget` property. Params: propval = The title widget to display.Fluent builder for adw.header_bar.HeaderBar