[dwm] random wm thoughts

From: John Li <jli_AT_circularly.org>
Date: Wed, 19 Mar 2008 00:44:25 -0400

Hey dwmers,

I got dual monitors at work the day dwm-4.8 was released and I've been
reading and thinking about multi-monitor setups and about window
management in general more and more since then.

I think this post from Coding Horror is really interesting:
(and another post linking to various other multi-monitor posts:

The "WinSplit Revolution" program discussion near the end of the post
includes a diagram that, curiously, resembles some dwm layouts very
closely. I think dwm is a much better solution, because it handles all
the windows dynamically (as opposed to requiring manual adjustments).

However, I do think the dynamic approach makes some situations kind of
awkward, and perhaps could be improved.

- The default layouts for dwm (excluding floating) only has windows of
  (at most) two sizes - the size of the master-area window and the size
  of tile-area window(s). A natural result of being a dynamic wm, but it
  can often result in non-optimal arrangements. If I want to watch a
  wget download progress bar, I might be giving a huge amount of pixels
  to a window that requires only a fraction of it, while another window
  (the same size as the wget window) is starving for screen space.

  - A possible solution? I use the "push" patch[1] (a very simple two
    line change makes the patch work for 4.8). It allows the user to
    adjust the window ordering in the clients list. If there was a
    layout with variable-sized tile-area windows (e.g., smaller windows
    near the top of the stack), one could "push" the status-bar-like
    windows to the top and have the windows that can use more space at
    the bottom. Yes, this makes dwm less dynamic, but I think more
    [1] http://www.suckless.org/wiki/dwm/patches/push

    I just looked at the patches list again, and it seems like this
    could work well with the fibonacci layouts[2]. Sadly, it hasn't been
    updated since 4.6 and I hardly know C.
    [2] http://www.suckless.org/wiki/dwm/patches/fibonacci

  - Making the status-bar-like windows be floating windows with
    arbitrary size is an okay solution. However, this requires using the
    mouse. Also, I find that having floating windows makes switching
    window focus very awkward, because it's extremely non-obvious where
    the floating window sits in the clients list.

    - Maybe being able to skip over (some?) floating windows when
      cycling focus would work, but this seems to add more complexity
      that it's worth.

- For a short while, I experimented with using the floating layout as my
  default layout. It was actually kind of interesting. The main
  advantage of it: it adds a certain kind of predictability when
  adding/removing tags from view. I tend to have a lot of terminal
  windows open (like most dwm users, I suspect). One downside is that
  many of the windows look very similar (same font, font size, color
  scheme, etc.). When adding a tag to the view results in more terminal
  windows being visible, sometimes it takes brainpower to figure out
  which window is what, because many windows change position and size.

  By working with the floating layout exclusively, the window running
  vim on an html page is always (say) in the top-right corner, and the
  window with vim on a perl script is always in the bottom-right. I find
  this to be pretty nice. Another (minor) nice aspect is that rapid view
  toggling doesn't result in many window resizes that result in ssh
  sessions freaking out (not dwm's fault, of course).

  dwm's lack of keybindings for floating windows (moving and resizing
  them) makes this not such a comfortable way to work, though.

- In general, I really like the current way dwm handles dual-head
  setups. With two non-widescreen monitors, both tilev and tileh feel
  not-quite-optimal with more than ~3 windows in the tile area. I think
  a "grid" type layout would perhaps work well. I recall seeing a patch
  for a grid-mode layout - maybe I'll play around with it and have it
  only apply to tile-area windows.

I really love dwm and I think it's the best way of working for me.
Thanks to arg and everyone else for an awesome bit of software! I'm
looking forward to seeing other peoples' thoughts on this.

Received on Wed Mar 19 2008 - 05:44:59 UTC

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