Skip to content

DWM-Terminal v0.1

Choose a tag to compare

@github-actions github-actions released this 07 Sep 01:00
· 12 commits to main since this release

DWM-Terminal v0.1: Initial Release

An ultra-minimal, sub-millisecond latency CPU-framebuffer terminal engineered for dynamic window managers, Suckless dwm, and dwm-titus.

Highlights & Core Architecture

  • Zero GPU Overhead (MIT-SHM Shared Memory): Direct CPU-framebuffer rendering via XShmPutImage, bypassing X11 socket bottlenecking and achieving >45,000 lines/sec ingestion while eliminating GPU context switches and compositor latency.
  • Microscopic Footprint: ~12 MB Resident Set Size (RSS) and a static binary footprint under 60 KB.
  • Native DWM Swallowing: Pre-configured WM_CLASS (dwmterm / Dwmterm) for instantaneous, zero-friction window swallowing in dwm (isterminal = 1).
  • Interactive PTY Flight Recorder ("Time Machine"): On-screen HUD scrubber triggered with F1 or Ctrl+Shift+R to rewind and inspect session output, with built-in export to asciinema v2 (.cast) format.
  • Bundled Meslo Nerd Font: Ships with official MesloLGS Nerd Font and automatic system-wide fontconfig installation to /usr/local/share/fonts/TTF/.
  • DPI-Aware Typography: Dynamic display DPI calculation for true typographical point scaling with strict monospace fallback resolution.
  • Dynamic Theming & Truecolor: Full 24-bit RGB truecolor, standard 16-color ANSI palette on pitch black (#000000), runtime hot-reloading via SIGUSR1, and integration with dwm-titus themes.
  • Clipboard & Alternate Screen: Primary selection, middle-click paste, bidirectional OSC 52 clipboard syncing, and clean DECSET 1049/1047/47 alternate buffer handling for nvim, tmux, and htop.
  • Persistent Configuration: User preferences in ~/.config/dwmterm/config and command-line overrides (-s, -f, -p, -d, -T, -e).

Build & Test Suite

  • Automated CI pipeline with dual GCC and Clang matrix running under -Wall -Wextra -pedantic -Werror.
  • Initial unit and integration test harness covering parser state machines, VT sequence handling, and configuration loading.