dwm-titus is a complete, lightweight X11 desktop with sensible defaults, guided installation, and powerful customization. It is designed for people who want a responsive keyboard-first workflow without having to assemble every part themselves.
Fedora is the primary desktop image. The existing-system installer also supports the core experience on Debian-, Arch-, Fedora-, and RHEL-family distributions.
| Experience | What it includes |
|---|---|
| A focused desktop | Automatic window tiling, nine workspaces, fast keyboard navigation, multi-monitor support, and flexible fullscreen modes. |
| Everyday essentials | A polished panel, application launcher, system tray, Control Center, Settings, notifications, screenshots, audio, brightness, and power controls. |
| Easy discovery | An interactive keybind viewer, guided display setup, built-in diagnostics, and clear unsupported-feature reporting. |
| Personal configuration | Live-reloading hotkeys, themes, and window rules, with local configuration preserved across upgrades. |
| Two installation paths | A ready-to-install Fedora image or an installer for an existing supported Linux system. |
dwm-titus is an X11 desktop. A Wayland-native session is not currently part of the project scope.
Choose the path that matches your system:
| Installation | Best for | What it does |
|---|---|---|
| Fedora ISO | A fresh, dedicated installation | Installs the complete Fedora-first desktop from bootable media. |
| Existing system | A supported Linux installation you already use | Installs dependencies, the desktop session, and the selected feature set while preserving local configuration. |
For complete requirements and installation details, see the Installation Guide.
Download the latest image:
| Image | Download |
|---|---|
| Standard | dwm-titus.iso |
| NVIDIA | dwm-titus-nvidia.iso |
| Checksums and release notes | Latest release |
Use the NVIDIA image only for systems that need the dedicated NVIDIA
installation path. Write the selected ISO to a USB drive, boot it, complete the
Fedora installer, and reboot into the dwm session.
git clone https://github.com/ChrisTitusTech/dwm-titus.git
cd dwm-titus
./install.sh --dry-run --non-interactive --profile recommended
./install.sh --profile recommendedThe dry run shows the dependency and installation plan before anything changes. The installer detects your distribution family, preserves existing personal configuration, and installs the managed desktop components.
| Profile | Includes |
|---|---|
core |
The X11 session, required dependencies, and one terminal emulator. |
recommended |
The complete everyday desktop, including Alacritty with Herdr, Quickshell, theming, screenshots, audio, and brightness tools. |
full |
The recommended desktop plus optional file-manager, portal, keyring, wallpaper, display-manager, and supported Fedora gaming integrations. |
maim is an optional dependency used only by the screenshot hotkeys. If it is
unavailable, installation continues and reports that the screenshot hotkeys
remain disabled; invoking one makes dwm-screenshot exit with
dwm-screenshot: maim is not installed. xclip and xdotool remain required
runtime dependencies for the X11 desktop and its other managed helpers.
Super is the Windows key on most keyboards.
| Action | Keybind |
|---|---|
| Open the application launcher | Super + R |
| Open terminal workspace (Herdr when available) | Super + X |
| Open Control Center | Super + F1 |
| Show the interactive keybind viewer | Super + / |
| Close the focused window | Super + Q |
| Switch workspace | Super + 1-9 |
| Open the power menu | Super + Ctrl + Q |
With a display manager, select the dwm session when logging in. From a TTY,
start the session with:
startxMost personal settings live under:
${XDG_CONFIG_HOME:-$HOME/.config}/dwm-titus/
Hotkeys, themes, and window rules reload when their TOML files are saved.
Advanced compile-time preferences live in the user-owned config.h, which the
installer and future upgrades preserve.
The installer also provides dwm-settings-display and its root-owned
libexec/dwm-titus/dwm-settings-display-root persistence helper. Live display
discovery and previews require xrandr; hotplug watching requires udevadm;
only persistent Xorg install and rollback require pkexec. Named profiles live
under the display-profiles/ directory in the XDG path above.
Run dwm-display-setup detect, then dwm-display-setup, for a guided wizard
that detects outputs and configures modes, positions, rotation, and the primary
display with a reversible preview. Persistent generation selects compatible
TearFree or NVIDIA Full Composition Pipeline behavior automatically; pass
--force-full-composition-pipeline off to disable the NVIDIA default.
The adjacent dwm-settings-input provider uses xinput, setxkbmap for
keyboard settings, and udevadm for stable device identity and hotplug events.
Kept values are stored in input-settings.conf in the same XDG directory;
DWM_INPUT_SETTINGS_FILE can select another file.
See the Configuration Guide and Theming Guide for examples and safe customization paths.
- Installation
- Getting Started
- Keybindings
- Configuration
- Theming
- Control Center
- Settings
- How dwm-titus Works
- Troubleshooting
The technical guide explains the project architecture, what dwm is, and how the maintained enhancements fit together. You do not need to understand or apply dwm patches to install and use the desktop.
Start with the built-in diagnostic report:
dwm-diagnosticsYou can also open Control Center -> System Health for a graphical overview.
If the session does not start, run startx from a TTY to see its error output.
The Troubleshooting Guide
covers common session, panel, terminal, theme, display, and NVIDIA issues.
If the problem remains, open an issue and include the relevant diagnostic output. Review it first and remove any private system information.
Contributions are welcome. Read CONTRIBUTING.md for the development workflow and validation requirements, and report security issues using SECURITY.md.
The main repository check is:
make checkProject requirements and active work are tracked in SPEC.md, ROADMAP.md, and TASKS.md.

