Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
evilwm(1)		     General Commands Manual		       evilwm(1)

NAME
     evilwm--minimalist window manager for X11

SYNOPSIS
     evilwm [OPTION]...

DESCRIPTION
     evilwm  is a minimalist window manager for the X Window System. It features
     plenty of reconfigurable mouse and  keyboard  controls  while  providing  a
     clean  display,  uncluttered  by  less  useful window furniture (like title
     bars).

OPTIONS
     --display display
	    specifies the X display to run on. Usually this can be inferred from
	    the DISPLAY environment variable.

     --term termprog
	    specifies an alternative program to run when spawning a new terminal
	    (defaults to xterm, or x-terminal-emulator in Debian). Separate  ar-
	    guments  with  whitespace, and escape needed whitespace with a back-
	    slash. Remember that special characters will also need  to	be  pro-
	    tected from the shell.

     --fn fontname
	    specify a font to use when resizing or displaying window titles.

     --fg colour
     --fc colour
     --bg colour
	    frame colour of currently active, fixed active, and inactive windows
	    respectively. Either specify an X11 colour name like goldenrod, or a
	    hex triplet like #DAA520.

     --bw borderwidth
	    width of window borders in pixels.

     --snap distance
	    enable  snap-to-border  support. distance is the proximity in pixels
	    to snap to.

     --wholescreen
	    ignore monitor geometry and use the whole screen dimensions. This is
	    the old behaviour from before multi-monitor support was implemented,
	    and may still be useful, eg when one large monitor	is  driven  from
	    multiple outputs.

     --numvdesks columns[xrows]
	    virtual  desktop  layout,  defaulting  to '8x1'. Any more than eight
	    virtual desktops will only be accessible by  pagers  or  using  Con-
	    trol+Alt+(Left/Right/Up/Down).

     --nosoliddrag
	    draw a window outline while moving or resizing.

     --mask1 modifier[+modifier]...
     --mask2 modifier[+modifier]...
     --altmask modifier[+modifier]...
	    override the default keyboard modifiers used to grab keys for window
	    manager functionality.

	    mask1 is used for most keyboard controls (default: control+alt), and
	    mask2  is  used  for  mouse button controls and cycling windows (de-
	    fault: alt). altmask is used to modify the behaviour of certain con-
	    trols (default: shift). Modifiers may be  separated  with  +  signs.
	    Valid modifiers are 'shift', 'control', 'alt', 'mod1'...'mod5'.

     --bind key[+modifier]...=[function[,flag]...]
	    bind  a  key  pressed  with  specified modifiers to a window manager
	    function. key is an X11 keysym name, modifiers are as above, but may
	    also include 'mask1', 'mask2' and 'altmask' to refer  to  the  glob-
	    ally-configured  combinations. See FUNCTIONS for a list of available
	    functions and the flags they recognise. If function is empty, a bind
	    is removed.

     --bind button=[function[,flag]...]
	    bind a mouse button to a window manager  function.	While  modifiers
	    can  be  specified, they will be ignored; the button on its own will
	    trigger if pressed within a window's frame,  or  with  'mask2'  held
	    anywhere  within  a  window. Function and flags is as with key binds
	    above. Valid buttons are 'button1'...'button5'.

     --app name/class
	    match an application by instance name and class (for help in finding
	    these, use the xprop tool to extract the WM_CLASS property).

	    Subsequent --geometry, --dock, --vdesk and --fixed options will  ap-
	    ply to this match.

     -g, --geometry geometry
	    apply  a  geometry	(using a standard X geometry string) to applica-
	    tions matching the last --app.

     --ignore-position
	    ignores the user-specified position for a matched application.  Use-
	    ful  for  some  applications which abuse these hints to centre them-
	    selves without the user asking for it.

     --ignore-border
	    ignores the application-specified border width and use the default.

     --dock
	    specify that application should be considered to be a dock, even  if
	    it lacks the appropriate property.

     -v, --vdesk column[,row]
	    specify a default virtual desktop for applications matching the last
	    --app.  If	row is not specified, column may instead refer to an ab-
	    solute virtual desktop number (ignoring layout). Note  that  column,
	    row and absolute virtual desktop numbers are counted from zero.

     -f, --fixed
	    specify that application is to start with a fixed client window.

     -h, --help
	    show help

     -V, --version
	    show program version

     evilwm  will  also read options, one per line, from a file called .evilwmrc
     in the user's home directory. Options listed in a configuration file should
     omit the leading dash(es). Options specified on the command  line	override
     those found in the configuration file.

