Hi there,
I'm thinking about a different kind of tiled layout which I try
to describe in the following...
What I have in mind is something like a customizable grid layout
which displays clients within a ring list.
By default the grid might display 4 clients, but the grid size
can be customized from 0..n^2 grids, which means 1, 2, 4, 9, 16,
..., 0 means arrange arbitrary clients in a grid.
Next, there won't be a zoom() as we know it, instead this
functionality could be merged into focus{next,prev}, which means
the layout changes if the next/prev client is not visible, e.g.
AAABBB
AAABBB
AAABBB
(assume a grid layout with 2 clients being visible only)
i) If A is focused and focusnext() is performed, B will be focused.
ii) If A is focused and focusprev is performed, and there is a
third client, the layout will look like:
CCCAAA
CCCAAA
CCCAAA
with C being focused. If there is no other client than A and B
then the layout will look like
BBBAAA
BBBAAA
BBBAAA
with B being focused.
All other cases should be easy to grasp. You see that this
concept scales up to arbitrary clients.
Because this is a ring list, there must be a way to swap the
order of such tiled clients in both directions, hence there
should be a swapnext() and swapprev() as replacements for
zoom().
What do people think about this concept? I know it is totally
different from current tiled layout, but it seems worth to being
checked out - it's not drastically more complicated than the
current concept. The grid size could be grown/shrinked easily
with two actions (like current grow-/shrink master area)...
It also works well with mouse focus...
Regards,
-- Anselm R. Garbe >< http://suckless.org/~arg/ >< GPG key: 0D73F361Received on Thu Jan 04 2007 - 15:14:59 UTC
This archive was generated by hypermail 2.2.0 : Sun Jul 13 2008 - 14:34:12 UTC