This build of dwm has an updated man
page over at dwm.1
, containing all of the keybindings. You can also directly look at the source code, inside config.h
Also, it includes dwmblocks, as well as the scripts I use. Please install dmwblocks separately, as the Makefile included in this directory does not install it for you (you have to cd dwmblocks; make; sudo make install
yourself)
To be clear, bin includes the scripts that make the statusbar work, meanwhile scripts includes scripts accessible from dwm by using keybindings, like locking the screen with Super+Shift+L (requires slock, you can get my build here)
I also created a custom patch (dwm-systray.diff
) that implements a systray (system tray). To patch an existing dwm build, copy the file in your build's directory, then run this command: patch < dwm-systray.diff
. Then, if there were no errors, run make clean
, then build it with make
and finally sudo make install
.
Here's how the systray looks (applets are copyq
and nm-applet
)
- Added a systray (the new patch is available in the patches folder)
- Clickable statusbar with Luke Smith's build of dwmblocks.
- Reads xresources colors/variables (i.e. works with
pywal
, etc.). - scratchpad: Accessible with Alt+Shift+Enter (will open
st
in the scratchpad) or Alt+0 (will access all programs in the scratchpad). - New layouts: bstack, fibonacci, deck, centered master and more. All bound to keys Alt+(Shift+) T/Y/U/I.
- True fullscreen (Alt+F) and prevents focus shifting.
- Windows can be made sticky (Alt+S).
- stacker: Move windows up the stack manually (Alt+Shift+K/J).
- shiftview: Cycle through tags (Alt+G).
- vanitygaps: Gaps allowed across all layouts.
- swallow patch: if a program run from a terminal would make it inoperable, it temporarily takes its place to save space.
- dwm can now be closed and restarted (Alt+Shift+C to close it, Alt+Shift+R to restart it)
- LayoutMenu patch: you can now right click the layout indicator to get a list of available layouts.
- RioResize patch: you can resize a window with Alt+R, like Plan9's rio; you can also create a new floating terminal with Alt+Ctrl+Enter.
- PlaceMouse patch: replace a window's position by dragging it over another window.
- ResizePoint patch: intuitively resize a window.
- cfact & dragcfact patches: resize slave windows' height with Alt+Ctrl+H, Alt+Ctrl+L, and reset it with Alt+Ctrl+O; Alternatively, resize them by sliding your cursor while pressing Alt+Shift+RightMouseButton
(Video previews of RioResize, PlaceMouse, and ResizePoint are available here)
This build of dwm does not block color emoji in the status/info bar, so you must install (or patch) libxft-bgra, which fixes a libXft color emoji rendering problem, otherwise dwm will crash upon trying to render one. Hopefully this fix will be in all libXft soon enough.
You have to patch libXft with the following steps:
- Create the
/etc/portage/patches/x11-misc/libXft
directory:mkdir -p /etc/portage/patches/x11-misc/libXft
- Add the patch to the new directory:
wget https://gitlab.freedesktop.org/xorg/lib/libxft/merge_requests/1.patch -O /etc/portage/patches/x11-misc/libXft/libxft-bgra.patch
- Re-emerge
x11-misc/libXft
. Portage will automatically apply the patch:emerge x11-misc/libXft
- You should now see color emojis, if you installed a Font that supports color emojis, like "JoyPixels" or "Noto Color Emoji".
You can get libxft-bgra here
This repository includes my fork of Luke Smith's build of dwmblocks.
-
Available blocks explained, from left to right:
- Caps Lock indicator
- Brightness indicator
- RAM usage
- CPU temperature
- Volume indicator, as well as microphone status (on/off)
- Fan speed indicator (a = auto, [1-7] is normal level, max = full speed). NOTE: this only works on ThinkPads, so modify the script for your system accordingly if you want to use it.
- Internet (Wi-Fi/Ethernet) indicator
- Battery status (Charging/Discharging/Unknown) & capacity indicator
- Date and time indicator