fvwm2 is a wonderfully configurable window manager for those able and
willing to read the manual(s) and to spend hours pouring over the
intricacies. Over the years, I've done just that, and I have also
gathered, assimilated and adapted others' work to produce something
which, even now, I prefer over gnome/KDE/xfce4. The result is an extremely
usable, fast, (fairly) lightweight desktop which works the way I want
it to. I present the result here in the hope that it might be useful
to others - please drop me a line (bhepple@freeshell.org) if
you use it - otherwise, if I'm deafened by the silence, I might not
bother keeping it up to date.
A word of warning to those new to fvwm2 - there's no GUI configuration
utility (although some of the minor features are configurable through
menus in the present scheme). For example, it would be really nice if
there were an interactive tool to play with and fine-tune the colours
and fonts. But if you really prefer, want or need a window manager
that is easy to configure using "point and click" methods then I
respectfully suggest you look elsewhere - gnome/metacity is pretty
good (though not _quite_ what I want) and I hear that KDE is very
popular. fvwm2 is (and probably always will be) for demon tweakers who
like to use an editor and fine-tune the hell out of it, and then run
it without needing a 3-GHz/2-Gbyte machine.
Having said that, this configuration for fvwm2 aims to be pretty well
ready-to-go in a very usable way and if all you want to do is change
minor details then you can probably restrict your messing around to
one file - .fvwm/$(hostname)/$(hostname).m4
Assuming you're still with me, here are some notes on this
configuration of fvwm2:
-
a single fvwm2 configuration that automatically adapts to different
hosts eg. whatever applications are installed are automatically
configured into the menus.
-
Simple customisations are simple - just tweak the customisation file
.fvwm/$(hostname)/$(hostname).m4
for fine-tuning.
-
Support for multiple hosts sharing a home directory eg on NFS. All
fvwm2 configuration files are dropped into a host-specific directory
.fvwm/$(hostname)
.
-
Attractive decors (almost like themes) that allow a wide choice of
pretty window decorations to suit your current mood and your varying
need for eye candy - all on the menus. This is adapted from
http://www.twobarleycorns.net/fvwm-decors.html and cleaned up eg. so
that decors are kept between sessions.
- All information about standard applications is obtained from the
standard place -
/usr/share/applications/*.desktop
or else
collected into a single place apps.m4
instead of being
scattered all through the configuration file. This allows new
applications to be integrated into the menus and buttons more
consistently. Almost as important, if applications are removed, they
are automatically removed from the menus and button bar (on running
'make'). Hopefully, this will mean an end to dead menu items
and buttons.
-
key bindings are (to me, at least - YMMV) rational, intuitive and
highly tuned for effective use. For example, there is fast switching
between desktop pages using Alt-left/right etc keystrokes. There is
also a fast-warp to each of 6 pages on 2 desktops using Ctl-Alt and
the keypad. See the file
keys.m4
for details and modify for your own
pleasure.
-
Vertical pixels are more precious to me than horizontal - so almost
all clutter is attracted to the side. One concession is that I have
put an autohide taskbar at the bottom for those who like them.
-
A cleanup of all the various module and configuration junk that I
have accumulated over about 10 years of use - so that just about
everything now works - the wharf feature needs some cleanup, but I
don't use it so it may never get done. Any contributions?
-
it is based on preprocessing with m4 - invoke 'make' to update the
configuration after making changes or installing/removing
applications. I don't use the FvwmM4 module as it appeared to be
broken last time I tried - in any case, the desktop should only be
re-built when I say it should be, not every time the system starts. OK
- I cheated a _bit_ - there are some shell script built-in and a
shell/awk script to make some sense out of gnome-2 menus.
-
menus (in
menus.m4
) are based on the application database, tempered
by the per-host customisation and the automatic sensing of what is
actually installed.
- Who knows, but perhaps by separating the mechanism from the
textual parts the task of supporting languages other than English is
made easier. I haven't tried it but if anyone does, I'd be interested.
-
fvwm2 obviously - I use version 2.5.12 so you might think of that as
a minimum although it might well work on earlier versions
-
m4 - it's on most Unix systems
-
Gnu make, bash, awk, sed, tr, grep, hostname, expr - ditto
-
xdpyinfo - comes with most X distributions
-
netpbm - Poskanzer's graphics utilities http://netpbm.sourceforge.net/
-
the buttonbar on the right of the screen uses asmem, ascpu, wmpload,
and rclock but you can tweak other applets instead with a bit of
work. xclock is already configured in as an alternative to rclock
and xterm is an alternative for rxvt. If you don't have them then
they simply don't appear and the button bar will be a little sparse
- 2005/0426: 0.4:
- Retire gnome2-program in favour of fvwm-gnome2 script
- Implement GETMINI to seek out and create mini icons where needed and cache in .fvwm/mini16
- Added S-M-Tab to provide windows list for skipped programs such as terminals
- Added FvwmEvent handle to warp cursor to new windows
- Reverse mouse button usage on root window - button 3 now pops up the menu - more like other WM such as gnome & xfce4
- Use EwmhBaseStruts to control maximize functions
- Many fixes to app.m4 for individual applications
- Better button styles for base decor
- 2004/07/25: 0.3:
- Use RunFocusWarp for all RXVT invocations
- Add program name to Gnome-2 menus
- Separate the graphics parts from the rest - they won't change often
- Heaps of new programs added, cleanups and bug fixes
- 2004/07/11: 0.2:
- New ADD_TO* macros for automatic menu and apps panel building
- New default menu categories - Utilities, Development, Office
- Support for gnome-2 menus (new script fvwm-gnome2)
- gnome-1 menus fixed (using fvwm-menu-desktop)
- Heaps of cleanup and bug fixes
- 2004/04/04: 0.1: Initial version
- Download the latest code and (optionally) the icons and graphics
- Backup and remove (or rename) any old fvwm2 configurations just in case - this configuration will replace it. That includes
.fvwm2rc
and .fvwm
cd
rm -rf .fvwm2rc .fvwm # you did make a backup, didn't you?
tar xzf fvwm-bh-X.X.tgz
mv fvwm-bh-X.X .fvwm
cd .fvwm
tar xzf fvwm-bh-graphics-X.X.tgz
make
- Now you can (re)start fvwm2 and start tweaking
- To see your changes, you'll need to
cd
cd .fvwm
make
and re-start fvwm2 - that should now be assigned to key C-M-S-Delete
This page last updated on Tue Apr 26 09:05:42 EST 2005
For corrections/additions/suggestions for this
page, please send email to: bhepple@freeshell.org Copyright© 1997-2005 Bob Hepple. All rights reserved.'