From: Nguyen Thai Ngoc Duy Date: Fri, 02 Mar 2012 12:47:37 GMT Subject: Re: [PATCH v7 04/10] column: add dense layout support Message-ID: In-Reply-To: <7vty2azudf.fsf@alter.siamese.dyndns.org> 2012/2/29 Junio C Hamano : > Nguyễn Thái Ngọc Duy writes: > >> Normally, all items will be gone through once. The largest cell will set >> column width for all columns. With this strategy, one long item will >> stretch out all columns, wasting space in between them. >> >> With COL_DENSE enabled, it shrinks all columns to minimum, then attempts >> to push the last row's cells over to the next column with hope that >> everything still fits even there's one row less. The process is repeated >> until the new layout cannot fit in given width anymore, or there's only >> one row left (perfect!). > > As you have given 4 bits for COL_MODE in the previous patch, I expected > that this will be one of the mode that you can use, e.g. column-first dense, > or row-first no-dense, with two more bits for operating modes.  Not calling > it COL_MODE_DENSE and assigning a "are we dense of not?" bit out of COL_MODE > bits feels wrong. I reserve the 4 bits for strategies to fill the layout. One day I'm crazy enough maybe I'll add spiral mode that put the first item in the center, then next items in a spiral outward. COL_DENSE is about cell size and should be applicable to any layout strategies. Maybe COL_LAYOUT_COLUMN, COL_LAYOUT_ROW, COL_WIDTH_DENSE (and COL_WIDTH_EQUAL) would be better names -- Duy