/dwm-stewie410

My personal patched build of suckless's dwm

Primary LanguageCMIT LicenseMIT

Stewie410's DWM

This is my personal build of dwm, including several patches to get the UX I'm looking for. Most importantly, I wanted to have parity with my i3-gaps config where possible; while also getting away from manual tiling as a whole.

Patches

TODO

  • Update tcl.c to work with vanity gaps, or remove it
  • Get click-events working for dwmblocks

Layouts

  • Tile (default)
  • Bottom Stack Vertical
  • Bottom Stack Horizontal
  • Fibonacci Spiral
  • Dwindle Spiral
  • Deck
  • Monocle (default)
  • Centered Master
  • Centered Floating Master
  • Floating (default)

Assumptions

  • My dwmblocks build is used for the status bar
  • My dmenu build is used for dmenu
  • You prefer dracula as a theme

Application Dependencies

  • Firefox
  • Alacritty
  • Thunderbird
  • ranger
  • dwmblocks-stewie410
    • dwm scripts from dotfiles
  • dmenu-stewie410
  • pamixer
  • playerctl
  • xbrightness

DWM README

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.