One of the changes I made at the start of the 2006 calender year,
is dropping Enlightenment E16 in favor of
Fvwm on my laptop. (On my desktop I still run
E16.)
Fvwm
is one of the most configurable and most powerful window-managers for
the X Windowing system. Unlike many of the other window-managers, the
configuration for Fvwm is completely text-based. Of
course, it is possible to find pre-defined themes for
Fvwm (I highly recommend fvwm-crystal
for example); but that is not something I had in mind. I decided to
start using Fvwm because I want an extremely clean and
customizable interface, and because I really enjoyed customizing
mutt, my mail client of choice.
Below I document my on-going learning experience and the configuration file it produced.
A note to start: I take the modular configuration approach. The
file config.fvwm2rc is what most people label
.fvwm2rc.
As it stands now, it is not very exciting: I haven't got true
transparencies working with the version of X.org running
on my laptop, so I use aterm with pseudo-transparency and
shading. But it already looks good enough to use.
A notes:
EdgeScroll command.
aterm that models after the console of FPS games like
Quake. It is shaded normally: it drops down from the top edge of the
screen when the cursor touches the top edge or when the user hits the
hotkey (F12 is what I defined it to be).
DropTerm,
there are two other sticky windows: xclock on the upper left
corner and xload on the upper right corner.
RecenterWindow (turns out to be mighty useful later on)
to center an active window on the screen (or do the best to achieve
so). This is because the ordinary WarpToWindow command
would not display an active screen across page boundary, so windows
that sits on the page-boundary won't be shown in its entirety.
xpm files
are automatic.
expose. It is a hack job, and is slow, but it does
what I want it to do. Basically the script lists all unshaded user
windows, takes a snapshot of every one of them, and displays them for
selection. It complements FvwmPager in that, with the
pager, I can find windows based on location; with the Program
Selector, I can locate lost windows based on a screenshot of
it. It is rather handy when one has a dozen terminal emulators
floating around. (Yes, the name is kind of dumb. I'll look for a better
one later.) The code for the script is here.
What window-manager preview would be complete without screenshots?
Clock on the left, histogram of computer load on the right. Terminals show pseudotransparency. TheProgram Selector in action. Notice that it multiple
tabs in one firefox window shows up as one entry, whereas separate
windows gets separte entries. And that xmms managed to
get one for the player and one for the playlist.