Personal build of dwm with various patches applied
Go to file
2023-10-12 16:32:12 +02:00
patches added diff for personal first_centered_window patch 2022-03-06 18:01:10 +01:00
config.h not being stupid 2023-10-12 16:32:12 +02:00
config.mk update to dwm 6.3 2022-01-08 10:31:14 +01:00
drw.c update to dwm 6.3 2022-01-08 10:31:14 +01:00
drw.h initial commit (dwm 6.2 directly from suckless.org) 2020-07-02 12:15:32 +02:00
dwm.1 update to dwm 6.3 2022-01-08 10:31:14 +01:00
dwm.c do not lose border after fullscreen 2022-04-28 14:32:43 +02:00
dwm.png initial commit (dwm 6.2 directly from suckless.org) 2020-07-02 12:15:32 +02:00
LICENSE initial commit (dwm 6.2 directly from suckless.org) 2020-07-02 12:15:32 +02:00
Makefile initial commit (dwm 6.2 directly from suckless.org) 2020-07-02 12:15:32 +02:00
movestack.c added movestack patch 2020-07-04 13:09:36 +02:00
README.md update README to reflect scratchpad changes 2021-11-22 22:42:00 +01:00
shiftview.c added personal keybindings 2020-07-04 13:24:07 +02:00
transient.c initial commit (dwm 6.2 directly from suckless.org) 2020-07-02 12:15:32 +02:00
util.c initial commit (dwm 6.2 directly from suckless.org) 2020-07-02 12:15:32 +02:00
util.h initial commit (dwm 6.2 directly from suckless.org) 2020-07-02 12:15:32 +02:00

dwm - dynamic window manager

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

This is my personal build of dwm, with my own keybindings (I don't use a seperate key handler like sxhkd anymore) and various patches applied. The patches are all listed in the patches folder of this repository. Most of them are directly from suckless's website, but some smaller ones I've added as well to make porting easier. Previously I used to fork my build from Luke's build of dwm. Many of my keybinds have their origin from that build. This build has the nord theme colors integrated (I prefer not using the xrdb patch)

Patches

  • urgend border
  • actual fullscreen
  • barpadding
  • bottomstack layout
  • centered master layout
  • deck layout
  • fibonacci layout
  • hide vacant tags layout
  • info section of bar always uses normal scheme (personal)
  • movestack
  • status bar on all monitors (personal)
  • sticky
  • warp mouse to center of focussed window
  • scratchpads (updated to only have one scratchpad instead of per monitor)
  • zoom swap
  • don't create empty space if master windows are smaller than alloted space (personal) -> This is multiple patches, depending on the layout (fibonacci, tile & deck are seperately listed in patches folder)

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.