Re: [dwm] recent changes

From: Joerg van den Hoff <j.van_den_hoff_AT_fzd.de>
Date: Wed, 12 Mar 2008 19:02:44 +0100

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:
>
> http://www.suckless.org/shots/dwm-hstack.png
>
> 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 >< http://www.suckless.org/ >< 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 Wed Mar 12 2008 - 19:02:45 UTC

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