This is a heavily customized fork of dwm designed for a modern, secure, and automated desktop experience. It moves away from the traditional "header-only" configuration, offering dynamic reloading and advanced status integration via Polybar.
- Code of Conduct - Our pledge for a welcoming community.
- Contributing Guide - How to report bugs and submit PRs.
- Security Policy - How to report vulnerabilities securely.
- Polybar Integration: Full EWMH compliance allows for a modern, powerful status bar with workspace indicators and window titles.
- Dynamic Hotkeys (TOML): Change your keybindings in
~/.config/dwm/hotkeys.tomland they apply instantly without recompilation. - Live Theme Engine: Switch between Nord, Dracula, and other themes dynamically. All components (DWM, Alacritty, Rofi, Polybar) sync colors automatically.
- Hardened Security: API keys and sensitive location data are isolated into restricted
.envfiles with strict 600 permissions. - Fully Portable: The build system uses relative discovery. You can clone and run this repository from any directory.
- Automated Football Ticker: A custom hybrid module that combines official API data with a multithreaded scraper to show upcoming matches for top international teams.
- Window Swallowing: Terminals automatically "swallow" GUI windows launched from them to save screen real estate.
For detailed information on how to use and customize this build, please refer to the following guides:
- Installation Guide - Dependencies and hardened deployment.
- Configuration Guide - Dynamic hotkeys and TOML settings.
- Key Features - Football ticker, Weather, and Warm Mode.
- Security Model - Secret isolation and permissions.
- Theming Engine - Centralized color synchronization.
This build is optimized for Arch Linux. Ensure you have the required tools:
sudo pacman -S --needed base-devel libx11 libxft libxinerama imlib2 libxcb xcb-util \
xorg-server xorg-xinit xorg-xrandr xorg-xset xorg-xsetroot \
polybar rofi rofi-emoji rofi-calc picom feh flameshot python jq bc curl playerctl bluemangit clone <your-repo-url>
cd DWM
make clean && sudo make install
./install.shTo verify the build stability and script integrity:
make testTo remove the build and its configurations:
./uninstall.shThe default modifier key is SUPER (Windows Key).
| Keybind | Action |
|---|---|
| SUPER + Return | Launch Alacritty |
| SUPER + R | App Launcher (Rofi) |
| SUPER + Q | Close focused window |
| SUPER + / | Keybindings Help (Live) |
| SUPER + SHIFT + N | Toggle Warm Mode (Native C) |
| SUPER + SHIFT + F | Football Match Selector |
| SUPER + U / W | Bluetooth / WiFi Menu |
| SUPER + 1-9 | Switch to tag (workspace) |
| SUPER + Shift + P | Screenshot (Area) |
| SUPER + Shift + Q | Quit DWM |
For a full list of shortcuts, press SUPER + / or edit ~/.config/dwm/hotkeys.toml.
This build uses a tiered configuration system:
- Hotkeys & Layouts: Edit
~/.config/dwm/hotkeys.toml. - Themes & Colors: Edit
~/.config/dwm/themes.toml. - Window Rules: Edit
~/.config/dwm/window-rules.toml(Swallowing, Floating, Tags). - Appearance & Logic: Edit
config.def.hand runmake && sudo make install. - Secrets: Configure your API keys in
~/.config/dwm/secrets/weather.envand~/.config/dwm/secrets/football.env.
| Path | Purpose |
|---|---|
dwm.c |
Core window manager source |
config/ |
Root for Polybar, Rofi, and Terminal configs |
scripts/ |
System backend (Weather, Football, Wallpapers) |
install.sh |
Hardened deployment script |
Makefile |
Portable build system |
This build enforces strict file permissions (umask 077). Cached data and logs in ~/.cache are owner-readable only to prevent data leakage between users on the same system.
