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:
http://www.codinghorror.com/blog/archives/000928.html
(and another post linking to various other multi-monitor posts:
http://www.codinghorror.com/blog/archives/001076.html)
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
flexible.
[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.
-John
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