Boxed Lists

Libadwaita provides API to implement the boxed lists pattern.

Boxed lists are composed of a GtkListBox with the GtkListBox:selection-mode set to GTK_SELECTION_NONE and with the .boxed-list style class.

GtkListView cannot be used as a boxed list at the moment.

An example boxed list:

<object class="GtkListBox">
  <property name="selection-mode">none</property>
    <class name="boxed-list"/>
    <object class="AdwActionRow">
      <property name="title">Item 1</property>
    <object class="AdwActionRow">
      <property name="title">Item 2</property>
    <object class="AdwActionRow">
      <property name="title">Item 3</property>



A number of predefined list row classes are available and intended to be used inside boxed lists:

Action Rows

AdwActionRow is a basic row. It has a title, a subtitle, an icon, and can have prefix and suffix children.


Expander Rows

AdwExpanderRow is similar to AdwActionRow, but can expand to show other rows.


Combo Rows

AdwComboRow is a row with an embedded drop down menu, similar to GtkDropDown.


Entry Rows

AdwEntryRow is a row with an embedded entry. It can have prefix and suffix widgets, and an apply button.


Password Entry Rows

AdwPasswordEntryRow is a variant of AdwEntryRow tailored for entering secrets. It conceals the text and provides a button to show it, along with a Caps Lock indicator.


Preferences Group

AdwPreferencesGroup provides a boxed list along with a title and a description. It’s mainly meant to be used as a child of AdwPreferencesPage, but can also be used separately.