Skip to content

Personal fork of EvilWM, doing some of the TODO stuff and adding some features

Notifications You must be signed in to change notification settings

gigamicro/evilwm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 arguments with whitespace, and escape needed whitespace
              with  a  backslash.  Remember  that special characters will also
              need to be protected from the shell.

       --fn fontname
              specify a font to use when resizing or displaying window  titles
              (X Logical Font Description, with * and ? wildcards).

       --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.

       --kbpx distance
              modify keyboard move/resize distance, in pixels.

       --quickmove multiplier
       --quickmovems milliseconds
              multiply keyboard move distance by multiplier when there  was  a
              kbmove  in  the  last  milliseconds  ms. Defaults to 1.0 and 250
              respectively.

       --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 value
              number  of  virtual  desktops  to  provide.  Effective value for
              relative  moves  will  be  the  greatest  integer  multiple   of
              --modvdesks less than or equal to this value. Defaults to 8.

       --modvdesks value
              vdesk  loop  modulus and distance for left/right relative vdesk.
              Relative movement up from n*value-1 or down  from  n*value  will
              instead  move  down  or  up  (respectively)  by value-1. This is
              equivalent to having a two-dimensional looping  vdesk  array  of
              num/mod  (lr)  x  mod  (ud).  Defaults  to  0.  value being 0 is
              equivalent to it being the current value of --numvdesks.

              Example: --numvdesks 12 --modvdesks 4 will give a 2x4 array with
              numbering

              3 7 B
              2 6 A
              1 5 9
              0 4 8

       --docks value
              set to 0 to hide all docks initially.

       --soliddrag value
       --solidsweep value
              set to 1 to 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
              (default: alt). altmask is  used  to  modify  the  behaviour  of
              certain  controls  (default:  shift). Modifiers may be separated
              with + signs. Valid  modifiers  are  'shift',  'control'/'ctrl',
              'mod1'/'alt', 'mod2'...'mod5'.

       --bind [modifier+]...key/button=[function[,flag[+flag]...]]
              bind a key or mouse button pressed with specified modifiers to a
              window  manager  function.  key/button  is an X11 keysym name or
              'buttonN',  where  N  is  a   positive   integer   of   decimal,
              0xhexadecimal,  or  0octal form, modifiers are as above, but may
              also  include  'mask1',  'mask2'  and  'altmask'  to  refer   to
              configured mask variables. 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

       --nodefaultbinds
              don't use the original compiled-in default bindings.

       --app [name][/[class][/[title]]]
              match  an  application  by  instance name and class (for help in
              finding these, use  the  xprop  tool  to  extract  the  WM_CLASS
              property;  the  two  strings  are  name  and class respectively,
              checked exactly), and by title (checked as substring, WM_NAME in
              xprop).

              Ex: --app a/b/c will match a window with WM_CLASS { "a",  "b"  }
              and  a  WM_NAME  containing  the letter c anywhere.  Ex: --app a
              will match a window with WM_CLASS[0] "a".   Ex:  --app  /b  will
              match  a  window  with  either blank or missing WM_CLASS[0], and
              WM_CLASS[1] "b".   Ex:  --app  //c  will  match  a  window  with
              completely  blank/missing  WM_CLASS and a WM_NAME containing the
              letter c anywhere.  Subsequent --geometry, --dock,  --vdesk  and
              --fixed options will apply to this match.

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

       -m, --manual
              specify that application should be entirely ignored when it asks
              to move.

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

       -v, --vdesk n
              specify a default virtual desktop for applications matching  the
              last --app. Note that virtual desktops are numbered from zero.

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

       -h, --help
              show help

       -hh, --writedefaults
              show  all option defaults, in a format that could be put in your
              .evilwmrc

       -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 & FUNCTIONS
       In  evilwm, the focus follows the mouse pointer, and 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.

       The keyboard and mouse button  controls  can  be  configured  with  the
       --bind  option  to  a  number  of  built-in functions. Typically, these
       functions respond to an additional  set  of  flags  that  modify  their
       behaviour:  up/u/on,  down/d/off,  left/l,  right/r,  top,  bottom, any
       number, relative/rel, toggle, vertical/v, horizontal/h.

       bind command, default key
              Description.

       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  mask2/Alt  and  doing so anywhere in the window. The
       mask2/Alt-based controls are:

       move, Button 1
              Move window with mouse.

       resize, Button 2
              Resize window  between  starting  upper-left  corner  and  mouse
              position.

       lower, Button 3
              Put window at back of render order.

       next, Tab
              Classic  Alt+Tab,  switch  to  most recently selected window and
              keep switching to less recent windows on every consecutive press
              while the modifier key(s) are held

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

       spawn, Return
              Spawn new terminal  (or  other  process)  with  the  command  in
              --term.

       delete, Escape
       kill, Shift+Escape
              Delete  current  window,  nicely.  Hold altmask/Shift as well to
              force kill a client if it does not respond to delete.

       lower, Insert
              Lower current window to back of render order.

       raise, (none)
              Raise current window.

       move,relative+, H, J, K, L
       resize,relative+, Shift+ H, J, K, L
              Move window left, down, up or right (--kbpx/16 pixels).  Holding
              altmask/Shift  resizes  the window narrower, taller, shorter, or
              wider.

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

       info, I
              Show  extra  information about the current window for as long as
              the key is held.

       resize,toggle+, Equals
              Toggle  maximization  of  current  window  to  current   monitor
              vertically, or horizontally when holding altmask/Shift

       resize,toggle+v+h, X
              Toggle maximization of current window to current monitor.

       docks,toggle, D
              Toggle  visible  state of windows claiming to be docks or marked
              as docks through --app -d, eg pagers and launch bars.

       binds,toggle, Compose
              Toggle all other bindings (stop listening to any bind other than
              binds,toggle, binds, up, or mouse actions on the border).

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

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

       vdesk,relative+down, Left
              Switch to next lower numbered virtual desktop, modulo modvdesks.

       vdesk,relative+up, Right
              Switch   to   next   higher  numbered  virtual  desktop,  modulo
              modvdesks.

       vdesk,relative+left, Down
              Switch to virtual desktop modvdesks higher, modulo numvdesks.

       vdesk,relative+right, Up
              Switch to virtual desktop modvdesks lower, modulo numvdesks.

       vdesk,toggle, A
              Switch to the previously selected virtual desktop.

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

FILES
       $HOME/.evilwmrc

LICENCE
       Copyright (C) 1999-2022 Ciaran Anscomb <[email protected]>

       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
       IMPLIED  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), xmodmap (1), xorg-xfontsel (1)

evilwm-1.4                       October 2022                        evilwm(1)

About

Personal fork of EvilWM, doing some of the TODO stuff and adding some features

Resources

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •