Re: [dwm] recent changes

From: voltaic <>
Date: Wed, 12 Mar 2008 19:25:50 -0400

I agree with Joerg's argument that single-monitor usability should not be
sacrificed for multihead support. I tested out 4.8 two days ago (so I guess
I'm already out of date) and one glaring issue that bothered me was the hard
coded tile/stack area sizes. It worked very well with Xinemara, but how
about laptop users who connect and disconnect external monitors frequently?
If I want to be able to use DWM 4.8 in its current state I would have to
compile multiple executables, each configured specifically for a particular
monitor resolution. This would also involve restarting DWM frequently and
losing tag information. I think for those people who use a large external
monitor for everyday use and a projector for work the hard coding of various
dimensions would be pretty inconvenient.

The obvious solution is to make available the resolution of each attached
screen and in that manner set the BX, BY, BW, WX, etc. values as
proportions. As I've said before, I don't know a whole lot about
programming, and I know nothing about X programming, so I don't know if what
I asked for is possible at all. But consider that this is from a daily DWM

I also should point out that with the high resolution external monitors
these days, I find very little use for a dual head setup. I especially find
the current setup distracting, because having the stack area in the
secondary screen forces me to go back and forth between the two screens all
the time. I think this is less efficient than having all the relevant
information right in front of you at all times. I envision the secondary
head to be used as a scratch area, or a static place for notes and the like
to be kept. I know pancake mentioned this before, and I agree with him. I
also think that with widescreen monitors it really becomes logical to split
the screen vertically into a master and stack area. Itt really makes little
sense to relegate the primary screen (a high resolution widescreen monitor)
as the master area because a single window rarely need to occupy the whole
screen. I think the option should be there for people who have lower
resolution screens (perhaps a different tile layout) but for me no single
window requires 1680 pixels of horizontal space.

Another comment with regard to what Joerg said: I am also a former ION3
user, but I have not been bothered by the lack of tabs in DWM. Tabs would
add another dimension of variables that the user needs to sort through to
get to the window he/she wants. In DWM the only construct that toggles the
visibility of a window is the visibility state of a tag. If we add tabs to
this mixture the windows have the chance of being doubly hidden (by the
visibility of a tag as well as of a tab), and become twice removed from
being readily accessible with a single keystroke. Tabs also add an extra
status bar to each window, crowding the screen, and wasting screen space.
That is just my opinion, though.


On 3/12/08, Joerg van den Hoff <> wrote:
> On Thu, Mar 06, 2008 at 08:20:00PM +0100, Anselm R. Garbe wrote:
> > I investigated further today and refactored a lot. First of all
> > I got rid of dozoom, I extended Layout to contain a Bool
> > isfloating flag as well, which roughly tells dwm that the
> > layout algorithm is floating (hence there are no layers of tiled
> > windows being treated differently if isfloating is True in Layout).
> >
> > I also refactored tile(), which consists of 5 functions now,
> > tilev(), tileh(), tilemaster(), tilevstack(), tilehstack().
> > Due to the change yesterday, I believe that with some testing
> > and bug fixing the bstack layout is a special config.h setting
> > now with different M{X,Y,W,H} and T{X,Y,W,H} settings .
> >
> > I decided to add a tileh() layout which does the following in my
> > multiscreen setup (and which is pretty much similiar to
> > bstack, except that it expands on my second bigger screen), see
> > this screenshot:
> >
> >
> >
> > I also changed setlayout that it toggles to the previous layout,
> > if it is called twice. Due the fact of tileh, I changed the
> > setlayout keybindings slightly as you will notice on the
> > screenshot.
> >
> > Also, monocle() now works like a floating layout, except that it
> > maximizes all windows to MOX, MOY, MOW, MOH. I decided against
> > rectangle restoring, this is a dynamic WM anyways.
> >
> > I will be offline till Tuesday. Please test the stuff, report
> > bugs and feedback on this list, I will have a look then and
> > consider releasing the stuff next week.
> >
> > Btw. I also changed dmenu yesterday, -b is gone, instead I
> > introduced -x <x> -y <y> -w <w> as command line options.
> >
> > Kind regards,
> > --
> > Anselm R. Garbe >< >< GPG key: 0D73F361
> >
> hoping not to interfere. just a few thoughts from a pure user perspective
> (mine...):
> -- multiscreen, even Xinerma support is nice to have as long as single
> screen
> operation is not compromised. it seems some beloved things might be left
> behind?
> I, too, think `setmwfact' is quite useful, e.g.. multiscreen setups
> (hopefully)
> will remain a rather small niche, I'd say: large desktop monitors are
> already
> available at affordable prices and the other big "use case" will be
> labtops.
> so I'd say optimal support of single screen operation is _much_ more
> important
> than multi-screen.
> -- coming from ion3 I see some nice advantages of dwm (not the least a
> main
> author not permanently on war with something/someone or other).
> -- the multitude of patches/opionions of what is an indispensable layout
> says
> something important: "one size fits all" does not work so well.
> enforcing that every user should go and patch dwm to his/her liking?
> well, user's usually can't do that either for reasons of capabilities or
> time or both...
> so what I would really like to see is a small(!) number of good
> layouts to choose from. monocle plus standard stack seem to come
> with 4.8, which is good. my question here would be, whether not consensus
> could
> be reached on, say, 4-5 sensible layouts which should be available. e.g. a
> nice functionality
> in `ion3' is to transpose the current layout, meaning reflection
> along the screen diagonal (top right to bottom left). this would, e.g.
> bring standard stack to vertical stack, if I understand the intention
> of the latter right. so, instead of introducing vertical stack via a
> patch
> or additional standard layout should a 'transpose' option not be
> preferred? I
> personally would be perfectly content with the following layouts,
> which should be available by default:
> - floating
> - standard stack
> - monocle
> - a tiling layout which always splits the currently largest subwindow
> keeping new windows as 'near square' as
> possible (i.e. implicit decision whether to split horizontally
> or vertically). (up to three this is identical to standard stack, but
> with 4 windows one would get 4 equal size windows and after that
> further splitting seems usually not to make that much sense).
> augmenting this by a 'transpose' (and maybe mirroring left/right and
> up/down)
> option should cover almost any imaginable desire (in this area, I mean
> :-))
> -- the greatest shortcoming of `dwm' in my view is the absense of tabbing
> support. I would value something like this much more than sophisticated
> multiscreen support. monocle essentially provides this in 'full screen'
> mode but it would be great to have it on a per-window basis.
> -- another point (patches seem around, but again: this should be done
> upstream,
> I believe): switching between floating and stacking and back does not
> restore
> window sizes. but this would be extremly helpful: without memorizing the
> window
> sizes/positions of the floating layout a switch to stacking destroys any
> arrangment of windows of the previous floating layout
> (especially on workspaces/tag groups which you are currently _not_ viewing
> ...)
> being able to "go back" to the floating layout as it was when
> last visited would really be nice.
> -- a related point: a per-workspace/tag layout approach (having some
> floating,
> some stacking views) would be really good. the importance of this
> increases if there
> are more than 2-3 layouts in the future.
> I know the above is biased somewhat by my experience with `ion3'. and it's
> only my personal wishlist. and of course `dwm' is already really good
> right now.
> I think it's understood that I'm not expecting/demanding something.
> joerg
Received on Thu Mar 13 2008 - 00:25:53 UTC

This archive was generated by hypermail 2.2.0 : Sun Jul 13 2008 - 15:25:21 UTC