mirror of
https://github.com/mintycube/dwm.git
synced 2024-10-22 14:05:45 +02:00
flexwintitle: allow flexwintitle to control window borders
This commit is contained in:
parent
d8ebab4f75
commit
0d743eddff
66
config.def.h
66
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
|
||||
};
|
||||
|
||||
|
8
dwm.c
8
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]);
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user