dwm-float_border_color-6.0.diff (3356B)
1 URL: http://dwm.suckless.org/patches/historical/float_border_color 2 float_border_color2 allows you to specify a different border color for floating 3 windows. 4 5 diff -r ec4baab78314 config.def.h 6 --- a/config.def.h Mon Dec 19 15:38:30 2011 +0100 7 +++ b/config.def.h Fri Apr 06 08:23:26 2012 +0200 8 @@ -8,6 +8,8 @@ 9 static const char selbordercolor[] = "#005577"; 10 static const char selbgcolor[] = "#005577"; 11 static const char selfgcolor[] = "#eeeeee"; 12 +static const char floatnormbordercolor[] = "#005577"; 13 +static const char floatselbordercolor[] = "#005577"; 14 static const unsigned int borderpx = 1; /* border pixel of windows */ 15 static const unsigned int snap = 32; /* snap pixel */ 16 static const Bool showbar = True; /* False means no bar */ 17 diff -r ec4baab78314 dwm.c 18 --- a/dwm.c Mon Dec 19 15:38:30 2011 +0100 19 +++ b/dwm.c Fri Apr 06 08:23:26 2012 +0200 20 @@ -57,7 +57,7 @@ 21 22 /* enums */ 23 enum { CurNormal, CurResize, CurMove, CurLast }; /* cursor */ 24 -enum { ColBorder, ColFG, ColBG, ColLast }; /* color */ 25 +enum { ColBorder, ColFG, ColBG, ColBorderFloat, ColLast }; /* color */ 26 enum { NetSupported, NetWMName, NetWMState, 27 NetWMFullscreen, NetActiveWindow, NetWMWindowType, 28 NetWMWindowTypeDialog, NetLast }; /* EWMH atoms */ 29 @@ -855,7 +855,10 @@ 30 detachstack(c); 31 attachstack(c); 32 grabbuttons(c, True); 33 - XSetWindowBorder(dpy, c->win, dc.sel[ColBorder]); 34 + if(c->isfloating) 35 + XSetWindowBorder(dpy, c->win, dc.sel[ColBorderFloat]); 36 + else 37 + XSetWindowBorder(dpy, c->win, dc.sel[ColBorder]); 38 setfocus(c); 39 } 40 else 41 @@ -1155,6 +1158,8 @@ 42 c->isfloating = c->oldstate = trans != None || c->isfixed; 43 if(c->isfloating) 44 XRaiseWindow(dpy, c->win); 45 + if(c->isfloating) 46 + XSetWindowBorder(dpy, w, dc.norm[ColBorderFloat]); 47 attach(c); 48 attachstack(c); 49 XMoveResizeWindow(dpy, c->win, c->x + 2 * sw, c->y, c->w, c->h); /* some windows require this */ 50 @@ -1615,9 +1620,11 @@ 51 dc.norm[ColBorder] = getcolor(normbordercolor); 52 dc.norm[ColBG] = getcolor(normbgcolor); 53 dc.norm[ColFG] = getcolor(normfgcolor); 54 + dc.norm[ColBorderFloat] = getcolor(floatnormbordercolor); 55 dc.sel[ColBorder] = getcolor(selbordercolor); 56 dc.sel[ColBG] = getcolor(selbgcolor); 57 dc.sel[ColFG] = getcolor(selfgcolor); 58 + dc.sel[ColBorderFloat] = getcolor(floatselbordercolor); 59 dc.drawable = XCreatePixmap(dpy, root, DisplayWidth(dpy, screen), bh, DefaultDepth(dpy, screen)); 60 dc.gc = XCreateGC(dpy, root, 0, NULL); 61 XSetLineAttributes(dpy, dc.gc, 1, LineSolid, CapButt, JoinMiter); 62 @@ -1741,6 +1748,10 @@ 63 return; 64 selmon->sel->isfloating = !selmon->sel->isfloating || selmon->sel->isfixed; 65 if(selmon->sel->isfloating) 66 + XSetWindowBorder(dpy, selmon->sel->win, dc.sel[ColBorderFloat]); 67 + else 68 + XSetWindowBorder(dpy, selmon->sel->win, dc.sel[ColBorder]); 69 + if(selmon->sel->isfloating) 70 resize(selmon->sel, selmon->sel->x, selmon->sel->y, 71 selmon->sel->w, selmon->sel->h, False); 72 arrange(selmon); 73 @@ -1776,7 +1787,10 @@ 74 if(!c) 75 return; 76 grabbuttons(c, False); 77 - XSetWindowBorder(dpy, c->win, dc.norm[ColBorder]); 78 + if(c->isfloating) 79 + XSetWindowBorder(dpy, c->win, dc.norm[ColBorderFloat]); 80 + else 81 + XSetWindowBorder(dpy, c->win, dc.norm[ColBorder]); 82 if(setfocus) 83 XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime); 84 }