/dwm

Fork of https://git.suckless.org/dwm/

Primary LanguageCMIT LicenseMIT

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


Maintenance of this fork
------------------------

This repository has two remotes: `origin` for https://github.com/EdwinWenink/dwm and `upstream` for https://git.suckless.org/dwm/ .

Use the `master` branch to pull in changes from the original dwm repository. 
Use `patched` to merge in new commits from the upstream into my own patched version of dwm.


Applied patches
---------------

- attachtop: newly created terminals are not on the master, but on top of the non-master stack.
- pertag: layout settings are saved per tag, so you can e.g. have monocle on one and tabbed on the other.
- push_no_master: push focused window up and down the stack, but not the master (because the zoom() function already takes care of that)


Tutorial for applying
---------------------

See https://suckless.org/hacking/ .

In principle `git apply patches/patch.diff -3v` (3v for 3-way merge) .
Some patches may be formatted differently.
In that case, try `git am` (see suckless tutorial ).
Don't forget to run `make clean install`.


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

On Arch Linux, install `xorg-server`, `libxft`, and `libxinerama`.


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.