My simplistic-looking yet advanced build of suckless's dynamic window manager.
Go to file
Chris Down a8e9513783 setmfact: Unify bounds for compile-time and runtime mfact
There are two places that mfact can be set:

- In the mfact global, which is defined at compile time and passed
  into m->mfact during monitor setup. No bounds checks are performed,
  but the comment alongside it says that valid values are [0.05..0.95]:

      static const float mfact = 0.55; /* factor of master area size [0.05..0.95] */

- By setmfact, which adjusts m->mfact at runtime. It also does some
  minimum and maximum bounds checks, allowing [0.1..0.9]. Values outside
  of that range are ignored, and mfact is not adjusted.

These different thresholds mean that one cannot setmfact 0.95 or 0.05,
despite the comment above that lists the legal range for mfact.

Clarify this by enforcing the same bounds in setmfact at runtime as
those listed for mfact at compile time.
2020-04-20 17:56:41 +02:00
config.def.h config.def.h: ClkTagBar missing from comment 2018-05-25 06:56:36 +02:00
config.mk config.mk: fix POSIX_C_SOURCE macro for feature test for snprintf() 2020-04-03 15:36:32 +02:00
drw.c Prepare 6.2 release. 2019-02-02 04:50:42 -08:00
drw.h ColBorder has been moved to the enum with ColFg and ColBg. 2018-03-14 17:46:48 +01:00
dwm.1 remove old TODO and BUGS entries 2018-05-12 19:14:19 +02:00
dwm.c setmfact: Unify bounds for compile-time and runtime mfact 2020-04-20 17:56:41 +02:00
dwm.png alternate dwm.png 2006-07-19 14:49:19 +02:00
LICENSE Prepare 6.2 release. 2019-02-02 04:50:42 -08:00
Makefile Makefile: just show the compiler output 2018-06-02 17:10:28 +02:00
README update README: remove mentioning the old dextra repo 2018-03-14 21:03:11 +01:00
transient.c applied Peter Hartlichs nice interim Xinerama and map fix patches, for debugging purposes I also added his transient test driver 2011-07-29 20:01:22 +02:00
util.c die() on calloc failure 2016-11-05 11:34:52 +01:00
util.h import new drw from libsl and minor fixes. 2016-06-26 13:52:36 +02:00

dwm - dynamic window manager
============================
dwm is an extremely fast, small, and dynamic window manager for X.


Requirements
------------
In order to build dwm you need the Xlib header files.


Installation
------------
Edit config.mk to match your local setup (dwm is installed into
the /usr/local namespace by default).

Afterwards enter the following command to build and install dwm (if
necessary as root):

    make clean install


Running dwm
-----------
Add the following line to your .xinitrc to start dwm using startx:

    exec dwm

In order to connect dwm to a specific display, make sure that
the DISPLAY environment variable is set correctly, e.g.:

    DISPLAY=foo.bar:1 exec dwm

(This will start dwm on display :1 of the host foo.bar.)

In order to display status info in the bar, you can do something
like this in your .xinitrc:

    while xsetroot -name "`date` `uptime | sed 's/.*,//'`"
    do
    	sleep 1
    done &
    exec dwm


Configuration
-------------
The configuration of dwm is done by creating a custom config.h
and (re)compiling the source code.