After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 704722 - Flexible & Responsive Grid
Flexible & Responsive Grid
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: .General
3.9.x
Other Linux
: Normal enhancement
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks: 708332
 
 
Reported: 2013-07-23 00:16 UTC by Allan Day
Modified: 2013-10-07 09:25 UTC
See Also:
GNOME target: ---
GNOME version: 3.7/3.8



Description Allan Day 2013-07-23 00:16:35 UTC
This is essential if we want to provide a high-quality, modern user experience for GNOME. Some of the requirements:

 * Responsive layouts, so that the size of grid cells and the number of columns dynamically adjusts to the amount of space available. This should ensure that there are no uneven amounts padding between columns or on the sides of the grid.
 * Control over reflowing, so it is possible to set the maximum and minimum number of columns, as well as the maximum and minimum cell size.
 * Flexible cell content, so that different arrangements of images, text and widgets can be contained within each grid cell.
 * Flexible styling, so we can have design grid tiles with shadows beneath them, different hover effects, and so on.

One example of the kind of behaviour that we need:

 * http://jimmac.musichall.cz/stuff/gnome3/Software/

Some more notes can be found on the 2013 Dev X Hackfest page:

 * https://wiki.gnome.org/DeveloperExperience/Hackfest2013/Toolkit
Comment 1 Matthias Clasen 2013-07-30 00:01:23 UTC
The prototype for this is EggFlowBox, in the egglistbox module
Comment 2 Jean-François Fortin Tam 2013-09-18 21:35:01 UTC
Just so that you can have an additional usecase in mind while designing this (and the API that goes with it):

I'd like to use this in Pitivi to replace the two (iconview vs listview) view modes of the media library. In Pitivi, such a widget is expected to scroll as it contains hundreds of items, yet it does not have the whole screen space available (unless the user "undocks" the media library widget), more like one half of the height and 1/3rd of the width.

I'm wondering what the API would look like: do you set some desired item sizes for various ranges of available containing space, or does the thing behave fully automated, or...? (just making sure that I don't end up with twenty columns of atom-sized thumbnails on a laptop screen, or, on the contrary, a single column of 256px-wide thumbnails :)
Comment 3 Matthias Clasen 2013-10-07 03:34:42 UTC
There's GtkFlowBox in GTK+ master now
Comment 4 Allan Day 2013-10-07 09:25:23 UTC
Whoa.