~petersanchez/st

626b0ae40c71b6c1e02ece79bf033432647381a6 — Devin J. Pohly 6 years ago d527501
Move window urgency handling entirely into x.c

This allows us to make xseturgency internal.

Signed-off-by: Devin J. Pohly <djpohly@gmail.com>
5 files changed, 10 insertions(+), 9 deletions(-)

M config.def.h
M st.c
M st.h
M win.h
M x.c
M config.def.h => config.def.h +1 -1
@@ 60,7 60,7 @@ unsigned int cursorthickness = 2;
 * bell volume. It must be a value between -100 and 100. Use 0 for disabling
 * it
 */
static int bellvolume = 0;
int bellvolume = 0;

/* default TERM value */
char termname[] = "st-256color";

M st.c => st.c +1 -4
@@ 2176,10 2176,7 @@ tcontrolcode(uchar ascii)
			/* backwards compatibility to xterm */
			strhandle();
		} else {
			if (!(win.state & WIN_FOCUSED))
				xseturgency(1);
			if (bellvolume)
				xbell(bellvolume);
			xbell();
		}
		break;
	case '\033': /* ESC */

M st.h => st.h +1 -0
@@ 246,6 246,7 @@ extern int allowaltscreen;
extern unsigned int xfps;
extern unsigned int actionfps;
extern unsigned int cursorthickness;
extern int bellvolume;
extern unsigned int blinktimeout;
extern char termname[];
extern const char *colorname[];

M win.h => win.h +1 -2
@@ 8,7 8,7 @@
void draw(void);
void drawregion(int, int, int, int);

void xbell(int);
void xbell(void);
void xclipcopy(void);
void xclippaste(void);
void xhints(void);


@@ 16,7 16,6 @@ void xloadcols(void);
int xsetcolorname(int, const char *);
void xsettitle(char *);
void xsetpointermotion(int);
void xseturgency(int);
void xresize(int, int);
void xselpaste(void);
void xsetsel(char *, Time);

M x.c => x.c +6 -2
@@ 94,6 94,7 @@ static void xloadfonts(char *, double);
static void xunloadfont(Font *);
static void xunloadfonts(void);
static void xsetenv(void);
static void xseturgency(int);

static void expose(XEvent *);
static void visibility(XEvent *);


@@ 1521,9 1522,12 @@ xseturgency(int add)
}

void
xbell(int vol)
xbell(void)
{
	XkbBell(xw.dpy, xw.win, vol, (Atom)NULL);
	if (!(win.state & WIN_FOCUSED))
		xseturgency(1);
	if (bellvolume)
		XkbBell(xw.dpy, xw.win, bellvolume, (Atom)NULL);
}

void