all repos — ryudo @ f03abb164ad317dec9ed6898ec757b7991aac6a0

the floatiling window manager that flows; fork of rio from plan9port

manage.c, config.h, fns.h: implement ALWAYDRAW option
Iris Lightshard nilix@nilfm.cc
PGP Signature
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEkFh6dA+k/6CXFXU4O3+8IhROY5gFAmBJiJUACgkQO3+8IhRO
Y5hqZw//fdYxnqk9xEEirff1jY2YX1hXEHqRBUj3aohAJMK+eM3WmCSzFwl87yEr
X5wik8Lmr5ZBERK7ePL5ojBfahamfMsJEgtWR+n8OHRz33W0oNRlIeD2wfsEgBn8
/bFWKmlCLkQzj/efxn/Q34yYRNZgVoWIbgxGNcmDzHRnKjHDxNHtCtnHgQV2Sxzf
rofoelcU/tn/RQer1Hg0X+a9EvhtbBIwxKC7qJBSsVTZzHw0dqkzeYOvRA/ofYBV
zcxuT6JTATL3W1iwJjBx1kUvvV3k8FOn2eISF+In6QTQ2TWvKgZfa/T0+9EDAbBE
IRg/csjEVf+D1iMZbFJwSfWXZv80tGUlpz66RtZ84/B4it/1Zz9Q+MqZuKAwmz9p
vPGMm4FvNMgGth+enqykSRyiV49hrhTC+9iNcGWGSOAoRErlHtgk+hqN+burovhv
2KFHBGoF06+tHnqfc1n44zDNeR9QuMDrdd4pgUTJu05yTiBgEUkk7EhzbkpOVte+
E0DPkUNjVARdCB6P7y1zwGztwKQpjIa3rtsO8Ds+SWhcoFIotiDisGeG4dJgvA9r
ebtwWAQJm/1aNgFHb98BmH7KPoUaOH8ElsNbIeYaZLDznJkiJtSom73WPkMH/C07
dqAifOng5aSFtXg35H3/IUc/pCnr4/pSuMQhxPcVa0cvSLzES2c=
=NSay
-----END PGP SIGNATURE-----
commit

f03abb164ad317dec9ed6898ec757b7991aac6a0

parent

a2d3fc7ffc3d7c9a329628d05e04d9cea9dfda72

3 files changed, 20 insertions(+), 1 deletions(-)

jump to
M config.hconfig.h

@@ -127,7 +127,6 @@ * Remember the backslash at the end of non-terminating lines!

*/ #define ALWAYSDRAW {\ - "cmapcube", \ 0 \ }
M fns.hfns.h

@@ -60,6 +60,7 @@ void setstate();

void setlabel(); void getproto(); void gettrans(); +int shouldalwaysdraw(Client* c); /* key.c */ void keypress();
M manage.cmanage.c

@@ -44,7 +44,11 @@

if (XGetClassHint(dpy, c->window, &class) != 0) { /* ``Success'' */ c->instance = class.res_name; c->class = class.res_class; +#ifdef ALWAYSDRAW + c->is9term = shouldalwaysdraw(c); +#else c->is9term = 0; +#endif if (isNew) { c->is9term = strstr(c->class, "term") || strstr(c->class, "Term") || strstr(c->class, "urxvt") || strstr(c->class, "URxvt") ||

@@ -554,3 +558,18 @@ c->proto |= Plosefocus;

XFree((char*)p); } + +#ifdef ALWAYSDRAW +int shouldalwaysdraw(Client* c) { + static char* alwaysdraw[] = ALWAYSDRAW; + char** a = alwaysdraw; + + while (*a) { + if (c && c->class && strstr(c->class, *a)) { + return 1; + } + ++a; + } + return 0; +} +#endif