Sidebar widget
A number of our apps have custom (and mostly not very good) sidebar implementations, would be cool to have a proper widget that supports the most common use cases.
Features I think we'd need (though maybe not all of them from the start):
- Icons
- Action buttons (e.g. unmount drive)
- Status icons (e.g. git status)
- Sections with and without headers
- Counter bubbles (e.g. message counters)
- Secondary click/long press context menu
- Collapsible sections
- Drag and drop re-ordering within sections
- Drag and drop moving between sections
- Nested sub-sections
I'm not sure about/needs more thought:
- Selection mode
- Controls other than buttons on the right (e.g. switches)
Potential use cases include:
- Nautilus (needs sections w/o headers, icons, action buttons)
- Geary (needs sections, nested sub-sections, icons, counters)
- Fractal (needs icons/avatars, DnD moving between sections)
- Libadwaita demo (needs sections, icons)
- New mode in HdyPreferencesWindow for apps with a ton of preferences (needs sections, icons)
In terms of visuals, these mockups are a start: https://gitlab.gnome.org/Teams/Design/app-mockups/-/raw/master/patterns/patterns.png