This patch adds "window swallowing" to dwm as known from Plan 9's windowing system rio.

Clients marked with isterminal in config.h swallow a window opened by any child process, e.g. running xclock in a terminal. Closing the xclock window restores the terminal window in the current position.

This patch helps users spawning a lot of graphical programs from their command line by avoiding cluttering the screen with many unusable terminals. Being deep down in a directory hierarchy just does not make the use of dmenu feasible.


These dependencies are needed due to the use of the latest revision of the X Resource Extension which is unsupported in vanilla Xlib.



The window swallowing functionality requires dwm to walk the process tree, which is an inherently OS-specific task. Please contact one of the authors if you would like to help expand the list of supported operating systems.

Only terminals created by local processes can swallow windows, and only windows created by local processes can be swallowed.