t* dwm + patches
       
   URI git clone git://git.codevoid.de/dwm-sdk
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 17e593a1413fe1309d10c564f4a3bfd48588509d
   DIR parent 77d41f48eea8178e784aba26b8db8336e0cf6f67
   URI Author: Stefan Hagen <sh+git[at]codevoid[dot]de>
       Date:   Tue,  9 Jul 2019 21:02:29 +0200
       
       Neverfocus
       
       Diffstat:
         M config.h                            |      19 ++++++++++---------
         M dwm.c                               |       3 +++
       
       2 files changed, 13 insertions(+), 9 deletions(-)
       ---
   DIR diff --git a/config.h b/config.h
       t@@ -40,14 +40,15 @@ static const Rule rules[] = {
            // WM_ICON_NAME(STRING) = "Buddy List"
            // _NET_WM_ICON_NAME(UTF8_STRING) = "Buddy List"
        
       -        /* class                instance    title       tags mask     isfloating   monitor */
       -        { "TelegramDesktop",    NULL,       NULL,       0,         True,        -1 },
       -        { "mpv",                NULL,       NULL,       0,         True,        -1 },
       -        { "Gimp",               NULL,       NULL,       0,         True,        -1 },
       -        { "Pqiv",               NULL,       NULL,       0,         True,        -1 },
       -        { "Pidgin",             NULL,       NULL,       0,         True,        -1 },
       -        { "Seafile Client",     NULL,       NULL,       0,         True,        -1 },
       -        { "QSyncthingTray",     NULL,       NULL,       0,         True,        -1 },
       +        /* class                instance    title       tags mask  isfloating   monitor  neverfocus */
       +        { "TelegramDesktop",    NULL,       NULL,       0,         True,        -1,      0},
       +        { "mpv",                NULL,       NULL,       0,         True,        -1,      0},
       +        { "st-osd",             NULL,       NULL,       0,         True,        -1,      0},
       +        { "Gimp",               NULL,       NULL,       0,         True,        -1,      0},
       +        { "Pqiv",               NULL,       NULL,       0,         True,        -1,      1},
       +        { "Pidgin",             NULL,       NULL,       0,         True,        -1,      0},
       +        { "Seafile Client",     NULL,       NULL,       0,         True,        -1,      0},
       +        { "QSyncthingTray",     NULL,       NULL,       0,         True,        -1,      0},
        };
        
        /* layout(s) */
       t@@ -88,7 +89,7 @@ static const char *notescmd[]    = { "st", "-e", "vim", "Seafile/NotesSync/notes
        static const char *browsercmd[]  = { ".dwm/browser", DMENUOPTS, NULL };
        static const char *passmenucmd[] = { ".dwm/passmenu", DMENUOPTS, NULL };
        static const char *sshot[]       = { ".dwm/sshot", NULL };
       -static const char *preview[]       = { ".dwm/preview", NULL };
       +static const char *preview[]       = { "st", "-c", "st-osd", "-g", "57x6+950+30", "-f", "peep-9", "-e", "/home/sdk/.dwm/preview", NULL };
        static const char *youtube[]       = { ".dwm/youtube", NULL };
        
        static const char *updateStatus[]       = { "pkill", "-SIGUSR1", "dwmstatus", NULL };
   DIR diff --git a/dwm.c b/dwm.c
       t@@ -159,6 +159,7 @@ typedef struct {
                unsigned int tags;
                int isfloating;
                int monitor;
       +    int neverfocus;
        } Rule;
        
        typedef struct {
       t@@ -346,6 +347,7 @@ applyrules(Client *c)
        
                /* rule matching */
                c->isfloating = 0;
       +        c->neverfocus = 0;
                c->tags = 0;
                XGetClassHint(dpy, c->win, &ch);
                class    = ch.res_class ? ch.res_class : broken;
       t@@ -358,6 +360,7 @@ applyrules(Client *c)
                        && (!r->instance || strstr(instance, r->instance)))
                        {
                                c->isfloating = r->isfloating;
       +            c->neverfocus = r->neverfocus;
                                c->tags |= r->tags;
                                for (m = mons; m && m->num != r->monitor; m = m->next);
                                if (m)