Splitting SchemeHid to SchemeHidNorm and SchemeHidSel given that a hidden client may still be the selected client ref. #148

This commit is contained in:
bakkeby
2021-05-21 10:16:49 +02:00
parent 9a0fb6c83b
commit 9072ef28a4
6 changed files with 36 additions and 23 deletions

View File

@@ -30,10 +30,12 @@ draw_awesomebar(Bar *bar, BarArg *a)
for (i = 0, c = bar->mon->clients; c; c = c->next, i++) {
if (!ISVISIBLE(c))
continue;
if (bar->mon->sel == c)
scm = SchemeTitleSel;
if (bar->mon->sel == c && HIDDEN(c))
scm = SchemeHidSel;
else if (HIDDEN(c))
scm = SchemeHid;
scm = SchemeHidNorm;
else if (bar->mon->sel == c)
scm = SchemeTitleSel;
else
scm = SchemeTitleNorm;

View File

@@ -146,7 +146,7 @@ getschemefor(Monitor *m, int group, int activegroup)
#endif // MONOCLE_LAYOUT
return SchemeTitleNorm;
case GRP_HIDDEN:
return SchemeHid;
return SchemeHidNorm;
case GRP_FLOAT:
return (activegroup ? SchemeFlexActFloat : SchemeFlexInaFloat);
}
@@ -172,10 +172,12 @@ flextitledraw(Monitor *m, Client *c, int unused, int x, int w, int tabscheme, Ar
return;
int i, nclienttags = 0, nviewtags = 0, pad = lrpad / 2;
int clientscheme = (
c == selmon->sel
? getselschemefor(tabscheme)
c == selmon->sel && HIDDEN(c)
? SchemeHidSel
: HIDDEN(c)
? SchemeHid
? SchemeHidNorm
: c == selmon->sel
? getselschemefor(tabscheme)
: c->isurgent
? SchemeUrg
: tabscheme

View File

@@ -43,11 +43,14 @@ bartabdraw(Monitor *m, Client *c, int unused, int x, int w, int groupactive, Arg
int i, nclienttags = 0, nviewtags = 0, pad = lrpad / 2;
drw_setscheme(drw, scheme[
m->sel == c
? SchemeSel
#ifdef HIDDEN
&& HIDDEN(c)
? SchemeHidSel
: HIDDEN(c)
? SchemeHid
? SchemeHidNorm
: m->sel == c
#endif
? SchemeSel
: groupactive
? SchemeTitleSel
: SchemeTitleNorm

View File

@@ -40,10 +40,10 @@ loadxrdb()
XRDB_LOAD_COLOR("dwm.tagsselbgcolor", tagsselbgcolor);
XRDB_LOAD_COLOR("dwm.tagsselbordercolor", tagsselbordercolor);
XRDB_LOAD_COLOR("dwm.tagsselfloatcolor", tagsselfloatcolor);
XRDB_LOAD_COLOR("dwm.hidfgcolor", hidfgcolor);
XRDB_LOAD_COLOR("dwm.hidbgcolor", hidbgcolor);
XRDB_LOAD_COLOR("dwm.hidbordercolor", hidbordercolor);
XRDB_LOAD_COLOR("dwm.hidfloatcolor", hidfloatcolor);
XRDB_LOAD_COLOR("dwm.hidnormfgcolor", hidnormfgcolor);
XRDB_LOAD_COLOR("dwm.hidnormbgcolor", hidnormbgcolor);
XRDB_LOAD_COLOR("dwm.hidselfgcolor", hidselfgcolor);
XRDB_LOAD_COLOR("dwm.hidselbgcolor", hidselbgcolor);
XRDB_LOAD_COLOR("dwm.urgfgcolor", urgfgcolor);
XRDB_LOAD_COLOR("dwm.urgbgcolor", urgbgcolor);
XRDB_LOAD_COLOR("dwm.urgbordercolor", urgbordercolor);