commit d9c047446a3bf088bfeba6bfe7969bb83a8392b9
parent 3ecdc48137ff4f895f007153bba98cab92b6ed2d
Author: Jan Christoph Ebersbach <jceb@e-jc.de>
Date: Sun, 31 Jul 2016 07:15:26 +0200
Update float border color patch
Diffstat:
2 files changed, 91 insertions(+), 0 deletions(-)
diff --git a/dwm.suckless.org/patches/dwm-float_border_color2-20160731-56a31dc.diff b/dwm.suckless.org/patches/dwm-float_border_color2-20160731-56a31dc.diff
@@ -0,0 +1,90 @@
+URL: http://dwm.suckless.org/patches/historical/float_border_color
+float_border_color2 allows you to specify a different border color for floating
+windows.
+
+Index: dwm/config.def.h
+===================================================================
+--- dwm/config.def.h.orig
++++ dwm/config.def.h
+@@ -12,10 +12,10 @@ static const char col_gray2[] = "#
+ static const char col_gray3[] = "#bbbbbb";
+ static const char col_gray4[] = "#eeeeee";
+ static const char col_cyan[] = "#005577";
+-static const char *colors[SchemeLast][3] = {
+- /* fg bg border */
+- [SchemeNorm] = { col_gray3, col_gray1, col_gray2 },
+- [SchemeSel] = { col_gray4, col_cyan, col_cyan },
++static const char *colors[SchemeLast][4] = {
++ /* fg bg border float */
++ [SchemeNorm] = { col_gray3, col_gray1, col_gray2, col_gray2 },
++ [SchemeSel] = { col_gray4, col_cyan, col_gray2, col_cyan },
+ };
+
+ /* tagging */
+Index: dwm/dwm.c
+===================================================================
+--- dwm/dwm.c.orig
++++ dwm/dwm.c
+@@ -57,6 +57,7 @@
+ #define TAGMASK ((1 << LENGTH(tags)) - 1)
+ #define TEXTW(X) (drw_fontset_getwidth(drw, (X)) + lrpad)
+ #define ColBorder 2
++#define ColFloat 3
+
+ /* enums */
+ enum { CurNormal, CurResize, CurMove, CurLast }; /* cursor */
+@@ -809,7 +810,10 @@ focus(Client *c)
+ detachstack(c);
+ attachstack(c);
+ grabbuttons(c, 1);
+- XSetWindowBorder(dpy, c->win, scheme[SchemeSel][ColBorder].pixel);
++ if(c->isfloating)
++ XSetWindowBorder(dpy, c->win, scheme[SchemeSel][ColFloat].pixel);
++ else
++ XSetWindowBorder(dpy, c->win, scheme[SchemeSel][ColBorder].pixel);
+ setfocus(c);
+ } else {
+ XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime);
+@@ -1068,7 +1072,10 @@ manage(Window w, XWindowAttributes *wa)
+
+ wc.border_width = c->bw;
+ XConfigureWindow(dpy, w, CWBorderWidth, &wc);
+- XSetWindowBorder(dpy, w, scheme[SchemeNorm][ColBorder].pixel);
++ if(c->isfloating)
++ XSetWindowBorder(dpy, w, scheme[SchemeNorm][ColFloat].pixel);
++ else
++ XSetWindowBorder(dpy, w, scheme[SchemeNorm][ColBorder].pixel);
+ configure(c); /* propagates border_width, if size doesn't change */
+ updatewindowtype(c);
+ updatesizehints(c);
+@@ -1079,6 +1086,8 @@ manage(Window w, XWindowAttributes *wa)
+ c->isfloating = c->oldstate = trans != None || c->isfixed;
+ if (c->isfloating)
+ XRaiseWindow(dpy, c->win);
++ if(c->isfloating)
++ XSetWindowBorder(dpy, w, scheme[SchemeNorm][ColFloat].pixel);
+ attach(c);
+ attachstack(c);
+ XChangeProperty(dpy, root, netatom[NetClientList], XA_WINDOW, 32, PropModeAppend,
+@@ -1583,8 +1592,8 @@ setup(void)
+ cursor[CurResize] = drw_cur_create(drw, XC_sizing);
+ cursor[CurMove] = drw_cur_create(drw, XC_fleur);
+ /* init appearance */
+- scheme[SchemeNorm] = drw_scm_create(drw, colors[SchemeNorm], 3);
+- scheme[SchemeSel] = drw_scm_create(drw, colors[SchemeSel], 3);
++ scheme[SchemeNorm] = drw_scm_create(drw, colors[SchemeNorm], 4);
++ scheme[SchemeSel] = drw_scm_create(drw, colors[SchemeSel], 4);
+ /* init bars */
+ updatebars();
+ updatestatus();
+@@ -1706,6 +1715,10 @@ togglefloating(const Arg *arg)
+ return;
+ selmon->sel->isfloating = !selmon->sel->isfloating || selmon->sel->isfixed;
+ if (selmon->sel->isfloating)
++ XSetWindowBorder(dpy, selmon->sel->win, scheme[SchemeSel][ColFloat].pixel);
++ else
++ XSetWindowBorder(dpy, selmon->sel->win, scheme[SchemeSel][ColBorder].pixel);
++ if(selmon->sel->isfloating)
+ resize(selmon->sel, selmon->sel->x, selmon->sel->y,
+ selmon->sel->w, selmon->sel->h, 0);
+ arrange(selmon);
diff --git a/dwm.suckless.org/patches/float_border_color.md b/dwm.suckless.org/patches/float_border_color.md
@@ -8,6 +8,7 @@ Patches against different versions of dwm are available at
[dwm-clean-patches](https://github.com/jceb/dwm-clean-patches).
<!-- Author emailed about this patch not applying cleanly -->
+ * [dwm-float_border_color2-20160731-56a31dc.diff](dwm-float_border_color2-20160731-56a31dc.diff)
* [dwm-float_border_color-6.1.diff](dwm-float_border_color-6.1.diff) (Unclean patch)
* [dwm-float_border_color-6.0.diff](dwm-float_border_color-6.0.diff)