[dwm] yet another random ideas

From: Anselm R. Garbe <arg_AT_suckless.org>
Date: Thu, 4 Jan 2007 15:14:59 +0100

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: 0D73F361
Received 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