Adw.HeaderBar¶
- Subclasses:
None
Methods¶
- Inherited:
Gtk.Widget (181), GObject.Object (37), Gtk.Accessible (15), Gtk.Buildable (1)
- Structs:
class |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Virtual Methods¶
- Inherited:
Gtk.Widget (25), GObject.Object (7), Gtk.Accessible (6), Gtk.Buildable (9)
Properties¶
- Inherited:
Name |
Type |
Flags |
Short Description |
---|---|---|---|
r/w/en |
|||
r/w/en |
|||
r/w/en |
|||
r/w/en |
|||
r/w/en |
|||
r/w/en |
|||
r/w/en |
Signals¶
- Inherited:
Fields¶
- Inherited:
Class Details¶
- class Adw.HeaderBar(**kwargs)¶
- Bases:
- Abstract:
No
- Structure:
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 toGtkHeaderBar
for details. It is typically used as a top bar within [class`ToolbarView`].- Dialog Integration
When placed inside an [class`Dialog`],
AdwHeaderBar
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 [property`HeaderBar`:py:data::show-start-title-buttons<Adw.HeaderBar.props.show_start_title_buttons>] and [property`HeaderBar`:py:data::show-end-title-buttons<Adw.HeaderBar.props.show_end_title_buttons>] toFALSE
to remove it if it’s unwanted.- 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`:py:data::show-back-button<Adw.HeaderBar.props.show_back_button>] to
FALSE
to disable this behavior in rare scenarios where it’s unwanted.- Split View Integration
When placed inside [class`NavigationSplitView`] or [class`OverlaySplitView`],
AdwHeaderBar
will automatically hide the title buttons other than at the edges of the window.- Centering Policy
[property`HeaderBar`:py:data::centering-policy<Adw.HeaderBar.props.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`:py:data::show-start-title-buttons<Adw.HeaderBar.props.show_start_title_buttons>] and [property`HeaderBar`:py:data::show-end-title-buttons<Adw.HeaderBar.props.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 calledheaderbar
. It contains awindowhandle
subnode, which contains abox
subnode, which contains threewidget
subnodes at the start, center and end of the header bar. The start and end subnotes contain abox
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`:py:data::show-back-button<Adw.HeaderBar.props.show_back_button>] is
TRUE
, the start box also contains a node with the namewidget
that contains a node with the namebutton
and.back
style class.- Accessibility
AdwHeaderBar
uses theGTK_ACCESSIBLE_ROLE_GROUP
role.- classmethod new()¶
- Returns:
the newly created
AdwHeaderBar
.- Return type:
Creates a new
AdwHeaderBar
.
- get_centering_policy()¶
- Returns:
the centering policy
- Return type:
Gets the policy for aligning the center widget.
- get_decoration_layout()¶
-
Gets the decoration layout for self.
- get_show_back_button()¶
- Returns:
whether to show the back button
- Return type:
Gets whether self can show the back button.
New in version 1.4.
- get_show_end_title_buttons()¶
- Returns:
TRUE
if title buttons at the end are shown- Return type:
Gets whether to show title buttons at the end of self.
- get_show_start_title_buttons()¶
- Returns:
TRUE
if title buttons at the start are shown- Return type:
Gets whether to show title buttons at the start of self.
- get_show_title()¶
- Returns:
whether the title widget should be shown.
- Return type:
Gets whether the title widget should be shown.
New in version 1.4.
- get_title_widget()¶
- Returns:
the title widget
- Return type:
Gtk.Widget
orNone
Gets the title widget widget of self.
- pack_end(child)¶
- Parameters:
child (
Gtk.Widget
) – the widget to be added to self
Adds child to self, packed with reference to the end of self.
- pack_start(child)¶
- Parameters:
child (
Gtk.Widget
) – the widget to be added to self
Adds child to self, packed with reference to the start of the self.
- remove(child)¶
- Parameters:
child (
Gtk.Widget
) – the child to remove
Removes a child from self.
The child must have been added with [method`HeaderBar`.pack_start], [method`HeaderBar`.pack_end] or [property`HeaderBar`:py:data::title-widget<Adw.HeaderBar.props.title_widget>].
- set_centering_policy(centering_policy)¶
- Parameters:
centering_policy (
Adw.CenteringPolicy
) – the centering policy
Sets the policy for aligning the center widget.
- set_decoration_layout(layout)¶
-
Sets the decoration layout for self.
If this property is not set, the [property`Gtk`.Settings:gtk-decoration-layout] setting is used.
The format of the string is button names, separated by commas. A colon separates the buttons that should appear at the start from those at the end. Recognized button names are minimize, maximize, close and icon (the window icon).
For example, “icon:minimize,maximize,close” specifies an icon at the start, and minimize, maximize and close buttons at the end.
- set_show_back_button(show_back_button)¶
- Parameters:
show_back_button (
bool
) – whether to show the back button
Sets whether self can show the back button.
The back button will never be shown unless the header bar is placed inside an [class`NavigationView`]. Usually, there is no reason to set it to
FALSE
.New in version 1.4.
- set_show_end_title_buttons(setting)¶
- Parameters:
setting (
bool
) –TRUE
to show standard title buttons
Sets whether to show title buttons at the end of self.
See [property`HeaderBar`:py:data::show-start-title-buttons<Adw.HeaderBar.props.show_start_title_buttons>] for the other side.
Which buttons are actually shown and where is determined by the [property`HeaderBar`:py:data::decoration-layout<Adw.HeaderBar.props.decoration_layout>] property, and by the state of the window (e.g. a close button will not be shown if the window can’t be closed).
- set_show_start_title_buttons(setting)¶
- Parameters:
setting (
bool
) –TRUE
to show standard title buttons
Sets whether to show title buttons at the start of self.
See [property`HeaderBar`:py:data::show-end-title-buttons<Adw.HeaderBar.props.show_end_title_buttons>] for the other side.
Which buttons are actually shown and where is determined by the [property`HeaderBar`:py:data::decoration-layout<Adw.HeaderBar.props.decoration_layout>] property, and by the state of the window (e.g. a close button will not be shown if the window can’t be closed).
- set_show_title(show_title)¶
- Parameters:
show_title (
bool
) – whether the title widget is visible
Sets whether the title widget should be shown.
New in version 1.4.
- set_title_widget(title_widget)¶
- Parameters:
title_widget (
Gtk.Widget
orNone
) – a widget to use for a title
Sets the title widget for self.
When set to
NULL
, the header bar will display the title of the window it is contained in.To use a different title, use [class`WindowTitle`]:
```xml
Title </object>
/object ```
Property Details¶
- Adw.HeaderBar.props.centering_policy¶
- Name:
centering-policy
- Type:
- Default Value:
- Flags:
The policy for aligning the center widget.
- Adw.HeaderBar.props.decoration_layout¶
- Name:
decoration-layout
- Type:
- Default Value:
- Flags:
The decoration layout for buttons.
If this property is not set, the [property`Gtk`.Settings:gtk-decoration-layout] setting is used.
The format of the string is button names, separated by commas. A colon separates the buttons that should appear at the start from those at the end. Recognized button names are minimize, maximize, close and icon (the window icon).
For example, “icon:minimize,maximize,close” specifies an icon at the start, and minimize, maximize and close buttons at the end.
- Adw.HeaderBar.props.show_back_button¶
- Name:
show-back-button
- Type:
- Default Value:
- Flags:
Whether the header bar can show the back button.
The back button will never be shown unless the header bar is placed inside an [class`NavigationView`]. Usually, there is no reason to set this to
FALSE
.New in version 1.4.
- Adw.HeaderBar.props.show_end_title_buttons¶
- Name:
show-end-title-buttons
- Type:
- Default Value:
- Flags:
Whether to show title buttons at the end of the header bar.
See [property`HeaderBar`:py:data::show-start-title-buttons<Adw.HeaderBar.props.show_start_title_buttons>] for the other side.
Which buttons are actually shown and where is determined by the [property`HeaderBar`:py:data::decoration-layout<Adw.HeaderBar.props.decoration_layout>] property, and by the state of the window (e.g. a close button will not be shown if the window can’t be closed).
- Adw.HeaderBar.props.show_start_title_buttons¶
- Name:
show-start-title-buttons
- Type:
- Default Value:
- Flags:
Whether to show title buttons at the start of the header bar.
See [property`HeaderBar`:py:data::show-end-title-buttons<Adw.HeaderBar.props.show_end_title_buttons>] for the other side.
Which buttons are actually shown and where is determined by the [property`HeaderBar`:py:data::decoration-layout<Adw.HeaderBar.props.decoration_layout>] property, and by the state of the window (e.g. a close button will not be shown if the window can’t be closed).
- Adw.HeaderBar.props.show_title¶
- Name:
show-title
- Type:
- Default Value:
- Flags:
Whether the title widget should be shown.
New in version 1.4.
- Adw.HeaderBar.props.title_widget¶
- Name:
title-widget
- Type:
- Default Value:
- Flags:
The title widget to display.
When set to
NULL
, the header bar will display the title of the window it is contained in.To use a different title, use [class`WindowTitle`]:
```xml
Title </object>
/object ```