dwm-onlyquitonempty-20180428-6.2.diff - sites - public wiki contents of suckless.org
 (HTM) git clone git://git.suckless.org/sites
 (DIR) Log
 (DIR) Files
 (DIR) Refs
       ---
       dwm-onlyquitonempty-20180428-6.2.diff (1042B)
       ---
            1 From ba1a2cbf2a04992e05f0168965043d9335b742b9 Mon Sep 17 00:00:00 2001
            2 From: thatlittlegit <personal@thatlittlegit.tk>
            3 Date: Sat, 28 Apr 2018 16:51:49 -0400
            4 Subject: [PATCH] Don't quit if not all windows are empty
            5 
            6 ---
            7  config.def.h |  2 ++
            8  dwm.c        | 12 +++++++++++-
            9  2 files changed, 13 insertions(+), 1 deletion(-)
           10 
           11 diff --git a/config.def.h b/config.def.h
           12 index a9ac303..9732b02 100644
           13 --- a/config.def.h
           14 +++ b/config.def.h
           15 @@ -113,3 +113,5 @@ static Button buttons[] = {
           16          { ClkTagBar,            MODKEY,         Button3,        toggletag,      {0} },
           17  };
           18  
           19 +/* quitting */
           20 +static const int EMPTY_WINDOW_COUNT = 2;
           21 diff --git a/dwm.c b/dwm.c
           22 index c98678d..cc6ae80 100644
           23 --- a/dwm.c
           24 +++ b/dwm.c
           25 @@ -1248,7 +1248,17 @@ propertynotify(XEvent *e)
           26  void
           27  quit(const Arg *arg)
           28  {
           29 -        running = 0;
           30 +        unsigned int n;
           31 +        Window *junk = malloc(1);
           32 +
           33 +        XQueryTree(dpy, root, junk, junk, &junk, &n);
           34 +
           35 +        if (n == EMPTY_WINDOW_COUNT)
           36 +                running = 0;
           37 +        else
           38 +                printf("[dwm] not exiting (n=%d)\n", n);
           39 +
           40 +        free(junk);
           41  }
           42  
           43  Monitor *
           44 -- 
           45 2.17.0
           46