--- config.def.h | 5 ++++- x.c | 60 ++++++++++++++++++++++++++-------------------------- 2 files changed, 34 insertions(+), 31 deletions(-) diff --git a/config.def.h b/config.def.h index 482901e..161611e 100644 --- a/config.def.h +++ b/config.def.h _AT_@ -6,7 +6,10 @@ * font: see http://freedesktop.org/software/fontconfig/fontconfig-user.html */ static char *font = "Liberation Mono:pixelsize=12:antialias=true:autohint=true"; -static int borderpx = 2; +static struct { int x; int y; } borderpx = { + .x = 2, + .y = 2 +}; /* * What program is execed by st depends of these precedence rules: diff --git a/x.c b/x.c index 5828a3b..3b7f685 100644 --- a/x.c +++ b/x.c _AT_@ -315,7 +315,7 @@ zoomreset(const Arg *arg) int evcol(XEvent *e) { - int x = e->xbutton.x - borderpx; + int x = e->xbutton.x - borderpx.x; LIMIT(x, 0, win.tw - 1); return x / win.cw; } _AT_@ -323,7 +323,7 @@ evcol(XEvent *e) int evrow(XEvent *e) { - int y = e->xbutton.y - borderpx; + int y = e->xbutton.y - borderpx.y; LIMIT(y, 0, win.th - 1); return y / win.ch; } _AT_@ -674,8 +674,8 @@ cresize(int width, int height) if (height != 0) win.h = height; - col = (win.w - 2 * borderpx) / win.cw; - row = (win.h - 2 * borderpx) / win.ch; + col = (win.w - 2 * borderpx.x) / win.cw; + row = (win.h - 2 * borderpx.y) / win.ch; col = MAX(1, col); row = MAX(1, row); _AT_@ -798,10 +798,10 @@ xhints(void) sizeh->width = win.w; sizeh->height_inc = win.ch; sizeh->width_inc = win.cw; - sizeh->base_height = 2 * borderpx; - sizeh->base_width = 2 * borderpx; - sizeh->min_height = win.ch + 2 * borderpx; - sizeh->min_width = win.cw + 2 * borderpx; + sizeh->base_height = 2 * borderpx.y; + sizeh->base_width = 2 * borderpx.x; + sizeh->min_height = win.ch + 2 * borderpx.y; + sizeh->min_width = win.cw + 2 * borderpx.x; if (xw.isfixed) { sizeh->flags |= PMaxSize; sizeh->min_width = sizeh->max_width = win.w; _AT_@ -1062,8 +1062,8 @@ xinit(int cols, int rows) xloadcols(); /* adjust fixed window geometry */ - win.w = 2 * borderpx + cols * win.cw; - win.h = 2 * borderpx + rows * win.ch; + win.w = 2 * borderpx.x + cols * win.cw; + win.h = 2 * borderpx.y + rows * win.ch; if (xw.gm & XNegative) xw.l += DisplayWidth(xw.dpy, xw.scr) - win.w - 2; if (xw.gm & YNegative) _AT_@ -1148,7 +1148,7 @@ xinit(int cols, int rows) int xmakeglyphfontspecs(XftGlyphFontSpec *specs, const Glyph *glyphs, int len, int x, int y) { - float winx = borderpx + x * win.cw, winy = borderpx + y * win.ch, xp, yp; + float winx = borderpx.x + x * win.cw, winy = borderpx.y + y * win.ch, xp, yp; ushort mode, prevmode = USHRT_MAX; Font *font = &dc.font; int frcflags = FRC_NORMAL; _AT_@ -1281,7 +1281,7 @@ void xdrawglyphfontspecs(const XftGlyphFontSpec *specs, Glyph base, int len, int x, int y) { int charlen = len * ((base.mode & ATTR_WIDE) ? 2 : 1); - int winx = borderpx + x * win.cw, winy = borderpx + y * win.ch, + int winx = borderpx.x + x * win.cw, winy = borderpx.y + y * win.ch, width = charlen * win.cw; Color *fg, *bg, *temp, revfg, revbg, truefg, truebg; XRenderColor colfg, colbg; _AT_@ -1371,17 +1371,17 @@ xdrawglyphfontspecs(const XftGlyphFontSpec *specs, Glyph base, int len, int x, i /* Intelligent cleaning up of the borders. */ if (x == 0) { - xclear(0, (y == 0)? 0 : winy, borderpx, + xclear(0, (y == 0)? 0 : winy, borderpx.y, winy + win.ch + - ((winy + win.ch >= borderpx + win.th)? win.h : 0)); + ((winy + win.ch >= borderpx.y + win.th)? win.h : 0)); } - if (winx + width >= borderpx + win.tw) { + if (winx + width >= borderpx.x + win.tw) { xclear(winx + width, (y == 0)? 0 : winy, win.w, - ((winy + win.ch >= borderpx + win.th)? win.h : (winy + win.ch))); + ((winy + win.ch >= borderpx.y + win.th)? win.h : (winy + win.ch))); } if (y == 0) - xclear(winx, 0, winx + width, borderpx); - if (winy + win.ch >= borderpx + win.th) + xclear(winx, 0, winx + width, borderpx.x); + if (winy + win.ch >= borderpx.y + win.th) xclear(winx, winy + win.ch, winx + width, win.h); /* Clean up the region we want to draw to. */ _AT_@ -1474,35 +1474,35 @@ xdrawcursor(int cx, int cy, Glyph g, int ox, int oy, Glyph og) case 3: /* Blinking Underline */ case 4: /* Steady Underline */ XftDrawRect(xw.draw, &drawcol, - borderpx + cx * win.cw, - borderpx + (cy + 1) * win.ch - \ + borderpx.x + cx * win.cw, + borderpx.y + (cy + 1) * win.ch - \ cursorthickness, win.cw, cursorthickness); break; case 5: /* Blinking bar */ case 6: /* Steady bar */ XftDrawRect(xw.draw, &drawcol, - borderpx + cx * win.cw, - borderpx + cy * win.ch, + borderpx.x + cx * win.cw, + borderpx.y + cy * win.ch, cursorthickness, win.ch); break; } } else { XftDrawRect(xw.draw, &drawcol, - borderpx + cx * win.cw, - borderpx + cy * win.ch, + borderpx.x + cx * win.cw, + borderpx.y + cy * win.ch, win.cw - 1, 1); XftDrawRect(xw.draw, &drawcol, - borderpx + cx * win.cw, - borderpx + cy * win.ch, + borderpx.x + cx * win.cw, + borderpx.y + cy * win.ch, 1, win.ch - 1); XftDrawRect(xw.draw, &drawcol, - borderpx + (cx + 1) * win.cw - 1, - borderpx + cy * win.ch, + borderpx.x + (cx + 1) * win.cw - 1, + borderpx.y + cy * win.ch, 1, win.ch - 1); XftDrawRect(xw.draw, &drawcol, - borderpx + cx * win.cw, - borderpx + (cy + 1) * win.ch - 1, + borderpx.x + cx * win.cw, + borderpx.y + (cy + 1) * win.ch - 1, win.cw, 1); } } -- 2.17.1Received on Wed Jun 12 2019 - 01:12:59 CEST
This archive was generated by hypermail 2.3.0 : Wed Jun 12 2019 - 01:36:25 CEST