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)