On Wed, Mar 05, 2008 at 05:42:27PM -0500, Ritesh Kumar wrote: > The flexibility is definitely good, however, it clutters the config.h with a > lot of dwm internals, may be unnecessarily. Worse of all, it may still not > be flexible enough for another person to modify it for a Xinerama layout of > his own.
Well, the design decision I made so far is, that there should only be a single bar at a certain screen in a multihead setup. Thus those new values in config.h which replace BARPOS. The bar represents the internal state of dwm, the tags in use, the layout algorithm, the title of the focused client and some status text. I learned due to my experiments during the last weeks, that several bars with duplicate information is not a nice idea. However, more complex layouts, especially layouts for multiheads, need a separate layout function which can be included using #include "your_layout.c" in config.h. I don't want that a layout developer has to bother about drawing the bar, he only has to bother about how to calculate window geometries. So it doesn't hurts that much, that there is M{X,Y,W,H} and T{X,Y,W,H}, a more advanced layout which does Xinerama calls does not need to make use of those definitions at all. I think it is really the best to keep things as simple as they are -- and keeping the layout algorithm as is. The above decision to allow for more fine-grain bar positioning allows all this. > Ultimately, it depends on how fundamental you think the stack/monocle layout > is to dwm. I really think that multihead setups offer many more feasible > design choices than the highly popular stack/monocle layout for single > monitor setups. I think that the tiled layout is a fundamental layout in dwm, and it scales well two 2 screens already. It won't work for 3, but the number of people using 3 screens is very low, so those might prefer a separate layout algorithm instead. Kind regards, -- Anselm R. Garbe >< http://www.suckless.org/ >< GPG key: 0D73F361