Skip to content

fam007e/DWM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

33 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

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

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors