From ArchWiki
Revision as of 20:33, 18 March 2009 by CyberBob (talk | contribs) (Created page with 'Category:Desktop environments (English) Category:HOWTOs (English) evilwm is a minimalist window manager for the X Window system. It's minimalist in that it omits unneces...')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

evilwm is a minimalist window manager for the X Window system. It's minimalist in that it omits unnecessary stuff like window decorations and icons. But it's very usable in that it provides good keyboard control with repositioning and maximize toggles, solid window drags, snap-to-border support, and virtual desktops. It's installed binary size is only 0.07 MB.


evilwm is part of the extra repository, so installation is as simple as running:

pacman -S evilwm


Starting evilwm

To start evilwm (without any options) via startx, ensure your ~/.xinitrc file contains:

exec evilwm

evilwm doesn't control the desktop background or mouse cursor, so you may want to also specify these in your ~/.xinitrc file. For example, to provide a solid color background and use the left pointer of your current mouse theme:

xsetroot -solid \#3f3f3f
xsetroot -cursor_name left_ptr

For other options, please consult man xsetroot.

Startup options

evilwm doesn't use a configuration file, but rather options switches when starting the window manager. Example options include:

-fg color (frame color of currently active window)
-bw borderwidth (width of window borders in pixels)
-term termprog (specifies a program to run when spawming a new terminal. default is xterm)
-snap number (enables snap-to-border support and specifies the proximity in pixels to snap to)
-mask1 modifier (override the default ctrl+alt keyboard modifiers to something else)
-nosoliddrag (draw a window outline while moving or resizing, rather than drawing the entire window)

A full list of the evilwm options can be found via man evilwm.

By default, evilwm draws a one pixel gold border around the currenly active window. An example of the use of the options to change this would be a ~/.xinitrc file such as:

exec evilwm -snap 10 -bw 2 -fg red

This would enable the snap-to-border option at a 10 pixel distance and change the default border width to 2 and the color of the currently active window border to red.

Using evilwm

After starting evilwm you will see nothing but a mouse cursor and a black background (or other background if you specified it as above). To open a terminal, use the key combination ctrl+alt+return. Programs can then be run from the terminal using ProgramName&.

Keyboard controls

Using the keyboard combination of ctrl+alt plus a third key gives you these functions:

Return - spawns new terminal
Escape - Deletes current window
Insert - Lowers current window
H,J,K,L - Move window left, down, up, right 16 pixels
Y,U,B,N - Move window to top-left, top-right, bottom-left, bottom-right corner
I - Show information about current window
= - Maximize current window vertically (toggle)
X - Maximize current window full-screen (toggle)

Mouse controls

By holding down the alt key, you can perform these functions with the mouse:

Button 1 - move window
Button 2 - resize window
Button 3 - lower window

Virtual desktops

Using the keyboard combination of ctrl+alt plus a third key gives you these virtual desktop functions:

1-8 - Swith virtual desktop
left - Previous virtual desktop
right - Next virtual desktop
F - Fix or unfix current window

To move a window from one virtual desktop to another, fix it, switch desktop, then unfix it. alt+tab can also be used to cycle through windows on the current desktop.

Tips & Tricks

Horizontal window maximize

The key combination of ctrl+alt+= will maximize a window vertically. To maximize a window horizontally, use ctrl+alt+= to maximize it vertically, then ctrl+alt+X to maximize it horizontally (as opposed to just using ctrl+alt+X to maximize it full-screen).

Exit evilwm by ending a program

By default, evilwm has no quit option. To exit, simply kill X (ctrl+alt+backspace). If you wish, you can exit evilwm by closing a specific program. Instead of using exec evilwm in your ~/.xinitrc file, you can transfer exec to another program. Ending this other program will then exit evilwm. For example:

# start evilwm (snap-to-border within 10 pixels option, 2 pixel window border, active window border red)
/usr/bin/evilwm -snap 10 -bw 2 -fg red&
# transfer exec control to xclock
# killing xclock (with ctrl+alt+escape, say) will exit evilwm
exec xclock -digital


evilwm - the official website of evilwm