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
              multiply keyboard move distance when there was a kbmove  in  the
              last 250ms.

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

  •  
  •  
  •  
  •