Configuring and running EvilWM

This article hasn’t been updated since September 2005. If you found this page via a search engine and you know what you’re looking for it may still be of use. However, if you wanted a general overview of the topic you should consider finding a more up-to-date resource. (I removed all links to this page from my site, but I left the page so you wouldn’t get a “404 Not Found” error when you came across it via a search engine or link.)

In fact, I now use ion3 as my window manager.

About Window Managers

A Window Manager, such as evilwm or KDE, controls the placement of windows on the screen. Some provide additional features, for instance KDE includes a file manager (Konqueror), web browser (Konqueror), taskbar... the list goes on. EvilWM is the opposite: I find it to still be a usable window manager, and as it's very simple it's also very fast to load. Logging on to a DoC machine takes under two seconds for me, including loading my web browser and two terminals! Here's a screenshot of evilwm:

evilwm desktop showing terminals, web browser, file manager and clock

Reasons to try evilwm

If you're the kind of person who likes the MS-Office paperclip character, then I'm afraid this probably isn't for you. If you spend ages theming your desktop, you might be disappointed to learn that evilwm has no window decorations, other than a one-pixel border around each window (you can change the colour though). Personally, I found I never used the title bar, close button and so on, and the extra screen space is useful.

Using evilwm in the DoC

There's a couple of steps: telling X you want to use evilwm; deciding what to load automatically; optionally setting some keyboard shortcuts;

An .xsession file in your home directory will be run when you log in (graphically) or start X. Copy this xsession file to ~/.

#!/bin/sh userresources=$HOME/.Xresources if [ -f $userresources ]; then xrdb -merge $userresources fi # EvilWM with Ctrl-Alt-Enter mapped to xterm /vol/linux/apps/evilwm/latest/evilwm -term xterm & # Removes audible system bell (beep) xset -b # Loads an ssh-agent (for SSH authentication) ssh-agent & # Binds certain key combinations to execute commands, i.e. load programs /vol/linux/apps/xbindkeys/latest/bin/xbindkeys -f $HOME/.xbindkeysrc & # Changes background to black, mouse cursor to white xsetroot -solid black -cursor_name left_ptr -rv & # Uses an image for the desktop background # Esetroot $HOME/wallpaper.png # Puts a clock in the top right corner xclock -d -brief -geometry 56x35-1+1 & # Loads XMMS #xmms & # Loads GAIM (for MSN messenger etc) /vol/linux/apps/gaim/latest/bin/gaim & # Loads Opera web browser in the bottom half of the screen opera -geometry 1260x637+11+377 & # Sets a variable for ROX-filer declare -x CHOICESPATH="$HOME/.Choices:/usr/local/share/Choices:/usr/share/Choices" # Loads ROX panel, at the bottom of the screen #rox -b=MyPanel & # Loads two xterms at the top of the screen xterm -fs 10 -geometry 77x19+11+11 & xterm -fs 10 -geometry 77x19+650+11 & # Run xtrlock after 3 minutes inactivity or when the cursor is left in the top # left for 3 seconds. When xautolock exits, the session is considered to have ended # cleanly, so you can have a keylaunch binding for xautolock -exit as a means of # properly ending your session. exec xscreensaver -nosplash

The file is well-commented, you can adjust it as you wish. If you add extra commands, make sure they have an & after them, to start them in the background. The last command (without an &) "holds" the session – when it ends, you log out. Hence, I use xsreensaver, a screensaver program, for this purpose. To log out, you have to stop xscreensaver. Do this with the command pkill xscreensaver. You might like to have a shortcut to this, called an alias, so you can type a simple word intead of two. Edit the file ~/.cshrc (your C-shell settings) and add the line alias die pkill xscreensaver after the other aliases (or the end). Then, typing die in a shell will log you out.

Using evilwm

Log out of KDE, and log back in again. Hopefully, you'll have evilwm running. If not double check your .xsession file. If you need to, press Ctrl+Alt+F1 and log in at a text console so you can edit .xsession. Press Alt+F7 to get back. If evilwm is stuck, press Ctrl+Alt+Backspace to kill X.

Assuming you have evilwm running, there's only a few things to note:

The mouse

The keyboard

That's about it – all Linux programs should still work, although you might like to use some simpler ones rather than those that are used by default.

Useful programs

These can be started from a terminal, append & to the end to start them in the background (so you can still use your terminal).

From the command line

You can often do quite complex operations from the command line. I'll write a quick-tricks guide at some point, but for now here's the commands I use most: bg cd chmod cp curl date df du emacs find finger grep gv history host less ln ls man mkdir mv netstat ping pkill ps rename rm rmdir scp ssh tail top w wget which. You can see what most of them do by typing command --help and failing that, man command.