diff options
author | Malfurious <m@lfurio.us> | 2020-06-22 00:39:34 -0400 |
---|---|---|
committer | Malfurious <m@lfurio.us> | 2024-03-05 21:04:53 -0500 |
commit | d5d8ac227b361f0270b01f83b107ba78c209f3cc (patch) | |
tree | 68e1357ff0e5f23cfb3b14bd94058802d9f739d9 /config.def.h | |
parent | ba932e2b247692d443e3b274e64c57bad9bce9a1 (diff) | |
download | dwm-d5d8ac227b361f0270b01f83b107ba78c209f3cc.tar.gz dwm-d5d8ac227b361f0270b01f83b107ba78c209f3cc.zip |
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.
Diffstat (limited to 'config.def.h')
-rw-r--r-- | config.def.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/config.def.h b/config.def.h index 35d3986..9eb82e5 100644 --- a/config.def.h +++ b/config.def.h @@ -35,10 +35,11 @@ static const Rule rules[] = { * WM_CLASS(STRING) = instance, class * WM_NAME(STRING) = title */ - /* class instance title tags mask isfloating monitor scratchpad exec */ - { "st", "sp-shell", NULL, SPTAG(0), 1, -1, NULL }, - { "st", "sp-pythn", NULL, SPTAG(1), 1, -1, "ipython3" }, - { "st", "sp-mixer", NULL, SPTAG(2), 1, -1, "alsamixer" }, + /* class instance title tags mask isfloating isterminal noswallow monitor scratchpad exec */ + { "st", "sp-shell", NULL, SPTAG(0), 1, 1, 1, -1, NULL }, + { "st", "sp-pythn", NULL, SPTAG(1), 1, 1, 1, -1, "ipython3" }, + { "st", "sp-mixer", NULL, SPTAG(2), 1, 1, 1, -1, "alsamixer" }, + { "st", NULL, NULL, 0, 0, 1, 1, -1, NULL }, }; /* layout(s) */ |