Fork of dwm with my customizations ("custom" branch)
Update config with gaps and borders
Change screenshot keybinding
Update commands


browse  log 



You can also use your local clone with git send-email.

dwm - dynamic window manager
dwm is an extremely fast, small, and dynamic window manager for X. This is my
fork of it which includes extra patches for different features and my
customizations. See the "Configuration" section for a list of patches and

In order to build this fork of dwm you need the Xlib header files as well as
libxcb, Xlib-libxcb, and xcb-res (these can be easily installed on OpenBSD by
installing the xcb package).

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

    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/.*,//'`"
    	sleep 1
    done &
    exec dwm

The configuration of dwm is done by creating a custom config.h and (re)compiling
the source code. However, I have chosen to just modify config.def.h. Most of the
configuration in config.def.h is keybinds and custom commands. Notably, I have
changed the MODKEY from L-Alt to Win.

I have included the following patches to extend or change the functionality of
dwm to suit my needs. All patches are available in the patches/ directory.

Functional Patches
actualfullscreen - Actually toggle fullscreen instead of hiding the bar and
                   entering monocle layout
    focusonclick - Switch focus on mouse click, rather than mouse hover
       movestack - Move windows up and down in the master and stack layout
namedscratchpads - Allows for multiple different scratchpad windows assigned to
                   different keybinds
          pertag - Apply layout changes per tag, rather than globally
          sticky - Easily make a client visible on all tags (make it "sticky")
         swallow - Add window swallowing from Plan9's rio window system
        swaptags - Allow swapping the contents of two tags
 tagothermontior - Allow sending a window to a specific tag on another monitor
       viewontag - When switching tags, follow a window to its new tag
        zoomswap - Swap the current window with the previous master when zooming

Aesthetic Patches
         notitle - Remove the window title display from the status bar
     splitstatus - Split the single status items into two: one centered and one
                   on the right
   underlinetags - Underline the selected tag
      uselessgap - Add gaps around and between windows
   statusallmons - Update the status on all monitors, not just the focused one