From 44040e4c78cafcaf7d1e8c857fec57c55473fb3f Mon Sep 17 00:00:00 2001 From: Malfurious Date: Mon, 22 Jun 2020 00:39:34 -0400 Subject: patch: swallow 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. Dependencies * libxcb * Xlib-libxcb * xcb-res These dependencies are needed due to the use of the latest revision of the X Resource Extension which is unsupported in vanilla Xlib. Notes: * The window swallowing functionality requires dwm to walk the process tree, which is an inherently OS-specific task. Only Linux and FreeBSD are supported at this time. 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. --- config.def.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'config.def.h') diff --git a/config.def.h b/config.def.h index 1609683..c5e8fd5 100644 --- a/config.def.h +++ b/config.def.h @@ -32,8 +32,8 @@ static const Rule rules[] = { * WM_CLASS(STRING) = instance, class * WM_NAME(STRING) = title */ - /* class instance title tags mask isfloating monitor */ - { NULL, NULL, NULL, 0, 0, -1 }, + /* class instance title tags mask isfloating isterminal noswallow monitor */ + { "st", NULL, NULL, 0, 0, 1, 1, -1 }, }; /* layout(s) */ -- cgit v1.2.3