USAGE
     In  evilwm,  the  focus follows the mouse pointer, and focus is not lost if
     you stray onto the root window. The current window border	is  shaded  gold
     (unless it is fixed, in which case blue), with other windows left as a dark
     grey.

     You  can  use  the mouse to manipulate windows either by click/dragging the
     single-pixel border (easier when they align with  a  screen  edge),  or  by
     holding down Alt and doing so anywhere in the window. The controls are:

     Button 1
	    Move window.

     Button 2
	    Resize window.

     Button 3
	    Lower window.

     Most  keyboard  controls  are  used  by  holding down Control and Alt, then
     pressing a key. Available functions are:

     Return
	    Spawn new terminal.

     Escape
	    Delete current window. Hold Shift as well to force kill a client.

     Insert
	    Lower current window.

     H, J, K, L
	    Move window left, down, up or right (16 pixels). Holding  Shift  re-
	    sizes the window instead.

     Y, U, B, N
	    Move  window to the top-left, top-right, bottom-left or bottom-right
	    of the current monitor.

     I	    Show information about current window.

     Equals
	    Maximise current window  vertically  on  current  monitor  (toggle).
	    Holding Shift toggles horizontal maximization.

     X	    Maximise current window to current monitor (toggle).

     D	    Toggle visible state of docks, eg pagers and launch bars.

     If  compiled  with virtual desktop support, these functions are also avail-
     able:

     F	    Fix or unfix current window. Fixed windows remain visible  when  you
	    switch virtual desktop.

     1--8   Switch  to	specific  virtual desktop (internally, desktops are num-
	    bered from zero, so this actually switches to  desktops  0--7;  this
	    only becomes important if you use application matching).

     Left   Switch one virtual desktop to the left.

     Right  Switch one virtual desktop to the right.

     Up     Switch one virtual desktop up (if more than one row was specified).

     Down   Switch  one  virtual  desktop  down (if more than one row was speci-
	    fied).

     A	    Switch to the previously selected virtual desktop.

     In addition to the above, Alt+Tab can be used to cycle through windows.

     To make evilwm reread its config, send a HUP signal to the process. To make
     it quit, kill it, ie send a TERM signal.

FUNCTIONS
     The keyboard and mouse button controls can be configured  with  the  --bind
     option  to  a  number of built-in functions. Typically, these functions re-
     spond to an additional set of flags that modify their behaviour.

     delete
	    Delete a window. This is the co-operative way  of  closing	applica-
	    tions,  as	it sends the client a signal indicating that they should
	    shut down.

     dock   When called with the toggle flag, toggles visibility of  any  window
	    claiming to be a dock.

     fix    With  the  toggle flag, toggle whether a window is fixed (visible on
	    all virtual desktops) or not.

     info   Shows extra information about the current window for as long as  the
	    key is held.

     kill   Kill  a  window. A more forceful way of closing an application if it
	    is not responding to delete requests.

     lower  Lower the current window.

     move   When bound to a button, moves a window with the mouse.

	    When bound to a key, if the relative flag is specified, moves a win-
	    dow in the direction indicated by other flags:  up,  down,	left  or
	    right.  Without  the  relative flag, moves a window in the direction
	    specified by other flag to the edge of the monitor.

     next   Cycle to the next window.

     raise

     Raises the current window.

     resize
	    When bound to a button, resizes a window with the mouse.

	    When bound to a key, if the relative flag is specified, modifies the
	    width or height of the window as indicated by other flags:	up  (re-
	    duce  height),  down (increase height), left (reduce width) or right
	    (increase width). If instead the toggle flag is specified, maximises
	    along axes specified by other flags: horizontal, vertical or both.

     spawn  Start a terminal.

     vdesk  With the toggle flag specified, switch  to	the  previously  visible
	    vdesk.  With  the relative flag set, move within the virtual desktop
	    layout according to the left, right, up or down flags.

	    If neither flag is specified, a numerical argument	indicates  which
	    vdesk to switch to.

