Skip to content

BreadOnPenguins/dwm

Repository files navigation

dwm - dynamic window manager - bread's build

my build comes with no guarantees or warranties (this means things may not work as expected, or at all) :^)

note: I'd highly recommend setting up your own build! using mine or anyone else's is a starting point, but patching dwm manually not only allows for precise customization, but it will also allow you to learn how your WM works. a great way to test build changes without refreshing/restarting your running WM is with Xephyr, a nested X server that runs as an application.

patches applied:

some occasional modification here and there;

installation, setup:

git clone https://github.com/BreadOnPenguins/dwm
cd dwm
sudo make clean install
  • Basic ~/.xinitrc requirement: exec dwm

  • Configure settings (fonts, bindings, gap pixels, etc) in config.def.h before compiling.

    • Defaults: Mod is bound to the windows key
    • mod + enter to open terminal
    • mod + q to quit window
    • mod + shift + backspace to fully exit

I use dwmblocks for my statusbar (bar scripts), included in ~/.xprofile with exec dwmblocks. If you intend to use another statusbar, modify dwm appropriately :)

colors, other stuff:

If you aren't using ~/.Xresources with or without pywal16, default color palette is a variant of Nord.

I have wal generate a template containing dwm Xresource strings. Then, I merge it with wal's auto-generated Xresources file, using xrdb -merge.

~/.config/wal/templates/xrdb_extra

dwm.normbordercolor: {color0}
dwm.normbgcolor: {color0}
dwm.normfgcolor: {color4}
dwm.selbordercolor: {color8}
dwm.selbgcolor: {color4}
dwm.selfgcolor:  {color0}

After creating the template, add these to your wal post-script for automatic xrdb merge and refresh.

ln -sf ~/.cache/wal/colors.Xresources ~/.Xresources
cat ~/.Xresources ~/.cache/wal/xrdb_extra | xrdb -merge
xdotool key super+ctrl+backslash # xrdb refresh keybind

Alternatively, if you prefer a different color-setting method, follow the instructions on pywal16's wiki.

I use slock for a lockscreen (build will be uploaded eventually), activated via keybind.

My config has a few glyphs used cosmetically; for those to render properly, install a font with extra glyphs.

The GNU Quilt system (used by Debian to manage patches in source packages) can be used to easily manage, apply, and reverse suckless software patches, and this guide (including suckless-patches.py) can help download and prepare patches for use with Quilt. Thanks to mok0 for sharing!

About

my build of dwm, with a heavily commented dwm.c :^)

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •