How breadonpenguins/dwm works
This repository is a customized dwm X11 window manager. Its main workflow is to take X events from the display, manage client windows and monitor/tag state, apply a selected layout, and draw the bar and window decorations. Configured keyboard and mouse actions also launch programs or control window and tag state. The README documents patch capabilities beyond the sampled code; those are represented under the manager rather than expanded into unverified internals. Arrows are limited to relationships shown in excerpts or README statements.
Main entry points: dwm.c Event-driven manager · vanitygaps.c Tiling layouts · drw.c Drawing and fonts · config.def.h Key and click bindings
Components 20
Window management
- Event-driven manager
dwm.c - Client and monitor state
dwm.c - Window lifecycle
dwm.c - Focus and stack controls
dwm.c - Terminal swallowing
dwm.c - Fullscreen handling
dwm.c - Monitor management
dwm.c - Program launching
dwm.c - Allocation and errors
util.c
Layouts and tags
- Tags and visibility
dwm.c - Tiling layouts
vanitygaps.c - Gap controls
vanitygaps.c
Display and bar
- Status bar
dwm.c - Drawing and fonts
drw.c - Drawing API
drw.h
User configuration
- Key and click bindings
config.def.h - Xresources colors
dwm.c
Other components
- Desktop user
- X server
- X applications
Connections 24
- Desktop user → Event-driven manager: starts manager
README.md - Event-driven manager → X server: opens display
dwm.c - X server → Event-driven manager: delivers events
dwm.c - X applications → X server: creates windows
- Event-driven manager → Client and monitor state: initializes state
dwm.c - Event-driven manager → Window lifecycle: dispatches events
dwm.c - Window lifecycle → Client and monitor state: updates clients
dwm.c - Window lifecycle → Tiling layouts: arranges clients
dwm.c - Window lifecycle → Terminal swallowing: swallows child
dwm.c - Event-driven manager → Focus and stack controls: handles focus
dwm.c - Event-driven manager → Fullscreen handling: handles fullscreen
dwm.c - Event-driven manager → Monitor management: manages monitors
dwm.c - Event-driven manager → Tags and visibility: manages tags
dwm.c - Tags and visibility → Tiling layouts: selects layout
- Gap controls → Tiling layouts: sets layout gaps
vanitygaps.c - Tiling layouts → Client and monitor state: resizes clients
vanitygaps.c - Event-driven manager → Status bar: updates bar
dwm.c - Status bar → Drawing and fonts: draws content
- Drawing and fonts → Drawing API: implements API
drw.c - Key and click bindings → Event-driven manager: configures actions
config.def.h - Event-driven manager → Xresources colors: loads resources
dwm.c - Event-driven manager → Program launching: dispatches commands
dwm.c - Program launching → X applications: launches programs
- Drawing and fonts → Allocation and errors: allocates resources
drw.c