summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorbakkeby <[email protected]>2020-08-27 21:37:19 +0200
committerbakkeby <[email protected]>2020-08-27 21:37:19 +0200
commit0d743eddffe091acaa7d0737f86dd60775b95831 (patch)
tree637e1f813e19bd27c7e258649525e72d48c8234b
parentd8ebab4f754a8a4a5c9cc3256431a498e767277f (diff)
downloaddwm-flexipatch-0d743eddffe091acaa7d0737f86dd60775b95831.tar.gz
dwm-flexipatch-0d743eddffe091acaa7d0737f86dd60775b95831.zip
flexwintitle: allow flexwintitle to control window borders
-rw-r--r--config.def.h66
-rw-r--r--dwm.c8
-rw-r--r--patch/bar_flexwintitle.c7
3 files changed, 45 insertions, 36 deletions
diff --git a/config.def.h b/config.def.h
index 9ed5922..e165d2c 100644
--- a/config.def.h
+++ b/config.def.h
@@ -226,39 +226,39 @@ static char *colors[][ColCount] = {
[SchemeHid] = { hidfgcolor, hidbgcolor, hidbordercolor, hidfloatcolor },
[SchemeUrg] = { urgfgcolor, urgbgcolor, urgbordercolor, urgfloatcolor },
#if BAR_FLEXWINTITLE_PATCH
- [SchemeFlexActTTB] = { titleselfgcolor, actTTBbgcolor, c000000, c000000 },
- [SchemeFlexActLTR] = { titleselfgcolor, actLTRbgcolor, c000000, c000000 },
- [SchemeFlexActMONO] = { titleselfgcolor, actMONObgcolor, c000000, c000000 },
- [SchemeFlexActGRID] = { titleselfgcolor, actGRIDbgcolor, c000000, c000000 },
- [SchemeFlexActGRD1] = { titleselfgcolor, actGRD1bgcolor, c000000, c000000 },
- [SchemeFlexActGRD2] = { titleselfgcolor, actGRD2bgcolor, c000000, c000000 },
- [SchemeFlexActGRDM] = { titleselfgcolor, actGRDMbgcolor, c000000, c000000 },
- [SchemeFlexActHGRD] = { titleselfgcolor, actHGRDbgcolor, c000000, c000000 },
- [SchemeFlexActDWDL] = { titleselfgcolor, actDWDLbgcolor, c000000, c000000 },
- [SchemeFlexActSPRL] = { titleselfgcolor, actSPRLbgcolor, c000000, c000000 },
- [SchemeFlexActFloat] = { titleselfgcolor, actfloatbgcolor, c000000, c000000 },
- [SchemeFlexInaTTB] = { titlenormfgcolor, normTTBbgcolor, c000000, c000000 },
- [SchemeFlexInaLTR] = { titlenormfgcolor, normLTRbgcolor, c000000, c000000 },
- [SchemeFlexInaMONO] = { titlenormfgcolor, normMONObgcolor, c000000, c000000 },
- [SchemeFlexInaGRID] = { titlenormfgcolor, normGRIDbgcolor, c000000, c000000 },
- [SchemeFlexInaGRD1] = { titlenormfgcolor, normGRD1bgcolor, c000000, c000000 },
- [SchemeFlexInaGRD2] = { titlenormfgcolor, normGRD2bgcolor, c000000, c000000 },
- [SchemeFlexInaGRDM] = { titlenormfgcolor, normGRDMbgcolor, c000000, c000000 },
- [SchemeFlexInaHGRD] = { titlenormfgcolor, normHGRDbgcolor, c000000, c000000 },
- [SchemeFlexInaDWDL] = { titlenormfgcolor, normDWDLbgcolor, c000000, c000000 },
- [SchemeFlexInaSPRL] = { titlenormfgcolor, normSPRLbgcolor, c000000, c000000 },
- [SchemeFlexInaFloat] = { titlenormfgcolor, normfloatbgcolor, c000000, c000000 },
- [SchemeFlexSelTTB] = { titleselfgcolor, selTTBbgcolor, c000000, c000000 },
- [SchemeFlexSelLTR] = { titleselfgcolor, selLTRbgcolor, c000000, c000000 },
- [SchemeFlexSelMONO] = { titleselfgcolor, selMONObgcolor, c000000, c000000 },
- [SchemeFlexSelGRID] = { titleselfgcolor, selGRIDbgcolor, c000000, c000000 },
- [SchemeFlexSelGRD1] = { titleselfgcolor, selGRD1bgcolor, c000000, c000000 },
- [SchemeFlexSelGRD2] = { titleselfgcolor, selGRD2bgcolor, c000000, c000000 },
- [SchemeFlexSelGRDM] = { titleselfgcolor, selGRDMbgcolor, c000000, c000000 },
- [SchemeFlexSelHGRD] = { titleselfgcolor, selHGRDbgcolor, c000000, c000000 },
- [SchemeFlexSelDWDL] = { titleselfgcolor, selDWDLbgcolor, c000000, c000000 },
- [SchemeFlexSelSPRL] = { titleselfgcolor, selSPRLbgcolor, c000000, c000000 },
- [SchemeFlexSelFloat] = { titleselfgcolor, selfloatbgcolor, c000000, c000000 },
+ [SchemeFlexActTTB] = { titleselfgcolor, actTTBbgcolor, actTTBbgcolor, c000000 },
+ [SchemeFlexActLTR] = { titleselfgcolor, actLTRbgcolor, actLTRbgcolor, c000000 },
+ [SchemeFlexActMONO] = { titleselfgcolor, actMONObgcolor, actMONObgcolor, c000000 },
+ [SchemeFlexActGRID] = { titleselfgcolor, actGRIDbgcolor, actGRIDbgcolor, c000000 },
+ [SchemeFlexActGRD1] = { titleselfgcolor, actGRD1bgcolor, actGRD1bgcolor, c000000 },
+ [SchemeFlexActGRD2] = { titleselfgcolor, actGRD2bgcolor, actGRD2bgcolor, c000000 },
+ [SchemeFlexActGRDM] = { titleselfgcolor, actGRDMbgcolor, actGRDMbgcolor, c000000 },
+ [SchemeFlexActHGRD] = { titleselfgcolor, actHGRDbgcolor, actHGRDbgcolor, c000000 },
+ [SchemeFlexActDWDL] = { titleselfgcolor, actDWDLbgcolor, actDWDLbgcolor, c000000 },
+ [SchemeFlexActSPRL] = { titleselfgcolor, actSPRLbgcolor, actSPRLbgcolor, c000000 },
+ [SchemeFlexActFloat] = { titleselfgcolor, actfloatbgcolor, actfloatbgcolor, c000000 },
+ [SchemeFlexInaTTB] = { titlenormfgcolor, normTTBbgcolor, normTTBbgcolor, c000000 },
+ [SchemeFlexInaLTR] = { titlenormfgcolor, normLTRbgcolor, normLTRbgcolor, c000000 },
+ [SchemeFlexInaMONO] = { titlenormfgcolor, normMONObgcolor, normMONObgcolor, c000000 },
+ [SchemeFlexInaGRID] = { titlenormfgcolor, normGRIDbgcolor, normGRIDbgcolor, c000000 },
+ [SchemeFlexInaGRD1] = { titlenormfgcolor, normGRD1bgcolor, normGRD1bgcolor, c000000 },
+ [SchemeFlexInaGRD2] = { titlenormfgcolor, normGRD2bgcolor, normGRD2bgcolor, c000000 },
+ [SchemeFlexInaGRDM] = { titlenormfgcolor, normGRDMbgcolor, normGRDMbgcolor, c000000 },
+ [SchemeFlexInaHGRD] = { titlenormfgcolor, normHGRDbgcolor, normHGRDbgcolor, c000000 },
+ [SchemeFlexInaDWDL] = { titlenormfgcolor, normDWDLbgcolor, normDWDLbgcolor, c000000 },
+ [SchemeFlexInaSPRL] = { titlenormfgcolor, normSPRLbgcolor, normSPRLbgcolor, c000000 },
+ [SchemeFlexInaFloat] = { titlenormfgcolor, normfloatbgcolor, normfloatbgcolor, c000000 },
+ [SchemeFlexSelTTB] = { titleselfgcolor, selTTBbgcolor, selTTBbgcolor, c000000 },
+ [SchemeFlexSelLTR] = { titleselfgcolor, selLTRbgcolor, selLTRbgcolor, c000000 },
+ [SchemeFlexSelMONO] = { titleselfgcolor, selMONObgcolor, selMONObgcolor, c000000 },
+ [SchemeFlexSelGRID] = { titleselfgcolor, selGRIDbgcolor, selGRIDbgcolor, c000000 },
+ [SchemeFlexSelGRD1] = { titleselfgcolor, selGRD1bgcolor, selGRD1bgcolor, c000000 },
+ [SchemeFlexSelGRD2] = { titleselfgcolor, selGRD2bgcolor, selGRD2bgcolor, c000000 },
+ [SchemeFlexSelGRDM] = { titleselfgcolor, selGRDMbgcolor, selGRDMbgcolor, c000000 },
+ [SchemeFlexSelHGRD] = { titleselfgcolor, selHGRDbgcolor, selHGRDbgcolor, c000000 },
+ [SchemeFlexSelDWDL] = { titleselfgcolor, selDWDLbgcolor, selDWDLbgcolor, c000000 },
+ [SchemeFlexSelSPRL] = { titleselfgcolor, selSPRLbgcolor, selSPRLbgcolor, c000000 },
+ [SchemeFlexSelFloat] = { titleselfgcolor, selfloatbgcolor, selfloatbgcolor, c000000 },
#endif // BAR_FLEXWINTITLE_PATCH
};
diff --git a/dwm.c b/dwm.c
index 4de4f34..2474160 100644
--- a/dwm.c
+++ b/dwm.c
@@ -1692,10 +1692,12 @@ focus(Client *c)
detachstack(c);
attachstack(c);
grabbuttons(c, 1);
+ #if !BAR_FLEXWINTITLE_PATCH
if (c->isfloating)
XSetWindowBorder(dpy, c->win, scheme[SchemeSel][ColFloat].pixel);
else
XSetWindowBorder(dpy, c->win, scheme[SchemeSel][ColBorder].pixel);
+ #endif // BAR_FLEXWINTITLE_PATCH
setfocus(c);
} else {
XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime);
@@ -2063,10 +2065,12 @@ manage(Window w, XWindowAttributes *wa)
wc.border_width = c->bw;
XConfigureWindow(dpy, w, CWBorderWidth, &wc);
+ #if !BAR_FLEXWINTITLE_PATCH
if (c->isfloating)
XSetWindowBorder(dpy, w, scheme[SchemeNorm][ColFloat].pixel);
else
XSetWindowBorder(dpy, w, scheme[SchemeNorm][ColBorder].pixel);
+ #endif // BAR_FLEXWINTITLE_PATCH
configure(c); /* propagates border_width, if size doesn't change */
#if !FLOATPOS_PATCH
updatesizehints(c);
@@ -3348,10 +3352,12 @@ togglefloating(const Arg *arg)
#endif // FAKEFULLSCREEN_CLIENT_PATCH
#endif // !FAKEFULLSCREEN_PATCH
c->isfloating = !c->isfloating || c->isfixed;
+ #if !BAR_FLEXWINTITLE_PATCH
if (c->isfloating)
XSetWindowBorder(dpy, c->win, scheme[SchemeSel][ColFloat].pixel);
else
XSetWindowBorder(dpy, c->win, scheme[SchemeSel][ColBorder].pixel);
+ #endif // BAR_FLEXWINTITLE_PATCH
if (c->isfloating) {
#if SAVEFLOATS_PATCH || EXRESIZE_PATCH
if (c->sfx != -9999) {
@@ -3497,10 +3503,12 @@ unfocus(Client *c, int setfocus)
#endif // FAKEFULLSCREEN_CLIENT_PATCH
#endif // LOSEFULLSCREEN_PATCH
grabbuttons(c, 0);
+ #if !BAR_FLEXWINTITLE_PATCH
if (c->isfloating)
XSetWindowBorder(dpy, c->win, scheme[SchemeNorm][ColFloat].pixel);
else
XSetWindowBorder(dpy, c->win, scheme[SchemeNorm][ColBorder].pixel);
+ #endif // BAR_FLEXWINTITLE_PATCH
if (setfocus) {
XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime);
XDeleteProperty(dpy, root, netatom[NetActiveWindow]);
diff --git a/patch/bar_flexwintitle.c b/patch/bar_flexwintitle.c
index 4e2ecc9..216c802 100644
--- a/patch/bar_flexwintitle.c
+++ b/patch/bar_flexwintitle.c
@@ -171,8 +171,7 @@ flextitledraw(Monitor *m, Client *c, int unused, int x, int w, int tabscheme, Ar
if (!c)
return;
int i, nclienttags = 0, nviewtags = 0, pad = lrpad / 2;
-
- drw_setscheme(drw, scheme[(
+ int clientscheme = (
c == m->sel
? getselschemefor(tabscheme)
: HIDDEN(c)
@@ -180,7 +179,9 @@ flextitledraw(Monitor *m, Client *c, int unused, int x, int w, int tabscheme, Ar
: c->isurgent
? SchemeUrg
: tabscheme
- )]);
+ );
+ drw_setscheme(drw, scheme[clientscheme]);
+ XSetWindowBorder(dpy, c->win, scheme[clientscheme][ColBorder].pixel);
if (w <= TEXTW("A") - lrpad + pad) // reduce text padding if wintitle is too small
pad = (w - TEXTW("A") + lrpad < 0 ? 0 : (w - TEXTW("A") + lrpad) / 2);
#if BAR_CENTEREDWINDOWNAME_PATCH