Out on the tiles
<p>I&#8217;ve been experimenting with tiling window managers recently. I tried out awesome and xmonad, and read documentation on several others including dwm and wmii.  The prompt cause is that I&#8217;ve been doing a lot of surgery on large repositories recently, and when you get up to 50K commits that&#8217;s enough to create serious memory pressure on my 4G of core (don&#8217;t laugh, I tend to drive my old hardware until the bolts fall out). A smaller, lighter window manager can actually make a difference in performance.</p>
<p>More generally, I think the people advocating these have some good UI arguments &#8211; OK, maybe only when addressing hard-core hackers, but hey we&#8217;re users too. Ditching the overhead of frobbing window  sizes and decorations in favor of getting actual work done is a kind of austerity I can get behind.  My normal work layout consisted of just three big windows that nearly filled the screen anyway &#8211; terminal, Emacs and browser. Why not cut out the surrounding cruft?</p>
<p>I wasn&#8217;t able to settle on a tiling wm that really satisfied, though, until my friend HedgeMage pointed me at i3.  After a day or so of using it I suspect I&#8217;ll be sticking with it.  The differences from other tiling wms are not major but it seems just enough better designed and documented to cross a threshold for me, from interesting novelty to useful tool.  Along with this change I&#8217;m ditching Chatzilla for irsii; my biggest configuration challenge in the new setup, actually, was teaching irssi how to use libnotify so I get visible IRC activity cues even when irsii itself is hidden.</p>
<p><span id="more-4890"></span></p>
<p>One side effect of i3 is that I think it increases the expected utiliity of a multi-monitor configuration enough to actually make me shell out for a dual-head card and another flatscreen &#8211; the documentation suggests (and HedgeMage confirms) that i3 workspace-to-display mapping works naturally and well.  The auxiliary screen will be all browser, all the time, leaving the main display for editing and shell windows.</p>
<p>It&#8217;s not quite a perfect fit.  The i3 model of new-window layout is based on either horizontally or vertically splitting parent windows into equal parts.  While this produces visually elegant layouts, for some applications I&#8217;d like it to try harder to split space so that the new application gets its preferred size rather than half the parent.  In particular I want my terminal emulators and Emacs windows to be exactly 80 columns unless I explicitly resize them.  I&#8217;ve proposed some rules for this on the i3 development list and may try to implement them in the i3 codebase.</p>
<p>I&#8217;m not quite used to the look yet.  On the one hand, seeing almost all graphics banished from my screen in favor of fixed-width text still seems weirdly retro, almost as though it were a reversion to the green screens of my youth.  On the other hand, we sure didn&#8217;t have graphical browsers in another window then. And the effect of the whole is &#8230; <em>clean</em>, is the best way I can put it.  Elegant.  Uncluttered. I like that.</p>
<p>Even old Unix hands like me take the Windows-Icons-Mouse-Pointer style of interface for granted nowadays, but i3 does fine without the I in WIMP. This makes me wonder how much of the rest of the WIMPiness of our interfaces is a mistake, an overelaboration, a local peak in design space rather than a global one.</p>
<p>I was willing enough to defend the CLI for expert users in <cite>The Art of Unix Programming</cite>, and I&#8217;ve put my practice where my theory is in designing tools like reposurgeon.  Now I wonder if I should have been still more of an &#8211; um &#8211; iconoclast.</p>
