sowm

An itsy bitsy floating window manager (220~ sloc!).
git clone git://mfeller.io/sowm.git
Log | Files | Refs | README | LICENSE

commit cd37b0ad39245eab38665534f703132c65b015f9
parent 69499117c2b77e2f11e52f7e9b2f002f4187ce35
Author: Dylan Araps <dylan.araps@gmail.com>
Date:   Tue, 15 Oct 2019 20:01:41 +0300

patches: Added normal kill.

Diffstat:
Apatches/sowm-normal-kill.patch | 23+++++++++++++++++++++++
1 file changed, 23 insertions(+), 0 deletions(-)

diff --git a/patches/sowm-normal-kill.patch b/patches/sowm-normal-kill.patch @@ -0,0 +1,23 @@ +diff --git a/sowm.c b/sowm.c +index 0d74d4b..ff70968 100644 +--- a/sowm.c ++++ b/sowm.c +@@ -326,7 +326,17 @@ void win_del(Window w) { + "Shoot first and don't ask questions later?.." + */ + void win_kill() { +- if (win_current() != root) XKillClient(d, cur); ++ if (win_current() == root) return; ++ ++ XEvent ev = { .type = ClientMessage }; ++ ++ ev.xclient.window = cur; ++ ev.xclient.format = 32; ++ ev.xclient.message_type = XInternAtom(d, "WM_PROTOCOLS", True); ++ ev.xclient.data.l[0] = XInternAtom(d, "WM_DELETE_WINDOW", True); ++ ev.xclient.data.l[1] = CurrentTime; ++ ++ XSendEvent(d, cur, False, NoEventMask, &ev); + } + + /*