Welcome to awesome bug tracking system.
FS#561 - Support for column objects
In current versions of awesome you can decide the number of master windows and the number of slave columns (for tile layout). There is no public api (?) for determining the column in which a window has been placed (awful.client.idx is local). Windows are distributed evenly across the slave columns. Only master columns width can be changed.
This could be improved by adding explicit column objects that store as fields the wfact of each column, the number of clients in that column and the last focused client of each column. The column sizes could be used to calculate the clients column and placement in that column based on the clients index.
Storing the focus for each column would allow swapping between columns similar to client.focus.bydirection.
Columns could also be maximized independently (so that the clients in that columns would be stacked on top of each other rather than tiled).
This is similar to how the layout is done in wmii. Awesome should also implement horizontal layout direction though.
This task depends upon