Skip to content

Latest commit

 

History

33 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dwm-logo

DWM - Modern & Hardened Edition

An extremely fast, small, and dynamic window manager for X.

License: MIT PRs Welcome Platform: Linux


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.

🤝 Community Standards

🚀 Key Features

  • 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.toml and 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 .env files 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.

📚 Documentation

For detailed information on how to use and customize this build, please refer to the following guides:


📋 Installation

1. Dependencies

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 blueman

2. Build & Install

git clone <your-repo-url>
cd DWM
make clean && sudo make install
./install.sh

3. Testing

To verify the build stability and script integrity:

make test

4. Uninstall

To remove the build and its configurations:

./uninstall.sh

⌨️ Keybindings

The 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.


🔧 Configuration

This build uses a tiered configuration system:

  1. Hotkeys & Layouts: Edit ~/.config/dwm/hotkeys.toml.
  2. Themes & Colors: Edit ~/.config/dwm/themes.toml.
  3. Window Rules: Edit ~/.config/dwm/window-rules.toml (Swallowing, Floating, Tags).
  4. Appearance & Logic: Edit config.def.h and run make && sudo make install.
  5. Secrets: Configure your API keys in ~/.config/dwm/secrets/weather.env and ~/.config/dwm/secrets/football.env.

📁 Project Structure

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

🛡️ Security Note

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.

About

DWM personal configs

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages