sites

public wiki contents of suckless.org
git clone git://git.suckless.org/sites
Log | Files | Refs

dwm-float_border_color-6.1.diff (3594B)


      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 Index: dwm/config.def.h
      6 ===================================================================
      7 --- dwm/config.def.h.orig	2014-02-09 15:24:13.708117011 +0100
      8 +++ dwm/config.def.h	2014-02-09 15:24:13.700117011 +0100
      9 @@ -8,6 +8,8 @@
     10  static const char selbordercolor[]  = "#005577";
     11  static const char selbgcolor[]      = "#005577";
     12  static const char selfgcolor[]      = "#eeeeee";
     13 +static const char floatnormbordercolor[] = "#005577";
     14 +static const char floatselbordercolor[]  = "#005577";
     15  static const unsigned int borderpx  = 1;        /* border pixel of windows */
     16  static const unsigned int snap      = 32;       /* snap pixel */
     17  static const Bool showbar           = True;     /* False means no bar */
     18 Index: dwm/dwm.c
     19 ===================================================================
     20 --- dwm/dwm.c.orig	2014-02-09 15:24:13.708117011 +0100
     21 +++ dwm/dwm.c	2014-02-09 15:24:13.700117011 +0100
     22 @@ -792,7 +792,10 @@
     23  		detachstack(c);
     24  		attachstack(c);
     25  		grabbuttons(c, True);
     26 -		XSetWindowBorder(dpy, c->win, scheme[SchemeSel].border->rgb);
     27 +		if(c->isfloating)
     28 +			XSetWindowBorder(dpy, c->win, scheme[SchemeSel].floatborder->rgb);
     29 +		else
     30 +			XSetWindowBorder(dpy, c->win, scheme[SchemeSel].border->rgb);
     31  		setfocus(c);
     32  	}
     33  	else {
     34 @@ -1040,7 +1043,10 @@
     35  
     36  	wc.border_width = c->bw;
     37  	XConfigureWindow(dpy, w, CWBorderWidth, &wc);
     38 -	XSetWindowBorder(dpy, w, scheme[SchemeNorm].border->rgb);
     39 +	if(c->isfloating)
     40 +		XSetWindowBorder(dpy, w, scheme[SchemeNorm].floatborder->rgb);
     41 +	else
     42 +		XSetWindowBorder(dpy, w, scheme[SchemeNorm].border->rgb);
     43  	configure(c); /* propagates border_width, if size doesn't change */
     44  	updatewindowtype(c);
     45  	updatesizehints(c);
     46 @@ -1051,6 +1057,8 @@
     47  		c->isfloating = c->oldstate = trans != None || c->isfixed;
     48  	if(c->isfloating)
     49  		XRaiseWindow(dpy, c->win);
     50 +	if(c->isfloating)
     51 +		XSetWindowBorder(dpy, w, scheme[SchemeNorm].floatborder->rgb);
     52  	attach(c);
     53  	attachstack(c);
     54  	XChangeProperty(dpy, root, netatom[NetClientList], XA_WINDOW, 32, PropModeAppend,
     55 @@ -1522,9 +1530,11 @@
     56  	cursor[CurResize] = drw_cur_create(drw, XC_sizing);
     57  	cursor[CurMove] = drw_cur_create(drw, XC_fleur);
     58  	/* init appearance */
     59 +	scheme[SchemeNorm].floatborder = drw_clr_create(drw, floatnormbordercolor);
     60  	scheme[SchemeNorm].border = drw_clr_create(drw, normbordercolor);
     61  	scheme[SchemeNorm].bg = drw_clr_create(drw, normbgcolor);
     62  	scheme[SchemeNorm].fg = drw_clr_create(drw, normfgcolor);
     63 +	scheme[SchemeSel].floatborder = drw_clr_create(drw, floatselbordercolor);
     64  	scheme[SchemeSel].border = drw_clr_create(drw, selbordercolor);
     65  	scheme[SchemeSel].bg = drw_clr_create(drw, selbgcolor);
     66  	scheme[SchemeSel].fg = drw_clr_create(drw, selfgcolor);
     67 @@ -1641,6 +1651,10 @@
     68  		return;
     69  	selmon->sel->isfloating = !selmon->sel->isfloating || selmon->sel->isfixed;
     70  	if(selmon->sel->isfloating)
     71 +		XSetWindowBorder(dpy, selmon->sel->win, scheme[SchemeSel].floatborder->rgb);
     72 +	else
     73 +		XSetWindowBorder(dpy, selmon->sel->win, scheme[SchemeSel].border->rgb);
     74 +	if(selmon->sel->isfloating)
     75  		resize(selmon->sel, selmon->sel->x, selmon->sel->y,
     76  		       selmon->sel->w, selmon->sel->h, False);
     77  	arrange(selmon);
     78 Index: dwm/drw.h
     79 ===================================================================
     80 --- dwm/drw.h.orig	2014-02-09 15:24:13.708117011 +0100
     81 +++ dwm/drw.h	2014-02-09 15:24:13.700117011 +0100
     82 @@ -20,6 +20,7 @@
     83  	Clr *fg;
     84  	Clr *bg;
     85  	Clr *border;
     86 +	Clr *floatborder;
     87  } ClrScheme;
     88  
     89  typedef struct {