rem: if (HAS_BORDER(wwin)) {
add: if (HAS_BORDER_WITH_SELECT(wwin)) {
context: showGeometry(WWindow *wwin, int x1, int y1, int x2, int y2, int direction){    WScreen *scr = wwin->screen_ptr;    Window root = scr->root_win;    GC gc = scr->line_gc;    int ty, by, my, x, y, mx, s;    char num[16];    XSegment segment[4];    int fw, fh;    /* This seems necessary for some odd reason (too lazy to write x1-1 and     * x2-1 everywhere below in the code). But why only for x? */    x1--; x2--;    if (HAS_BORDER(wwin)) {        x1 += FRAME_BORDER_WIDTH;        x2 += FRAME_BORDER_WIDTH;        y1 += FRAME_BORDER_WIDTH;        y2 += FRAME_BORDER_WIDTH;    }    ty = y1 + wwin->frame->top_width;    by = y2 - wwin->frame->bottom_width;    if (wPreferences.size_display == WDIS_NEW) {        fw = XTextWidth(scr->tech_draw_font, "8888", 4);        fh = scr->tech_draw_font->ascent+scr->tech_draw_font->descent;        XSetForeground(dpy, gc, scr->line_pixel);        /* vertical geometry */        if (((direction & LEFT) && (x2 < scr->scr_width - fw)) || (x1 < fw)) {            x = x2;            s = -15;        } else {            x = x1;            s = 15;        }        my = (ty + by) / 2;        /* top arrow & end bar */        segment[0].x1 = x - (s + 6);  segment[0].y1 = ty;        segment[0].x2 = x - (s - 10); segment[0].y2 = ty;        /* arrowhead */        segment[1].x1 = x - (s - 2); segment[1].y1 = ty + 1;        segment[1].x2 = x - (s - 5); segment[1].y2 = ty + 7;        segment[2].x1 = x - (s - 2); segment[2].y1 = ty + 1;        segment[2].x2 = x - (s + 1); segment[2].y2 = ty + 7;        /* line */        segment[3].x1 = x - (s - 2); segment[3].y1 = ty + 1;        segment[3].x2 = x - (s - 2); segment[3].y2 = my - fh/2 - 1;        XDrawSegments(dpy, root, gc, segment, 4);        /* bottom arrow & end bar */        segment[0].y1 = by;        segment[0].y2 = by;        /* arrowhead */        segment[1].y1 = by - 1;        segment[1].y2 = by - 7;        segment[2].y1 = by - 1;        segment[2].y2 = by - 7;        /* line */        segment[3].y1 = my + fh/2 + 2;        segment[3].y2 = by - 1;        XDrawSegments(dpy, root, gc, segment, 4);        snprintf(num, sizeof(num), "%i", (by - ty - wwin->normal_hints->base_height) /                 wwin->normal_hints->height_inc);        fw = XTextWidth(scr->tech_draw_font, num, strlen(num));        /* Display the height. */        XSetFont(dpy, gc, scr->tech_draw_font->fid);        XDrawString(dpy, root, gc, x - s + 3 - fw/2, my + scr->tech_draw_font->ascent - fh/2 + 1, num, strlen(num));        /* horizontal geometry */        if (y1 < 15) {            y = y2;            s = -15;        } else {            y = y1;            s = 15;        }        mx = x1 + (x2 - x1)/2;        snprintf(num, sizeof(num), "%i", (x2 - x1 - wwin->normal_hints->base_width) /                 wwin->normal_hints->width_inc);        fw = XTextWidth(scr->tech_draw_font, num, strlen(num));        /* left arrow & end bar */        segment[0].x1 = x1; segment[0].y1 = y - (s + 6);        segment[0].x2 = x1; segment[0].y2 = y - (s - 10);        /* arrowhead */        segment[1].x1 = x1 + 7; segment[1].y1 = y - (s + 1);        segment[1].x2 = x1 + 1; segment[1].y2 = y - (s - 2);        segment[2].x1 = x1 + 1; segment[2].y1 = y - (s - 2);        segment[2].x2 = x1 + 7; segment[2].y2 = y - (s - 5);        /* line */        segment[3].x1 = x1 + 1; segment[3].y1 = y - (s - 2);        segment[3].x2 = mx - fw/2 - 2; segment[3].y2 = y - (s - 2);        XDrawSegments(dpy, root, gc, segment, 4);        /* right arrow & end bar */        segment[0].x1 = x2 + 1;        segment[0].x2 = x2 + 1;        /* arrowhead */        segment[1].x1 = x2 - 6;        segment[1].x2 = x2;        segment[2].x1 = x2;        segment[2].x2 = x2 - 6;        /* line */        segment[3].x1 = mx + fw/2 + 2;        segment[3].x2 = x2;        XDrawSegments(dpy, root, gc, segment, 4);        /* Display the width. */        XDrawString(dpy, root, gc, mx - fw/2 + 1, y - s + scr->tech_draw_font->ascent - fh/2 + 1, num, strlen(num));    } else {        WSetGeometryViewShownSize(scr->gview,                                  (x2 - x1 - wwin->normal_hints->base_width)                                  / wwin->normal_hints->width_inc,                                  (by - ty - wwin->normal_hints->base_height)                                  / wwin->normal_hints->height_inc);    }}