sites

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

dwm-float-border-color-6.2.diff (3572B)


      1 From b8a19f1d4385e04478ec13a24b6ebababcf14139 Mon Sep 17 00:00:00 2001
      2 From: MLquest8 <miskuzius@gmail.com>
      3 Date: Sun, 14 Jun 2020 13:52:57 +0400
      4 Subject: [PATCH] updated for version 6.2
      5 
      6 ---
      7  config.def.h |  8 ++++----
      8  dwm.c        | 19 ++++++++++++++++---
      9  2 files changed, 20 insertions(+), 7 deletions(-)
     10 
     11 diff --git a/config.def.h b/config.def.h
     12 index 1c0b587..27de552 100644
     13 --- a/config.def.h
     14 +++ b/config.def.h
     15 @@ -12,10 +12,10 @@ static const char col_gray2[]       = "#444444";
     16  static const char col_gray3[]       = "#bbbbbb";
     17  static const char col_gray4[]       = "#eeeeee";
     18  static const char col_cyan[]        = "#005577";
     19 -static const char *colors[][3]      = {
     20 -	/*               fg         bg         border   */
     21 -	[SchemeNorm] = { col_gray3, col_gray1, col_gray2 },
     22 -	[SchemeSel]  = { col_gray4, col_cyan,  col_cyan  },
     23 +static const char *colors[][4]      = {
     24 +	/*               fg         bg         border     float */
     25 +	[SchemeNorm] = { col_gray3, col_gray1, col_gray2, col_gray2 },
     26 +	[SchemeSel] =  { col_gray4, col_cyan,  col_gray2, col_cyan },
     27  };
     28  
     29  /* tagging */
     30 diff --git a/dwm.c b/dwm.c
     31 index 9fd0286..da735c6 100644
     32 --- a/dwm.c
     33 +++ b/dwm.c
     34 @@ -56,6 +56,7 @@
     35  #define HEIGHT(X)               ((X)->h + 2 * (X)->bw)
     36  #define TAGMASK                 ((1 << LENGTH(tags)) - 1)
     37  #define TEXTW(X)                (drw_fontset_getwidth(drw, (X)) + lrpad)
     38 +#define ColFloat                3
     39  
     40  /* enums */
     41  enum { CurNormal, CurResize, CurMove, CurLast }; /* cursor */
     42 @@ -796,7 +797,10 @@ focus(Client *c)
     43  		detachstack(c);
     44  		attachstack(c);
     45  		grabbuttons(c, 1);
     46 -		XSetWindowBorder(dpy, c->win, scheme[SchemeSel][ColBorder].pixel);
     47 +		if(c->isfloating)
     48 +			XSetWindowBorder(dpy, c->win, scheme[SchemeSel][ColFloat].pixel);
     49 +		else
     50 +			XSetWindowBorder(dpy, c->win, scheme[SchemeSel][ColBorder].pixel);
     51  		setfocus(c);
     52  	} else {
     53  		XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime);
     54 @@ -1052,7 +1056,10 @@ manage(Window w, XWindowAttributes *wa)
     55  
     56  	wc.border_width = c->bw;
     57  	XConfigureWindow(dpy, w, CWBorderWidth, &wc);
     58 -	XSetWindowBorder(dpy, w, scheme[SchemeNorm][ColBorder].pixel);
     59 +	if(c->isfloating)
     60 +		XSetWindowBorder(dpy, w, scheme[SchemeNorm][ColFloat].pixel);
     61 +	else
     62 +		XSetWindowBorder(dpy, w, scheme[SchemeNorm][ColBorder].pixel);
     63  	configure(c); /* propagates border_width, if size doesn't change */
     64  	updatewindowtype(c);
     65  	updatesizehints(c);
     66 @@ -1063,6 +1070,8 @@ manage(Window w, XWindowAttributes *wa)
     67  		c->isfloating = c->oldstate = trans != None || c->isfixed;
     68  	if (c->isfloating)
     69  		XRaiseWindow(dpy, c->win);
     70 +	if(c->isfloating)
     71 +		XSetWindowBorder(dpy, w, scheme[SchemeNorm][ColFloat].pixel);
     72  	attach(c);
     73  	attachstack(c);
     74  	XChangeProperty(dpy, root, netatom[NetClientList], XA_WINDOW, 32, PropModeAppend,
     75 @@ -1570,7 +1579,7 @@ setup(void)
     76  	/* init appearance */
     77  	scheme = ecalloc(LENGTH(colors), sizeof(Clr *));
     78  	for (i = 0; i < LENGTH(colors); i++)
     79 -		scheme[i] = drw_scm_create(drw, colors[i], 3);
     80 +		scheme[i] = drw_scm_create(drw, colors[i], 4);
     81  	/* init bars */
     82  	updatebars();
     83  	updatestatus();
     84 @@ -1717,6 +1726,10 @@ togglefloating(const Arg *arg)
     85  		return;
     86  	selmon->sel->isfloating = !selmon->sel->isfloating || selmon->sel->isfixed;
     87  	if (selmon->sel->isfloating)
     88 +		XSetWindowBorder(dpy, selmon->sel->win, scheme[SchemeSel][ColFloat].pixel);
     89 +	else
     90 +		XSetWindowBorder(dpy, selmon->sel->win, scheme[SchemeSel][ColBorder].pixel);
     91 +	if(selmon->sel->isfloating)
     92  		resize(selmon->sel, selmon->sel->x, selmon->sel->y,
     93  			selmon->sel->w, selmon->sel->h, 0);
     94  	arrange(selmon);
     95 -- 
     96 2.26.2
     97