This list is maintained by the design team. It is intended to provide an overview of the kind of major features and changes that we'd like to see in GTK.
Things We Want
This includes both new capabilities and things that should be easy for developers to implement.
New tab widget
The existing tab widget isn't great; we've wanted a new one for a long time.
We've had a design for combobox replacements for a long time, and Matthias had a branch for them, but did it ever land?
Grids where the spacing between items remains the same and the items scale to fill the space. This is technically possible with GtkFlowBox, but how easy is that to use in practice?
Easily add sub-headings and groups to grids and lists
Or, a real-life example (this is a ListBox containing FlowBoxes).
Animate all the things
- List and grid rearrangement
- Add a list row or grid item → the other items move to make room.
- Remove a list row or grid item → the other items move to fill the space.
- Parent/child transitions
- Most commonly applies to lists and grids, can include things like opening a cell form a calendar or a chat message from a history
- Child can expand/contract in place (for example in a list or grid), or an expanded view can be overlaid on top
- The child might need to have focus when expanded; clicking outside the child would collapse the child and focus the parent
- Action icon state changes --
Potential wishlist items that require review.
These don't currently belong to GTK. There are also a bunch of small issues and inconsistencies in the way that apps implement them. We have some old designs for a standard GTK widget, but we never 100% decided on all the details.
Responsive design patterns
In addition to the interest in adapting GTK apps to suit mobile form factors, there are also good reasons to embrace responsive design patterns on larger devices: they enable applications to adapt to display orientation changes, they also allow windows to work well when used side-by-side.
- Sidebars that retract when the window width is below a threshold. Two options here:
- Sidebar is replaced by a menu/popover that's accessed from the header bar
HeaderBar height issues:
- Vertical stack switcher