DEFAULT BINDS
     These  are  the  default lists of modifiers, button and keyboard binds. The
     built-in binds use the globally-configurable modifier combinations 'mask1',
     'mask2' and 'altmask', making a sweeping change  to  a  different	modifier
     combination easy.

     Note that 'mod1' typically refers to the Alt key.

   Modifiers
	    mask1 control+mod1
	    mask2 mod1
	    altmask shift

   Button binds
	    bind button1=move
	    bind button2=resize
	    bind button3=lower

   Keyboard binds
	    bind mask1+Return=spawn
	    bind mask1+Escape=delete
	    bind mask1+altmask+Escape=kill
	    bind mask1+Insert=lower
	    bind mask1+KP_Insert=lower
	    bind mask1+i=info
	    bind mask2+Tab=next
	    bind mask1+h=move,relative+left
	    bind mask1+j=move,relative+down
	    bind mask1+k=move,relative+up
	    bind mask1+l=move,relative+right
	    bind mask1+y=move,top+left
	    bind mask1+u=move,top+right
	    bind mask1+b=move,bottom+left
	    bind mask1+n=move,bottom+right
	    bind mask1+altmask+h=resize,relative+left
	    bind mask1+altmask+j=resize,relative+down
	    bind mask1+altmask+k=resize,relative+up
	    bind mask1+altmask+l=resize,relative+right
	    bind mask1+equal=resize,toggle+v
	    bind mask1+altmask+equal=resize,toggle+h
	    bind mask1+x=resize,toggle+v+h
	    bind mask1+d=dock,toggle
	    bind mask1+f=fix,toggle
	    bind mask1+1=vdesk,0
	    bind mask1+2=vdesk,1
	    bind mask1+3=vdesk,2
	    bind mask1+4=vdesk,3
	    bind mask1+5=vdesk,4
	    bind mask1+6=vdesk,5
	    bind mask1+7=vdesk,6
	    bind mask1+8=vdesk,7
	    bind mask1+Left=vdesk,relative+left
	    bind mask1+Right=vdesk,relative+right
	    bind mask1+Up=vdesk,relative+up
	    bind mask1+Down=vdesk,relative+down
	    bind mask1+a=vdesk,toggle

FILES
     $HOME/.evilwmrc

LICENCE
     Copyright (C) 1999-2025 Ciaran Anscomb <evilwm@6809.org.uk>

     This  is  free  software.	You can do what you want to it, but if it breaks
     something, you get to pay for the	counselling.  The  code  was  originally
     based on aewm, so this is distributed under the same terms, which follow.

AEWM LICENCE
     Copyright (c) 1998-2000 Decklin Foster.

     THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS", WITHOUT ANY EXPRESS OR IM-
     PLIED  WARRANTIES	OF ANY KIND. IN NO EVENT SHALL THE AUTHOR BE HELD LIABLE
     FOR ANY DAMAGES CONNECTED WITH THE USE OF THIS PROGRAM.

     You are granted permission to copy, publish, distribute, and/or sell copies
     of this program and any modified versions or derived works,  provided  that
     this copyright and notice are not removed or altered.

     Portions of the code were based on 9wm, which contains this license:

	    9wm is free software, and is Copyright (c) 1994 by David Hogan.
	    Permission is granted to all sentient beings to use this
	    software, to make copies of it, and to distribute those copies,
	    provided that:
	      (1) the copyright and licence notices are left intact
	      (2) the recipients are aware that it is free software
	      (3) any unapproved changes in functionality are either
		    (i) only distributed as patches
		or (ii) distributed as a new program which is not called 9wm
			and whose documentation gives credit where it is due
	      (4) the author is not held responsible for any defects
		  or shortcomings in the software, or damages caused by it.
	    There is no warranty for this software.  Have a nice day.

SEE ALSO
     xterm (1), xprop (1)

evilwm-1.5			  December 2025 		       evilwm(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=evilwm&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help