Back to Basics

In an effort to improve usability for me (and as my wife says, make it less usable for others) I’ve recently switched from using gnome+compiz to a much leaner wmii configuration for day to day use. I tried ruby-wmii and python-wmii and settled on python for now. ruby-wmii was lacking too much to be useful to me right away. although the bookmark manager is one amazing piece of software, I’ll probably still play around with it since I’d prefer ruby configuration, although python-wmii is excellent in itself.

In the process of switching I’ve been reviewing many a startup file and rc file, tweaking things to be just right. Every detail is important when using a minimalistic window manager. Lot’s of things have been useful, urlview combined with this handy script, the firefox vimperator plugin and my .vimrc and .zshrc. Out of everything one of the easiest overlooked, and yet most helpful, is setting a sensible environment.

Three variables are used by a wide variety of programs to display or edit your data, PAGER, EDITOR and BROWSER. Choices here are obviously a matter a preference, but these are the settings I’ve found to be most useful.


{a,ba,da,k,z}sh syntax:

PAGER="less -MS"
EDITOR="vim"
BROWSER="/usr/bin/firefox"
export PAGER EDITOR BROWSER

or

{t}csh syntax:

setenv PAGER "less -MS"
setenv EDITOR vim
setenv BROWSER /usr/bin/firefox

all pretty standard stuff, goes in your shell initialization file or /etc/environment to make it global. Substitute emacs for vim if you want, and more for less. less seems to be faster for larger files which is why I use it. the -MS options for less provide extra features. -M provides browsing information about the current file and -S disables line wrapping. -N is also useful occasionally to display line numbers for a file, maybe not for every file, which is why I leave it out. My exploration continues, so that’s really it for now but on a side note: If anyone out there can get ruby-wmii to control mpd drop me a line, I couldn’t seem to get it working among other things. Of course some python bindings to do the same would work equally well.

Post a Comment

Your email is never published nor shared. Required fields are marked *